]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/ModelTransferableGraphSource.java
Support tg discovery in export/import
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / util / ModelTransferableGraphSource.java
index 8602da82789d97de8830f1927dcd4b5d53c7295b..cbd3130eea6d737f2c431b685e47f6c306576399 100644 (file)
@@ -52,6 +52,7 @@ public class ModelTransferableGraphSource implements TransferableGraphSource {
 
        TIntArrayList externalParents = new TIntArrayList();
        ArrayList<String> externalNames = new ArrayList<String>();
+       TreeMap<String,String> downloads = new TreeMap<String,String>();
 
        public ModelTransferableGraphSource(final ReadGraph graph, TransferableGraphConfiguration2 configuration, final DomainProcessorState state, File ... fs) throws DatabaseException {
 
@@ -118,6 +119,8 @@ public class ModelTransferableGraphSource implements TransferableGraphSource {
                
                this.resourceCount = state.id;
                
+               state.extensions.put(ExternalDownloadBean.EXTENSION_KEY, new Variant(ExternalDownloadBean.BINDING, new ExternalDownloadBean(downloads)));
+               
        }
 
        int indent = 0;
@@ -200,6 +203,11 @@ public class ModelTransferableGraphSource implements TransferableGraphSource {
                        state.ids.put(r, state.id);
                        // Ensure that this resource is included into the set of externals to maintain the total number of externals 
                        state.externals.add(r);
+                       String download = graph.getPossibleRelatedValue(res, L0.Ontology_download, Bindings.STRING);
+                       if(download != null) {
+                               String uri = graph.getURI(res);
+                               downloads.put(uri, download);
+                       }
                        return state.id++;
                }
        }