]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.mapping/src/org/simantics/mapping/MappingResource.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.mapping / src / org / simantics / mapping / MappingResource.java
diff --git a/bundles/org.simantics.mapping/src/org/simantics/mapping/MappingResource.java b/bundles/org.simantics.mapping/src/org/simantics/mapping/MappingResource.java
new file mode 100644 (file)
index 0000000..5fce340
--- /dev/null
@@ -0,0 +1,185 @@
+/*******************************************************************************\r
+ * Copyright (c) 2007- VTT Technical Research Centre of Finland.\r
+ * All rights reserved. This program and the accompanying materials\r
+ * are made available under the terms of the Eclipse Public License v1.0\r
+ * which accompanies this distribution, and is available at\r
+ * http://www.eclipse.org/legal/epl-v10.html\r
+ *\r
+ * Contributors:\r
+ *     VTT Technical Research Centre of Finland - initial API and implementation\r
+ *******************************************************************************/\r
+package org.simantics.mapping;\r
+\r
+\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.request.Read;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.exception.DatabaseException;\r
+\r
+public class MappingResource {\r
+    \r
+    public final Resource BinaryPredicateConstraint;\r
+    public final Resource ClaimRule;\r
+    public final Resource CompositeRule;\r
+    public final Resource Constraint;\r
+    public final Resource ConstraintConjunction;\r
+    public final Resource ConstraintDisjunction;\r
+    public final Resource ConstraintGroup;\r
+    public final Resource DenyRule;\r
+    public final Resource Domain;\r
+    public final Resource ExistsConstraint;\r
+    public final Resource HasBinaryPredicate;\r
+    public final Resource HasChildRule;\r
+    public final Resource HasCondition;\r
+    public final Resource HasConstraint;\r
+    public final Resource HasDomain;\r
+    public final Resource HasElseRule;\r
+    public final Resource HasMappingDescription;\r
+    public final Resource HasParameter;\r
+    public final Resource HasParameterRelation;\r
+    public final Resource HasPredicate;\r
+    public final Resource HasPredicateSuperrelation;\r
+    public final Resource HasPrimaryConstraintGroup;\r
+    public final Resource HasResource;\r
+    public final Resource HasRule;\r
+    public final Resource HasSubject;\r
+    public final Resource HasThenRule;\r
+    public final Resource HasUnaryPredicate;\r
+    public final Resource IfRule;\r
+    public final Resource Mapping;\r
+    public final Resource MappingDescription;\r
+    public final Resource MappingDomain;\r
+    public final Resource MappingParameter;\r
+    public final Resource MappingRule;\r
+    public final Resource ResourceVariable;\r
+    public final Resource Rule;\r
+    public final Resource SourceDomain;\r
+    public final Resource StaticDomain;\r
+    public final Resource TargetDomain;\r
+    public final Resource TripletConstraint;\r
+    public final Resource UnaryPredicateConstraint;\r
+    public final Resource UnlessRule;\r
+    \r
+    public static class URIs {\r
+        public static final String BinaryPredicateConstraint = "http://Projects/TypeSystemProject/MappingOntology/Constraints/BinaryPredicateConstraint";\r
+        public static final String ClaimRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/ClaimRule";\r
+        public static final String CompositeRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/CompositeRule";\r
+        public static final String Constraint = "http://Projects/TypeSystemProject/MappingOntology/Constraints/Constraint";\r
+        public static final String ConstraintConjunction = "http://Projects/TypeSystemProject/MappingOntology/Constraints/ConstraintConjunction";\r
+        public static final String ConstraintDisjunction = "http://Projects/TypeSystemProject/MappingOntology/Constraints/ConstraintDisjunction";\r
+        public static final String ConstraintGroup = "http://Projects/TypeSystemProject/MappingOntology/Mappings/ConstraintGroup";\r
+        public static final String DenyRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/DenyRule";\r
+        public static final String Domain = "http://Projects/TypeSystemProject/MappingOntology/Mappings/Domain";\r
+        public static final String ExistsConstraint = "http://Projects/TypeSystemProject/MappingOntology/Constraints/ExistsConstraint";\r
+        public static final String HasBinaryPredicate = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasBinaryPredicate";\r
+        public static final String HasChildRule = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasChildRule";\r
+        public static final String HasCondition = "http://Projects/TypeSystemProject/MappingOntology/Rules/HasCondition";\r
+        public static final String HasConstraint = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasConstraint";\r
+        public static final String HasDomain = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasDomain";\r
+        public static final String HasElseRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/HasElseRule";\r
+        public static final String HasMappingDescription = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasMappingDescription";\r
+        public static final String HasParameter = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasParameter";\r
+        public static final String HasParameterRelation = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasParameterRelation";\r
+        public static final String HasPredicate = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasPredicate";\r
+        public static final String HasPredicateSuperrelation = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasPredicateSuperrelation";\r
+        public static final String HasPrimaryConstraintGroup = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasPrimaryConstraintGroup";\r
+        public static final String HasResource = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasResource";\r
+        public static final String HasRule = "http://Projects/TypeSystemProject/MappingOntology/Mappings/HasRule";\r
+        public static final String HasSubject = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasSubject";\r
+        public static final String HasThenRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/HasThenRule";\r
+        public static final String HasUnaryPredicate = "http://Projects/TypeSystemProject/MappingOntology/Constraints/HasUnaryPredicate";\r
+        public static final String IfRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/IfRule";\r
+        public static final String Mapping = "http://Projects/TypeSystemProject/MappingOntology/Mappings/Mapping";\r
+        public static final String MappingDescription = "http://Projects/TypeSystemProject/MappingOntology/Mappings/MappingDescription";\r
+        public static final String MappingDomain = "http://Projects/TypeSystemProject/MappingOntology/Mappings/MappingDomain";\r
+        public static final String MappingParameter = "http://Projects/TypeSystemProject/MappingOntology/Mappings/MappingParameter";\r
+        public static final String MappingRule = "http://Projects/TypeSystemProject/MappingOntology/Mappings/MappingRule";\r
+        public static final String ResourceVariable = "http://Projects/TypeSystemProject/MappingOntology/Constraints/ResourceVariable";\r
+        public static final String Rule = "http://Projects/TypeSystemProject/MappingOntology/Rules/Rule";\r
+        public static final String SourceDomain = "http://Projects/TypeSystemProject/MappingOntology/Mappings/SourceDomain";\r
+        public static final String StaticDomain = "http://Projects/TypeSystemProject/MappingOntology/Mappings/StaticDomain";\r
+        public static final String TargetDomain = "http://Projects/TypeSystemProject/MappingOntology/Mappings/TargetDomain";\r
+        public static final String TripletConstraint = "http://Projects/TypeSystemProject/MappingOntology/Constraints/TripletConstraint";\r
+        public static final String UnaryPredicateConstraint = "http://Projects/TypeSystemProject/MappingOntology/Constraints/UnaryPredicateConstraint";\r
+        public static final String UnlessRule = "http://Projects/TypeSystemProject/MappingOntology/Rules/UnlessRule";\r
+    }\r
+    \r
+    public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
+        try {\r
+            return graph.getResource(uri);\r
+        } catch(DatabaseException e) {\r
+            System.err.println(e.getMessage());\r
+            return null;\r
+        }\r
+    }\r
+    \r
+    public MappingResource(ReadGraph graph) {\r
+        BinaryPredicateConstraint = getResourceOrNull(graph, URIs.BinaryPredicateConstraint);\r
+        ClaimRule = getResourceOrNull(graph, URIs.ClaimRule);\r
+        CompositeRule = getResourceOrNull(graph, URIs.CompositeRule);\r
+        Constraint = getResourceOrNull(graph, URIs.Constraint);\r
+        ConstraintConjunction = getResourceOrNull(graph, URIs.ConstraintConjunction);\r
+        ConstraintDisjunction = getResourceOrNull(graph, URIs.ConstraintDisjunction);\r
+        ConstraintGroup = getResourceOrNull(graph, URIs.ConstraintGroup);\r
+        DenyRule = getResourceOrNull(graph, URIs.DenyRule);\r
+        Domain = getResourceOrNull(graph, URIs.Domain);\r
+        ExistsConstraint = getResourceOrNull(graph, URIs.ExistsConstraint);\r
+        HasBinaryPredicate = getResourceOrNull(graph, URIs.HasBinaryPredicate);\r
+        HasChildRule = getResourceOrNull(graph, URIs.HasChildRule);\r
+        HasCondition = getResourceOrNull(graph, URIs.HasCondition);\r
+        HasConstraint = getResourceOrNull(graph, URIs.HasConstraint);\r
+        HasDomain = getResourceOrNull(graph, URIs.HasDomain);\r
+        HasElseRule = getResourceOrNull(graph, URIs.HasElseRule);\r
+        HasMappingDescription = getResourceOrNull(graph, URIs.HasMappingDescription);\r
+        HasParameter = getResourceOrNull(graph, URIs.HasParameter);\r
+        HasParameterRelation = getResourceOrNull(graph, URIs.HasParameterRelation);\r
+        HasPredicate = getResourceOrNull(graph, URIs.HasPredicate);\r
+        HasPredicateSuperrelation = getResourceOrNull(graph, URIs.HasPredicateSuperrelation);\r
+        HasPrimaryConstraintGroup = getResourceOrNull(graph, URIs.HasPrimaryConstraintGroup);\r
+        HasResource = getResourceOrNull(graph, URIs.HasResource);\r
+        HasRule = getResourceOrNull(graph, URIs.HasRule);\r
+        HasSubject = getResourceOrNull(graph, URIs.HasSubject);\r
+        HasThenRule = getResourceOrNull(graph, URIs.HasThenRule);\r
+        HasUnaryPredicate = getResourceOrNull(graph, URIs.HasUnaryPredicate);\r
+        IfRule = getResourceOrNull(graph, URIs.IfRule);\r
+        Mapping = getResourceOrNull(graph, URIs.Mapping);\r
+        MappingDescription = getResourceOrNull(graph, URIs.MappingDescription);\r
+        MappingDomain = getResourceOrNull(graph, URIs.MappingDomain);\r
+        MappingParameter = getResourceOrNull(graph, URIs.MappingParameter);\r
+        MappingRule = getResourceOrNull(graph, URIs.MappingRule);\r
+        ResourceVariable = getResourceOrNull(graph, URIs.ResourceVariable);\r
+        Rule = getResourceOrNull(graph, URIs.Rule);\r
+        SourceDomain = getResourceOrNull(graph, URIs.SourceDomain);\r
+        StaticDomain = getResourceOrNull(graph, URIs.StaticDomain);\r
+        TargetDomain = getResourceOrNull(graph, URIs.TargetDomain);\r
+        TripletConstraint = getResourceOrNull(graph, URIs.TripletConstraint);\r
+        UnaryPredicateConstraint = getResourceOrNull(graph, URIs.UnaryPredicateConstraint);\r
+        UnlessRule = getResourceOrNull(graph, URIs.UnlessRule);\r
+    }\r
+    \r
+    public static MappingResource getInstance(ReadGraph graph) {\r
+        Session session = graph.getSession();\r
+        MappingResource ret = session.getService(MappingResource.class);\r
+        if(ret == null) {\r
+            ret = new MappingResource(graph);\r
+            session.registerService(MappingResource.class, ret);\r
+        }\r
+        return ret;\r
+    }\r
+    \r
+    public static MappingResource getInstance(Session session) throws DatabaseException {\r
+        MappingResource ret = session.getService(MappingResource.class);\r
+        if(ret == null) {\r
+            ret = session.syncRequest(new Read<MappingResource>() {\r
+                public MappingResource perform(ReadGraph graph) throws DatabaseException {\r
+                    return new MappingResource(graph);\r
+                }\r
+            });\r
+            session.registerService(MappingResource.class, ret);\r
+        }\r
+        return ret;\r
+    }\r
+    \r
+}\r
+\r