]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/handler/Paster.java
Paster.getGraph() method for overriding classes.
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / handler / Paster.java
index 0f243db4816d72976fee02048a961531a21c6677..6672599073b1b18e717bd1f79c36f6e3ac0bdb78 100644 (file)
@@ -1,8 +1,6 @@
 package org.simantics.diagram.handler;
 
 import static org.simantics.diagram.handler.Paster.ComposedCutProcedure.compose;
-import gnu.trove.map.hash.THashMap;
-import gnu.trove.set.hash.THashSet;
 
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
@@ -14,6 +12,7 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Queue;
 import java.util.Set;
+import java.util.function.BiFunction;
 
 import org.simantics.databoard.Bindings;
 import org.simantics.db.ReadGraph;
@@ -62,9 +61,11 @@ import org.simantics.structural.stubs.StructuralResource2;
 import org.simantics.structural2.modelingRules.CPTerminal;
 import org.simantics.structural2.modelingRules.ConnectionJudgement;
 import org.simantics.structural2.modelingRules.IConnectionPoint;
-import org.simantics.utils.datastructures.BinaryFunction;
 import org.simantics.utils.datastructures.map.Tuple;
 
+import gnu.trove.map.hash.THashMap;
+import gnu.trove.set.hash.THashSet;
+
 /**
  * @author Tuukka Lehtonen
  */
@@ -273,7 +274,7 @@ public class Paster {
         return noParentElementReturnValue;
     }
 
-    private void cut() throws Exception {
+    protected void cut() throws Exception {
         final GraphLayerManager glm = targetContext.get(GraphSynchronizationHints.GRAPH_LAYER_MANAGER);
 
         final THashSet<Resource> cutElements = new THashSet<Resource>();
@@ -688,10 +689,10 @@ public class Paster {
      * Diagram mapping will have problems and potentially break the
      * configuration if the type is not the same as in the source.
      */
-    BinaryFunction<StatementEvaluation, ReadGraph, Statement> statementAdvisor =
-            new BinaryFunction<StatementEvaluation, ReadGraph, Statement>() {
+    BiFunction<ReadGraph, Statement, StatementEvaluation> statementAdvisor =
+            new BiFunction<ReadGraph, Statement, StatementEvaluation>() {
         @Override
-        public StatementEvaluation call(ReadGraph graph, Statement stm) {
+        public StatementEvaluation apply(ReadGraph graph, Statement stm) {
             if (DIA.HasFlagType.equals(stm.getPredicate()))
                 return StatementEvaluation.INCLUDE;
             return StatementEvaluation.USE_DEFAULT;
@@ -747,7 +748,7 @@ public class Paster {
         }
     };
 
-    private void copy() throws Exception {
+    protected void copy() throws Exception {
         nodeMap = new NodeMap();
         
         CommonDBUtils.selectClusterSet(graph, targetDiagram);
@@ -1359,5 +1360,12 @@ public class Paster {
     public NodeMap getNodeMap() {
         return nodeMap;
     }
-
+    
+    protected PasteOperation getOperation() {
+       return op;
+    }
+    
+    public WriteGraph getGraph() {
+               return graph;
+       }
 }