-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\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.equation.stubs;\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 EquationResource {\r
- \r
- public final Resource Addition;\r
- public final Resource AggregateExpression;\r
- public final Resource Assign;\r
- public final Resource Division;\r
- public final Resource DoubleAssign;\r
- public final Resource DoubleToIntegerAssign;\r
- public final Resource Element;\r
- public final Resource ElementExpression;\r
- public final Resource Equation;\r
- public final Resource Expression;\r
- public final Resource HasA;\r
- public final Resource HasB;\r
- public final Resource HasC;\r
- public final Resource HasCoefficient;\r
- public final Resource HasElementList;\r
- public final Resource HasSource;\r
- public final Resource HasTarget;\r
- public final Resource HasVariable;\r
- public final Resource IntegerAssign;\r
- public final Resource Multiplication;\r
- public final Resource Number;\r
- public final Resource Operator;\r
- public final Resource ProductExpression;\r
- public final Resource ScalarPolynomial;\r
- public final Resource SecondOrderScalarPolynomial;\r
- public final Resource Subtraction;\r
- public final Resource SumExpression;\r
- public final Resource SystemOfEquations;\r
- public final Resource SystemOfExpressions;\r
- \r
- public static class URIs {\r
- public static final String Addition = "http://www.simantics.org/Equation-1.0/Types/Addition";\r
- public static final String AggregateExpression = "http://www.simantics.org/Equation-1.0/Types/AggregateExpression";\r
- public static final String Assign = "http://www.simantics.org/Equation-1.0/Types/Assign";\r
- public static final String Division = "http://www.simantics.org/Equation-1.0/Types/Division";\r
- public static final String DoubleAssign = "http://www.simantics.org/Equation-1.0/Types/DoubleAssign";\r
- public static final String DoubleToIntegerAssign = "http://www.simantics.org/Equation-1.0/Types/DoubleToIntegerAssign";\r
- public static final String Element = "http://www.simantics.org/Equation-1.0/Types/Element";\r
- public static final String ElementExpression = "http://www.simantics.org/Equation-1.0/Types/ElementExpression";\r
- public static final String Equation = "http://www.simantics.org/Equation-1.0/Types/Equation";\r
- public static final String Expression = "http://www.simantics.org/Equation-1.0/Types/Expression";\r
- public static final String HasA = "http://www.simantics.org/Equation-1.0/Relations/HasA";\r
- public static final String HasB = "http://www.simantics.org/Equation-1.0/Relations/HasB";\r
- public static final String HasC = "http://www.simantics.org/Equation-1.0/Relations/HasC";\r
- public static final String HasCoefficient = "http://www.simantics.org/Equation-1.0/Relations/HasCoefficient";\r
- public static final String HasElementList = "http://www.simantics.org/Equation-1.0/Relations/HasElementList";\r
- public static final String HasSource = "http://www.simantics.org/Equation-1.0/Relations/HasSource";\r
- public static final String HasTarget = "http://www.simantics.org/Equation-1.0/Relations/HasTarget";\r
- public static final String HasVariable = "http://www.simantics.org/Equation-1.0/Relations/HasVariable";\r
- public static final String IntegerAssign = "http://www.simantics.org/Equation-1.0/Types/IntegerAssign";\r
- public static final String Multiplication = "http://www.simantics.org/Equation-1.0/Types/Multiplication";\r
- public static final String Number = "http://www.simantics.org/Equation-1.0/Types/Number";\r
- public static final String Operator = "http://www.simantics.org/Equation-1.0/Types/Operator";\r
- public static final String ProductExpression = "http://www.simantics.org/Equation-1.0/Types/ProductExpression";\r
- public static final String ScalarPolynomial = "http://www.simantics.org/Equation-1.0/Types/ScalarPolynomial";\r
- public static final String SecondOrderScalarPolynomial = "http://www.simantics.org/Equation-1.0/Types/SecondOrderScalarPolynomial";\r
- public static final String Subtraction = "http://www.simantics.org/Equation-1.0/Types/Subtraction";\r
- public static final String SumExpression = "http://www.simantics.org/Equation-1.0/Types/SumExpression";\r
- public static final String SystemOfEquations = "http://www.simantics.org/Equation-1.0/Types/SystemOfEquations";\r
- public static final String SystemOfExpressions = "http://www.simantics.org/Equation-1.0/Types/SystemOfExpressions";\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 EquationResource(ReadGraph graph) {\r
- Addition = getResourceOrNull(graph, URIs.Addition);\r
- AggregateExpression = getResourceOrNull(graph, URIs.AggregateExpression);\r
- Assign = getResourceOrNull(graph, URIs.Assign);\r
- Division = getResourceOrNull(graph, URIs.Division);\r
- DoubleAssign = getResourceOrNull(graph, URIs.DoubleAssign);\r
- DoubleToIntegerAssign = getResourceOrNull(graph, URIs.DoubleToIntegerAssign);\r
- Element = getResourceOrNull(graph, URIs.Element);\r
- ElementExpression = getResourceOrNull(graph, URIs.ElementExpression);\r
- Equation = getResourceOrNull(graph, URIs.Equation);\r
- Expression = getResourceOrNull(graph, URIs.Expression);\r
- HasA = getResourceOrNull(graph, URIs.HasA);\r
- HasB = getResourceOrNull(graph, URIs.HasB);\r
- HasC = getResourceOrNull(graph, URIs.HasC);\r
- HasCoefficient = getResourceOrNull(graph, URIs.HasCoefficient);\r
- HasElementList = getResourceOrNull(graph, URIs.HasElementList);\r
- HasSource = getResourceOrNull(graph, URIs.HasSource);\r
- HasTarget = getResourceOrNull(graph, URIs.HasTarget);\r
- HasVariable = getResourceOrNull(graph, URIs.HasVariable);\r
- IntegerAssign = getResourceOrNull(graph, URIs.IntegerAssign);\r
- Multiplication = getResourceOrNull(graph, URIs.Multiplication);\r
- Number = getResourceOrNull(graph, URIs.Number);\r
- Operator = getResourceOrNull(graph, URIs.Operator);\r
- ProductExpression = getResourceOrNull(graph, URIs.ProductExpression);\r
- ScalarPolynomial = getResourceOrNull(graph, URIs.ScalarPolynomial);\r
- SecondOrderScalarPolynomial = getResourceOrNull(graph, URIs.SecondOrderScalarPolynomial);\r
- Subtraction = getResourceOrNull(graph, URIs.Subtraction);\r
- SumExpression = getResourceOrNull(graph, URIs.SumExpression);\r
- SystemOfEquations = getResourceOrNull(graph, URIs.SystemOfEquations);\r
- SystemOfExpressions = getResourceOrNull(graph, URIs.SystemOfExpressions);\r
- }\r
- \r
- public static EquationResource getInstance(ReadGraph graph) {\r
- Session session = graph.getSession();\r
- EquationResource ret = session.peekService(EquationResource.class);\r
- if(ret == null) {\r
- ret = new EquationResource(graph);\r
- session.registerService(EquationResource.class, ret);\r
- }\r
- return ret;\r
- }\r
- \r
- public static EquationResource getInstance(Session session) throws DatabaseException {\r
- EquationResource ret = session.peekService(EquationResource.class);\r
- if(ret == null) {\r
- ret = session.syncRequest(new Read<EquationResource>() {\r
- public EquationResource perform(ReadGraph graph) throws DatabaseException {\r
- return new EquationResource(graph);\r
- }\r
- });\r
- session.registerService(EquationResource.class, ret);\r
- }\r
- return ret;\r
- }\r
- \r
-}\r
-\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.equation.stubs;
+
+
+import org.simantics.db.Resource;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.request.Read;
+import org.simantics.db.Session;
+import org.simantics.db.exception.DatabaseException;
+
+public class EquationResource {
+
+ public final Resource Addition;
+ public final Resource AggregateExpression;
+ public final Resource Assign;
+ public final Resource Division;
+ public final Resource DoubleAssign;
+ public final Resource DoubleToIntegerAssign;
+ public final Resource Element;
+ public final Resource ElementExpression;
+ public final Resource Equation;
+ public final Resource Expression;
+ public final Resource HasA;
+ public final Resource HasB;
+ public final Resource HasC;
+ public final Resource HasCoefficient;
+ public final Resource HasElementList;
+ public final Resource HasSource;
+ public final Resource HasTarget;
+ public final Resource HasVariable;
+ public final Resource IntegerAssign;
+ public final Resource Multiplication;
+ public final Resource Number;
+ public final Resource Operator;
+ public final Resource ProductExpression;
+ public final Resource ScalarPolynomial;
+ public final Resource SecondOrderScalarPolynomial;
+ public final Resource Subtraction;
+ public final Resource SumExpression;
+ public final Resource SystemOfEquations;
+ public final Resource SystemOfExpressions;
+
+ public static class URIs {
+ public static final String Addition = "http://www.simantics.org/Equation-1.0/Types/Addition";
+ public static final String AggregateExpression = "http://www.simantics.org/Equation-1.0/Types/AggregateExpression";
+ public static final String Assign = "http://www.simantics.org/Equation-1.0/Types/Assign";
+ public static final String Division = "http://www.simantics.org/Equation-1.0/Types/Division";
+ public static final String DoubleAssign = "http://www.simantics.org/Equation-1.0/Types/DoubleAssign";
+ public static final String DoubleToIntegerAssign = "http://www.simantics.org/Equation-1.0/Types/DoubleToIntegerAssign";
+ public static final String Element = "http://www.simantics.org/Equation-1.0/Types/Element";
+ public static final String ElementExpression = "http://www.simantics.org/Equation-1.0/Types/ElementExpression";
+ public static final String Equation = "http://www.simantics.org/Equation-1.0/Types/Equation";
+ public static final String Expression = "http://www.simantics.org/Equation-1.0/Types/Expression";
+ public static final String HasA = "http://www.simantics.org/Equation-1.0/Relations/HasA";
+ public static final String HasB = "http://www.simantics.org/Equation-1.0/Relations/HasB";
+ public static final String HasC = "http://www.simantics.org/Equation-1.0/Relations/HasC";
+ public static final String HasCoefficient = "http://www.simantics.org/Equation-1.0/Relations/HasCoefficient";
+ public static final String HasElementList = "http://www.simantics.org/Equation-1.0/Relations/HasElementList";
+ public static final String HasSource = "http://www.simantics.org/Equation-1.0/Relations/HasSource";
+ public static final String HasTarget = "http://www.simantics.org/Equation-1.0/Relations/HasTarget";
+ public static final String HasVariable = "http://www.simantics.org/Equation-1.0/Relations/HasVariable";
+ public static final String IntegerAssign = "http://www.simantics.org/Equation-1.0/Types/IntegerAssign";
+ public static final String Multiplication = "http://www.simantics.org/Equation-1.0/Types/Multiplication";
+ public static final String Number = "http://www.simantics.org/Equation-1.0/Types/Number";
+ public static final String Operator = "http://www.simantics.org/Equation-1.0/Types/Operator";
+ public static final String ProductExpression = "http://www.simantics.org/Equation-1.0/Types/ProductExpression";
+ public static final String ScalarPolynomial = "http://www.simantics.org/Equation-1.0/Types/ScalarPolynomial";
+ public static final String SecondOrderScalarPolynomial = "http://www.simantics.org/Equation-1.0/Types/SecondOrderScalarPolynomial";
+ public static final String Subtraction = "http://www.simantics.org/Equation-1.0/Types/Subtraction";
+ public static final String SumExpression = "http://www.simantics.org/Equation-1.0/Types/SumExpression";
+ public static final String SystemOfEquations = "http://www.simantics.org/Equation-1.0/Types/SystemOfEquations";
+ public static final String SystemOfExpressions = "http://www.simantics.org/Equation-1.0/Types/SystemOfExpressions";
+ }
+
+ public static Resource getResourceOrNull(ReadGraph graph, String uri) {
+ try {
+ return graph.getResource(uri);
+ } catch(DatabaseException e) {
+ System.err.println(e.getMessage());
+ return null;
+ }
+ }
+
+ public EquationResource(ReadGraph graph) {
+ Addition = getResourceOrNull(graph, URIs.Addition);
+ AggregateExpression = getResourceOrNull(graph, URIs.AggregateExpression);
+ Assign = getResourceOrNull(graph, URIs.Assign);
+ Division = getResourceOrNull(graph, URIs.Division);
+ DoubleAssign = getResourceOrNull(graph, URIs.DoubleAssign);
+ DoubleToIntegerAssign = getResourceOrNull(graph, URIs.DoubleToIntegerAssign);
+ Element = getResourceOrNull(graph, URIs.Element);
+ ElementExpression = getResourceOrNull(graph, URIs.ElementExpression);
+ Equation = getResourceOrNull(graph, URIs.Equation);
+ Expression = getResourceOrNull(graph, URIs.Expression);
+ HasA = getResourceOrNull(graph, URIs.HasA);
+ HasB = getResourceOrNull(graph, URIs.HasB);
+ HasC = getResourceOrNull(graph, URIs.HasC);
+ HasCoefficient = getResourceOrNull(graph, URIs.HasCoefficient);
+ HasElementList = getResourceOrNull(graph, URIs.HasElementList);
+ HasSource = getResourceOrNull(graph, URIs.HasSource);
+ HasTarget = getResourceOrNull(graph, URIs.HasTarget);
+ HasVariable = getResourceOrNull(graph, URIs.HasVariable);
+ IntegerAssign = getResourceOrNull(graph, URIs.IntegerAssign);
+ Multiplication = getResourceOrNull(graph, URIs.Multiplication);
+ Number = getResourceOrNull(graph, URIs.Number);
+ Operator = getResourceOrNull(graph, URIs.Operator);
+ ProductExpression = getResourceOrNull(graph, URIs.ProductExpression);
+ ScalarPolynomial = getResourceOrNull(graph, URIs.ScalarPolynomial);
+ SecondOrderScalarPolynomial = getResourceOrNull(graph, URIs.SecondOrderScalarPolynomial);
+ Subtraction = getResourceOrNull(graph, URIs.Subtraction);
+ SumExpression = getResourceOrNull(graph, URIs.SumExpression);
+ SystemOfEquations = getResourceOrNull(graph, URIs.SystemOfEquations);
+ SystemOfExpressions = getResourceOrNull(graph, URIs.SystemOfExpressions);
+ }
+
+ public static EquationResource getInstance(ReadGraph graph) {
+ Session session = graph.getSession();
+ EquationResource ret = session.peekService(EquationResource.class);
+ if(ret == null) {
+ ret = new EquationResource(graph);
+ session.registerService(EquationResource.class, ret);
+ }
+ return ret;
+ }
+
+ public static EquationResource getInstance(Session session) throws DatabaseException {
+ EquationResource ret = session.peekService(EquationResource.class);
+ if(ret == null) {
+ ret = session.syncRequest(new Read<EquationResource>() {
+ public EquationResource perform(ReadGraph graph) throws DatabaseException {
+ return new EquationResource(graph);
+ }
+ });
+ session.registerService(EquationResource.class, ret);
+ }
+ return ret;
+ }
+
+}
+