package org.simantics.document.server.request;
+import java.util.Collections;
import java.util.Map;
import org.simantics.databoard.Bindings;
Resource type = graph.syncRequest(new FindPossibleComponentTypeRequest(represents));
if(type != null) {
Resource root = graph.syncRequest(new IndexRoot(type));
+ //System.err.println("getComponentTypeAndRoot1 " + property.getURI(graph) + " => " + graph.getPossibleURI(type) + " " + graph.getPossibleURI(root));
return Pair.make(type, root);
}
}
parent = parent.getParent(graph);
represents = parent.getPossibleRepresents(graph);
}
- Resource root = graph.syncRequest(new IndexRoot(property.getRepresents(graph)));
- return Pair.make(parent.getType(graph), root);
+// Resource root = graph.syncRequest(new IndexRoot(property.getRepresents(graph)));
+ Resource componentType = parent.getType(graph);
+ Resource root = graph.syncRequest(new IndexRoot(parent.getRepresents(graph)));
+ //System.err.println("getComponentTypeAndRoot2 " + property.getURI(graph) + " => " + graph.getPossibleURI(componentType) + " " + graph.getPossibleURI(root));
+ return Pair.make(componentType, root);
}
private static Pair<Resource,Resource> getComponentTypeAndRoot(ReadGraph graph, Resource component) throws DatabaseException {
Resource type = graph.syncRequest(new FindPossibleComponentTypeRequest(component));
if(type != null) {
Resource root = graph.syncRequest(new IndexRoot(type));
+ // System.err.println("getComponentTypeAndRoot3 " + graph.getPossibleURI(component) + " => " + graph.getPossibleURI(type) + " " + graph.getPossibleURI(root));
return Pair.make(type, root);
} else {
Resource doc = graph.syncRequest(new PossibleTypedParent(component, DocumentationResource.getInstance(graph).Document));
- Resource root = graph.syncRequest(new IndexRoot(component));
- return Pair.make(graph.getSingleType(doc), root);
+ if(doc != null) {
+ Resource componentType = graph.getSingleType(doc);
+ Resource root = graph.syncRequest(new IndexRoot(doc));
+ return Pair.make(componentType, root);
+ } else {
+ System.err.println("component = " + component);
+ Resource root = graph.syncRequest(new IndexRoot(component));
+// Resource componentType = graph.getSingleType(doc);
+ return Pair.make(null, root);
+ }
}
}
throw new IllegalStateException();
public CompilationContext perform(ReadGraph graph)
throws DatabaseException {
RuntimeEnvironment runtimeEnvironment = graph.syncRequest(getRuntimeEnvironmentRequest(parameter.first, parameter.second));
- Map<String, ComponentTypeProperty> propertyMap =
- graph.syncRequest(new ReadComponentTypeInterfaceRequest(parameter.first, runtimeEnvironment.getEnvironment()),
- TransientCacheListener.<Map<String, ComponentTypeProperty>>instance());
- return new CompilationContext(runtimeEnvironment, propertyMap);
+ if(parameter.first != null) {
+ Map<String, ComponentTypeProperty> propertyMap =
+ graph.syncRequest(new ReadComponentTypeInterfaceRequest(parameter.first, runtimeEnvironment.getEnvironment()),
+ TransientCacheListener.<Map<String, ComponentTypeProperty>>instance());
+ return new CompilationContext(runtimeEnvironment, propertyMap);
+ } else {
+ return new CompilationContext(runtimeEnvironment, Collections.emptyMap());
+ }
}
});
}