import org.simantics.db.common.utils.OrderedSetUtils;\r
import org.simantics.db.exception.DatabaseException;\r
import org.simantics.db.exception.ServiceException;\r
+import org.simantics.db.function.DbBiFunction;\r
import org.simantics.db.function.DbConsumer;\r
import org.simantics.db.layer0.util.RemoverUtil;\r
import org.simantics.db.layer0.variable.Variable;\r
return count;\r
}\r
\r
+ public static int forCounterparts(ReadGraph graph, Resource flag, DbBiFunction<Resource, Resource, Boolean> procedure) throws DatabaseException {\r
+ DiagramResource DIA = DiagramResource.getInstance(graph);\r
+ int count = 0;\r
+ for (Resource connectionJoin : graph.getObjects(flag, DIA.FlagIsJoinedBy)) {\r
+ for (Resource otherFlag : graph.getObjects(connectionJoin, DIA.JoinsFlag)) {\r
+ if (!flag.equals(otherFlag)) {\r
+ if (!procedure.apply(connectionJoin, otherFlag))\r
+ return ++count;\r
+ ++count;\r
+ }\r
+ }\r
+ }\r
+ return count;\r
+ }\r
+\r
/**\r
* Returns all flags that are joined with the given flag including the flag given as parameter.\r
*/\r