import org.simantics.db.exception.DatabaseException;
import org.simantics.db.request.Read;
import org.simantics.g3d.scenegraph.GeometryProvider;
+import org.simantics.g3d.scenegraph.base.INode;
import org.simantics.objmap.graph.schema.IMappingSchema;
import org.simantics.objmap.graph.schema.MappingSchemas;
import org.simantics.objmap.graph.schema.SimpleSchema;
import org.simantics.plant3d.ontology.Plant3D;
public class SchemaBuilder {
- public static IMappingSchema<Resource,Object> getSchema() throws DatabaseException{
- return Simantics.getSession().syncRequest(new Read<IMappingSchema<Resource,Object>>() {
+ public static IMappingSchema<Resource,INode> getSchema() throws DatabaseException{
+ return Simantics.getSession().syncRequest(new Read<IMappingSchema<Resource,INode>>() {
@Override
- public IMappingSchema<Resource,Object> perform(ReadGraph g)
+ public IMappingSchema<Resource,INode> perform(ReadGraph g)
throws DatabaseException {
return getSchema(g);
}
});
}
- public static IMappingSchema<Resource,Object> getSchema(ReadGraph g) throws DatabaseException{
+ @SuppressWarnings("unchecked")
+ public static IMappingSchema<Resource,INode> getSchema(ReadGraph g) throws DatabaseException{
try {
SimpleSchema schema = new SimpleSchema();
schema.addLinkType(MappingSchemas.fromAnnotations(g, Equipment.class));
schema.addLinkType(MappingSchemas.fromAnnotations(g, PipeRun.class));
schema.addLinkType(MappingSchemas.fromAdaptable(g, Plant3D.URIs.GeometryProvider, GeometryProvider.class));
- return schema;
+ return (IMappingSchema<Resource, INode>)(IMappingSchema<Resource, ?>)schema;
} catch (IllegalAccessException e) {
throw new DatabaseException(e);
} catch (InstantiationException e) {