import org.simantics.plant3d.utils.Item.Type;
public class P3DUtil {
+
+ public static List<Item> getEquipments() throws DatabaseException {
+ return getEquipments(Plant3D.URIs.Builtin);
+ }
- public static List<Item> getEquipments() throws DatabaseException {
+ public static List<Item> getEquipments(final String libUri) throws DatabaseException {
return Simantics.getSession().syncRequest(new Read<List<Item>>() {
@Override
public List<Item> perform(ReadGraph graph) throws DatabaseException {
Plant3D p3d = Plant3D.getInstance(graph);
Resource project = Simantics.getProject().get();
- Resource builtins = graph.getResource(Plant3D.URIs.Builtin);
+ Resource builtins = graph.getResource(libUri);
List<Item> actions = getItems(graph, project,p3d.Equipment);
actions.addAll(getItems(graph, builtins,p3d.Equipment));
return actions;
@Override
public List<Item> perform(ReadGraph graph) throws DatabaseException {
Plant3D p3d = Plant3D.getInstance(graph);
- ItemQuery query = new ItemQuery(p3d.Nozzle);
+ ItemQuery query = new ItemQuery(p3d.Nozzle, Plant3D.URIs.Builtin);
return graph.syncRequest(query);
}
});
}
- private static class ItemQuery implements Read<List<Item>> {
+ public static class ItemQuery implements Read<List<Item>> {
private Resource type;
- public ItemQuery(Resource type) {
+ private String libUri;
+ public ItemQuery(Resource type, String libUri) {
this.type = type;
+ this.libUri = libUri;
}
@Override
public List<Item> perform(ReadGraph graph) throws DatabaseException {
Resource project = Simantics.getProject().get();
- Resource builtins = graph.getResource(Plant3D.URIs.Builtin);
+ Resource builtins = graph.getResource(libUri);
List<Item> actions = getItems(graph, project,type);
actions.addAll(getItems(graph, builtins,type));
return actions;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj.getClass() != this.getClass())
+ return false;
+ ItemQuery other = (ItemQuery)obj;
+ if (!type.equals(other.type))
+ return false;
+ return libUri.equals(other.libUri);
+ }
+
+ @Override
+ public int hashCode() {
+ return type.hashCode() + libUri.hashCode();
+ }
}
public static List<Item> getEnds() throws DatabaseException {
@Override
public List<Item> perform(ReadGraph graph) throws DatabaseException {
Plant3D p3d = Plant3D.getInstance(graph);
- ItemQuery query = new ItemQuery(p3d.EndComponent);
+ ItemQuery query = new ItemQuery(p3d.EndComponent, Plant3D.URIs.Builtin);
return graph.syncRequest(query);
}
});
@Override
public List<Item> perform(ReadGraph graph) throws DatabaseException {
Plant3D p3d = Plant3D.getInstance(graph);
- ItemQuery query = new ItemQuery(p3d.TurnComponent);
+ ItemQuery query = new ItemQuery(p3d.TurnComponent, Plant3D.URIs.Builtin);
return graph.syncRequest(query);
}
});
@Override
public List<Item> perform(ReadGraph graph) throws DatabaseException {
Plant3D p3d = Plant3D.getInstance(graph);
- ItemQuery query = new ItemQuery(p3d.InlineComponent);
+ ItemQuery query = new ItemQuery(p3d.InlineComponent, Plant3D.URIs.Builtin);
return graph.syncRequest(query);
}
});