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 {
this.resourceCount = state.id;
+ state.extensions.put(ExternalDownloadBean.EXTENSION_KEY, new Variant(ExternalDownloadBean.BINDING, new ExternalDownloadBean(downloads)));
+
}
int indent = 0;
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++;
}
}
// Declare internal and external roots
for(RootSpec r : configuration.roots) {
- Resource type = graph.getPossibleType(r.resource, L0.Entity);
- if(type == null) type = L0.Entity;
+ String typeId = r.type;
+ if (typeId == null) {
+ Resource type = graph.getPossibleType(r.resource, L0.Entity);
+ typeId = type != null ? graph.getURI(type) : Layer0.URIs.Entity;
+ }
procedure.execute(new Identity(
state.ids.get(support.getTransientId(r.resource)),
- new Root(r.name, graph.getURI(type))));
+ new Root(r.name, typeId)));
}
for(int i = 0; i < state.externals.size() ; i++) {