import org.simantics.Simantics;
import org.simantics.db.ReadGraph;
+import org.simantics.db.RequestProcessor;
import org.simantics.db.Resource;
import org.simantics.db.common.request.ReadRequest;
import org.simantics.db.common.utils.NameUtils;
import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint;
import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.Direction;
import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.PositionType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.simantics.plant3d.scenegraph.controlpoint.PipingRules;
public class ComponentUtils {
+ private final static Logger LOGGER = LoggerFactory.getLogger(ComponentUtils.class);
private static Map<String,Class<? extends PipelineComponent>> clazzes = new HashMap<String, Class<? extends PipelineComponent>>();
private static Map<String,GeometryProvider> providers = new HashMap<String,GeometryProvider>();
private static Map<String,String> names = new HashMap<String,String>();
- public static void preloadCache() {
- Simantics.getSession().asyncRequest(new ReadRequest() {
-
- @Override
- public void run(ReadGraph graph) throws DatabaseException {
- List<String> types = new ArrayList<String>();
- types.add(Plant3D.URIs.Builtin_Straight);
- types.add(Plant3D.URIs.Builtin_Elbow);
- types.add(Plant3D.URIs.Builtin_ConcentricReducer);
- types.add(Plant3D.URIs.Builtin_BranchSplitComponent);
- types.add(Plant3D.URIs.Builtin_EccentricReducer);
- types.add(Plant3D.URIs.Builtin_Elbow45);
- types.add(Plant3D.URIs.Builtin_Elbow90);
+ public static void preloadCache(RequestProcessor session) {
+ try {
+ session.syncRequest(new ReadRequest() {
- for (String typeURI : types) {
- load(graph, typeURI);
+ @Override
+ public void run(ReadGraph graph) throws DatabaseException {
+ List<String> types = new ArrayList<String>();
+ types.add(Plant3D.URIs.Builtin_Straight);
+ types.add(Plant3D.URIs.Builtin_Elbow);
+ types.add(Plant3D.URIs.Builtin_ConcentricReducer);
+ types.add(Plant3D.URIs.Builtin_BranchSplitComponent);
+ types.add(Plant3D.URIs.Builtin_EccentricReducer);
+ types.add(Plant3D.URIs.Builtin_Elbow45);
+ types.add(Plant3D.URIs.Builtin_Elbow90);
+
+ for (String typeURI : types) {
+ load(graph, typeURI);
+ }
}
- }
- });
+ });
+ } catch (DatabaseException e) {
+ LOGGER.error("ComponentUtils.preloadCache() failed unexpectedly", e);
+ }
}
private static GeometryProvider getProvider(ReadGraph graph, Resource type) throws DatabaseException {