-/*******************************************************************************\r
- * Copyright (c) 2007, 2011 Association for Decentralized Information Management in\r
- * 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.modeling.subscription;\r
-\r
-import java.util.UUID;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.Databoard;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.type.Datatype;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.CommentMetadata;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.RVI;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.modeling.ModelingResources;\r
-\r
-/**\r
- * Request to create new subscription item\r
- * \r
- * @author toni.kalajainen\r
- */\r
-public class NewSubscriptionItem extends WriteRequest {\r
- \r
- Resource subscription;\r
- Double interval, deadband, gain, bias;\r
- String unit, label;\r
- RVI variableId;\r
- Datatype datatype;\r
- public Resource subscriptionItem;\r
- \r
- public NewSubscriptionItem(Resource subscription, Double interval,\r
- Double deadband, Double gain, Double bias, String unit,\r
- String label, RVI variableId, Datatype datatype) {\r
- super();\r
- this.subscription = subscription;\r
- this.interval = interval;\r
- this.deadband = deadband;\r
- this.gain = gain;\r
- this.bias = bias;\r
- this.unit = unit;\r
- this.label = label;\r
- this.variableId = variableId;\r
- this.datatype = datatype;\r
- }\r
-\r
- @Override\r
- public void perform(WriteGraph graph) throws DatabaseException \r
- {\r
- ModelingResources mr = ModelingResources.getInstance(graph);\r
- Layer0 l0 = Layer0.getInstance(graph);\r
- subscriptionItem = graph.newResource();\r
- graph.claim(subscriptionItem, l0.InstanceOf, null, mr.Subscription_Item);\r
- graph.claim(subscription, l0.ConsistsOf, subscriptionItem);\r
- graph.claimLiteral(subscriptionItem, l0.HasName, UUID.randomUUID().toString(), Bindings.STRING);\r
- graph.claimLiteral(subscriptionItem, l0.HasLabel, label, Bindings.STRING);\r
-\r
- if (datatype != null)\r
- graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Datatype,\r
- l0.DataType, datatype,\r
- Bindings.getBindingUnchecked(Datatype.class));\r
- \r
- if (interval!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_SamplingInterval, interval, Bindings.DOUBLE);\r
- if (deadband!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Deadband, deadband, Bindings.DOUBLE);\r
- if (unit!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Unit, unit, Bindings.STRING);\r
- if (gain!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Gain, gain, Bindings.DOUBLE);\r
- if (bias!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Bias, bias, Bindings.DOUBLE);\r
- \r
- Binding rviBinding = graph.getService(Databoard.class).getBindingUnchecked( RVI.class ); \r
- graph.claimLiteral(subscriptionItem, mr.Subscription_Item_VariableId, l0.RVI, variableId, rviBinding);\r
- \r
- CommentMetadata cm = graph.getMetadata(CommentMetadata.class);\r
- graph.addMetadata(cm.add("Added new subscription " + label + " " + subscriptionItem + " "));\r
- }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2011 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.modeling.subscription;
+
+import java.util.UUID;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.Databoard;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.type.Datatype;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.CommentMetadata;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.RVI;
+import org.simantics.layer0.Layer0;
+import org.simantics.modeling.ModelingResources;
+
+/**
+ * Request to create new subscription item
+ *
+ * @author toni.kalajainen
+ */
+public class NewSubscriptionItem extends WriteRequest {
+
+ Resource subscription;
+ Double interval, deadband, gain, bias;
+ String unit, label;
+ RVI variableId;
+ Datatype datatype;
+ public Resource subscriptionItem;
+
+ public NewSubscriptionItem(Resource subscription, Double interval,
+ Double deadband, Double gain, Double bias, String unit,
+ String label, RVI variableId, Datatype datatype) {
+ super();
+ this.subscription = subscription;
+ this.interval = interval;
+ this.deadband = deadband;
+ this.gain = gain;
+ this.bias = bias;
+ this.unit = unit;
+ this.label = label;
+ this.variableId = variableId;
+ this.datatype = datatype;
+ }
+
+ @Override
+ public void perform(WriteGraph graph) throws DatabaseException
+ {
+ ModelingResources mr = ModelingResources.getInstance(graph);
+ Layer0 l0 = Layer0.getInstance(graph);
+ subscriptionItem = graph.newResource();
+ graph.claim(subscriptionItem, l0.InstanceOf, null, mr.Subscription_Item);
+ graph.claim(subscription, l0.ConsistsOf, subscriptionItem);
+ graph.claimLiteral(subscriptionItem, l0.HasName, UUID.randomUUID().toString(), Bindings.STRING);
+ graph.claimLiteral(subscriptionItem, l0.HasLabel, label, Bindings.STRING);
+
+ if (datatype != null)
+ graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Datatype,
+ l0.DataType, datatype,
+ Bindings.getBindingUnchecked(Datatype.class));
+
+ if (interval!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_SamplingInterval, interval, Bindings.DOUBLE);
+ if (deadband!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Deadband, deadband, Bindings.DOUBLE);
+ if (unit!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Unit, unit, Bindings.STRING);
+ if (gain!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Gain, gain, Bindings.DOUBLE);
+ if (bias!=null) graph.claimLiteral(subscriptionItem, mr.Subscription_Item_Bias, bias, Bindings.DOUBLE);
+
+ Binding rviBinding = graph.getService(Databoard.class).getBindingUnchecked( RVI.class );
+ graph.claimLiteral(subscriptionItem, mr.Subscription_Item_VariableId, l0.RVI, variableId, rviBinding);
+
+ CommentMetadata cm = graph.getMetadata(CommentMetadata.class);
+ graph.addMetadata(cm.add("Added new subscription " + label + " " + subscriptionItem + " "));
+ }
+
+}