]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/TransferableGraphConfiguration2.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / util / TransferableGraphConfiguration2.java
index f122560dc8013c34a7262bae89bac23d4f553e3a..94c6084f294417efaa8b6232c2625e78c014e951 100644 (file)
-package org.simantics.db.layer0.util;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Collections;\r
-import java.util.Map;\r
-import java.util.TreeMap;\r
-\r
-import org.simantics.databoard.binding.mutable.Variant;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.RequestProcessor;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.Statement;\r
-import org.simantics.db.common.NamedResource;\r
-import org.simantics.db.common.request.UniqueRead;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.SubgraphExtent.ExtentStatus;\r
-import org.simantics.db.layer0.util.DomainProcessor3.ExclusionDecision;\r
-import org.simantics.scl.runtime.function.Function1;\r
-\r
-public class TransferableGraphConfiguration2 {\r
-       \r
-       public static class RootSpec {\r
-               public final Resource resource;\r
-               public final String name;\r
-               public final boolean internal;\r
-\r
-               public RootSpec(Resource resource, String name, boolean internal) {\r
-                       if (resource == null)\r
-                               throw new NullPointerException("null resource");\r
-                       if (name == null)\r
-                               throw new NullPointerException("null name");\r
-                       this.resource = resource;\r
-                       this.name = name;\r
-                       this.internal = internal;\r
-               }\r
-\r
-               @Override\r
-               public String toString() {\r
-                       return "RootSpec[" + name + ", " + resource + ", " + internal + "]"; \r
-               }\r
-\r
-               @Override\r
-               public int hashCode() {\r
-                       final int prime = 31;\r
-                       int result = 1;\r
-                       result = prime * result + (internal ? 1231 : 1237);\r
-                       result = prime * result + resource.hashCode();\r
-                       result = prime * result + name.hashCode();\r
-                       return result;\r
-               }\r
-\r
-               @Override\r
-               public boolean equals(Object obj) {\r
-                       if (this == obj)\r
-                               return true;\r
-                       if (obj == null)\r
-                               return false;\r
-                       if (getClass() != obj.getClass())\r
-                               return false;\r
-                       RootSpec other = (RootSpec) obj;\r
-                       return internal == other.internal && resource.equals(other.resource) && name.equals(other.name);\r
-               }\r
-       }\r
-       \r
-       final public TreeMap<String, Variant> baseExtensions = new TreeMap<String,Variant>();\r
-       final public Resource indexRoot;\r
-       final public Collection<RootSpec> roots;\r
-       final public Map<Resource, ExtentStatus> preStatus;\r
-       final public boolean ignoreVirtualResources;\r
-       final public boolean validate;\r
-       \r
-       /**\r
-        * <code>true</code> to export values, <code>false</code> to skip the actual\r
-        * values and only write the resource id.\r
-        */\r
-       public boolean values = true;\r
-\r
-       public Collection<TGValueModifier> valueModifiers;\r
-       public Function1<Statement,ExclusionDecision> exclusionFunction;\r
-\r
-       public TransferableGraphConfiguration2(Resource indexRoot, Collection<RootSpec> roots, Map<Resource, ExtentStatus> preStatus, boolean ignoreVirtualResources, boolean validate) {\r
-               this.indexRoot = indexRoot;\r
-               this.roots = roots;\r
-               this.preStatus = preStatus;\r
-               this.ignoreVirtualResources = ignoreVirtualResources;\r
-               this.validate = validate;\r
-               this.valueModifiers = null;\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(Resource indexRoot, Collection<RootSpec> roots, Map<Resource, ExtentStatus> preStatus, boolean ignoreVirtualResources) {\r
-               this(indexRoot, roots, preStatus, ignoreVirtualResources, true);\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(Resource indexRoot, Collection<RootSpec> roots, Map<Resource, ExtentStatus> preStatus) {\r
-               this(indexRoot, roots, preStatus, true);\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(TransferableGraphConfiguration2 conf) throws DatabaseException {\r
-               this(conf.indexRoot, conf.roots, conf.preStatus, conf.ignoreVirtualResources, conf.validate);\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(ReadGraph graph, Resource model, boolean ignoreVirtualResources, boolean validate) throws DatabaseException {\r
-               this(new TGConfigurer(graph, ignoreVirtualResources, validate).roots2(Collections.singletonList(model)).create());\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(ReadGraph graph, Collection<Resource> roots, boolean ignoreVirtualResources, boolean validate) throws DatabaseException {\r
-           this(new TGConfigurer(graph, ignoreVirtualResources, validate).roots2(roots).create());\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(ReadGraph graph, Resource model, boolean ignoreVirtualResources) throws DatabaseException {\r
-               this(graph, model, ignoreVirtualResources, true);\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(ReadGraph graph, Resource model) throws DatabaseException {\r
-               this(graph, model, true);\r
-       }\r
-       \r
-       public TransferableGraphConfiguration2(ReadGraph graph, Collection<RootSpec> roots, Collection<Resource> resourceRoots, Collection<Resource> exclusions) throws DatabaseException {\r
-               this(new TGConfigurer(graph, true).roots(roots).roots2(resourceRoots).exclusions(exclusions).create());\r
-       }\r
-\r
-       public TransferableGraphConfiguration2(ReadGraph graph, Collection<RootSpec> roots, Collection<Resource> resourceRoots, Collection<Resource> exclusions, boolean ignoreVirtualResource, boolean validate) throws DatabaseException {\r
-               this(new TGConfigurer(graph, ignoreVirtualResource, validate).roots(roots).roots2(resourceRoots).exclusions(exclusions).create());\r
-       }\r
-\r
-       public static TransferableGraphConfiguration2 createWithNames(RequestProcessor processor, final Collection<NamedResource> roots, final Collection<Resource> exclusions, final boolean ignoreVirtualResource, final boolean validate) throws DatabaseException {\r
-               return processor.sync(new UniqueRead<TransferableGraphConfiguration2>() {\r
-\r
-                       @Override\r
-                       public TransferableGraphConfiguration2 perform(ReadGraph graph) throws DatabaseException {\r
-                               return new TransferableGraphConfiguration2(graph, translate(roots), Collections.<Resource>emptyList(), exclusions, ignoreVirtualResource, validate);\r
-                       }\r
-                       \r
-               });\r
-       }\r
-\r
-       public static TransferableGraphConfiguration2 createWithNames2(RequestProcessor processor, final Collection<RootSpec> roots, final Collection<Resource> exclusions, final boolean ignoreVirtualResource, final boolean validate) throws DatabaseException {\r
-               return processor.sync(new UniqueRead<TransferableGraphConfiguration2>() {\r
-\r
-                       @Override\r
-                       public TransferableGraphConfiguration2 perform(ReadGraph graph) throws DatabaseException {\r
-                               return new TransferableGraphConfiguration2(graph, roots, Collections.<Resource>emptyList(), exclusions, ignoreVirtualResource, validate);\r
-                       }\r
-                       \r
-               });\r
-       }\r
-\r
-       public static TransferableGraphConfiguration2 createWithNames(RequestProcessor processor, final Collection<NamedResource> roots, final Collection<Resource> exclusions) throws DatabaseException {\r
-               return createWithNames(processor, roots, exclusions, true, true);\r
-       }\r
-\r
-       public static TransferableGraphConfiguration2 createWithResources(RequestProcessor processor, final Collection<Resource> roots, final Collection<Resource> exclusions) throws DatabaseException {\r
-               return processor.sync(new UniqueRead<TransferableGraphConfiguration2>() {\r
-\r
-                       @Override\r
-                       public TransferableGraphConfiguration2 perform(ReadGraph graph) throws DatabaseException {\r
-                               return new TransferableGraphConfiguration2(graph, Collections.<RootSpec>emptyList(), roots, exclusions);\r
-                       }\r
-                       \r
-               });\r
-       }\r
-\r
-       public static TransferableGraphConfiguration2 createForModel(RequestProcessor processor, final Resource model) throws DatabaseException {\r
-               return createWithResources(processor, Collections.singletonList(model), Collections.<Resource>emptyList());\r
-       }\r
-\r
-       private static Collection<RootSpec> translate(Collection<NamedResource> roots) {\r
-               ArrayList<RootSpec> result = new ArrayList<RootSpec>();\r
-               for(NamedResource nr : roots) result.add(new RootSpec(nr.getResource(), nr.getName(), true));\r
-               return result;\r
-       }\r
-       \r
-}\r
+package org.simantics.db.layer0.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.simantics.databoard.binding.mutable.Variant;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.RequestProcessor;
+import org.simantics.db.Resource;
+import org.simantics.db.Statement;
+import org.simantics.db.common.NamedResource;
+import org.simantics.db.common.request.UniqueRead;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.SubgraphExtent.ExtentStatus;
+import org.simantics.db.layer0.util.DomainProcessor3.ExclusionDecision;
+import org.simantics.scl.runtime.function.Function1;
+
+public class TransferableGraphConfiguration2 {
+       
+       public static class RootSpec {
+               public final Resource resource;
+               public final String name;
+               public final boolean internal;
+
+               public RootSpec(Resource resource, String name, boolean internal) {
+                       if (resource == null)
+                               throw new NullPointerException("null resource");
+                       if (name == null)
+                               throw new NullPointerException("null name");
+                       this.resource = resource;
+                       this.name = name;
+                       this.internal = internal;
+               }
+
+               @Override
+               public String toString() {
+                       return "RootSpec[" + name + ", " + resource + ", " + internal + "]"; 
+               }
+
+               @Override
+               public int hashCode() {
+                       final int prime = 31;
+                       int result = 1;
+                       result = prime * result + (internal ? 1231 : 1237);
+                       result = prime * result + resource.hashCode();
+                       result = prime * result + name.hashCode();
+                       return result;
+               }
+
+               @Override
+               public boolean equals(Object obj) {
+                       if (this == obj)
+                               return true;
+                       if (obj == null)
+                               return false;
+                       if (getClass() != obj.getClass())
+                               return false;
+                       RootSpec other = (RootSpec) obj;
+                       return internal == other.internal && resource.equals(other.resource) && name.equals(other.name);
+               }
+       }
+       
+       final public TreeMap<String, Variant> baseExtensions = new TreeMap<String,Variant>();
+       final public Resource indexRoot;
+       final public Collection<RootSpec> roots;
+       final public Map<Resource, ExtentStatus> preStatus;
+       final public boolean ignoreVirtualResources;
+       final public boolean validate;
+       
+       /**
+        * <code>true</code> to export values, <code>false</code> to skip the actual
+        * values and only write the resource id.
+        */
+       public boolean values = true;
+
+       public Collection<TGValueModifier> valueModifiers;
+       public Function1<Statement,ExclusionDecision> exclusionFunction;
+
+       public TransferableGraphConfiguration2(Resource indexRoot, Collection<RootSpec> roots, Map<Resource, ExtentStatus> preStatus, boolean ignoreVirtualResources, boolean validate) {
+               this.indexRoot = indexRoot;
+               this.roots = roots;
+               this.preStatus = preStatus;
+               this.ignoreVirtualResources = ignoreVirtualResources;
+               this.validate = validate;
+               this.valueModifiers = null;
+       }
+
+       public TransferableGraphConfiguration2(Resource indexRoot, Collection<RootSpec> roots, Map<Resource, ExtentStatus> preStatus, boolean ignoreVirtualResources) {
+               this(indexRoot, roots, preStatus, ignoreVirtualResources, true);
+       }
+
+       public TransferableGraphConfiguration2(Resource indexRoot, Collection<RootSpec> roots, Map<Resource, ExtentStatus> preStatus) {
+               this(indexRoot, roots, preStatus, true);
+       }
+
+       public TransferableGraphConfiguration2(TransferableGraphConfiguration2 conf) throws DatabaseException {
+               this(conf.indexRoot, conf.roots, conf.preStatus, conf.ignoreVirtualResources, conf.validate);
+       }
+
+       public TransferableGraphConfiguration2(ReadGraph graph, Resource model, boolean ignoreVirtualResources, boolean validate) throws DatabaseException {
+               this(new TGConfigurer(graph, ignoreVirtualResources, validate).roots2(Collections.singletonList(model)).create());
+       }
+
+       public TransferableGraphConfiguration2(ReadGraph graph, Collection<Resource> roots, boolean ignoreVirtualResources, boolean validate) throws DatabaseException {
+           this(new TGConfigurer(graph, ignoreVirtualResources, validate).roots2(roots).create());
+       }
+
+       public TransferableGraphConfiguration2(ReadGraph graph, Resource model, boolean ignoreVirtualResources) throws DatabaseException {
+               this(graph, model, ignoreVirtualResources, true);
+       }
+
+       public TransferableGraphConfiguration2(ReadGraph graph, Resource model) throws DatabaseException {
+               this(graph, model, true);
+       }
+       
+       public TransferableGraphConfiguration2(ReadGraph graph, Collection<RootSpec> roots, Collection<Resource> resourceRoots, Collection<Resource> exclusions) throws DatabaseException {
+               this(new TGConfigurer(graph, true).roots(roots).roots2(resourceRoots).exclusions(exclusions).create());
+       }
+
+       public TransferableGraphConfiguration2(ReadGraph graph, Collection<RootSpec> roots, Collection<Resource> resourceRoots, Collection<Resource> exclusions, boolean ignoreVirtualResource, boolean validate) throws DatabaseException {
+               this(new TGConfigurer(graph, ignoreVirtualResource, validate).roots(roots).roots2(resourceRoots).exclusions(exclusions).create());
+       }
+
+       public static TransferableGraphConfiguration2 createWithNames(RequestProcessor processor, final Collection<NamedResource> roots, final Collection<Resource> exclusions, final boolean ignoreVirtualResource, final boolean validate) throws DatabaseException {
+               return processor.sync(new UniqueRead<TransferableGraphConfiguration2>() {
+
+                       @Override
+                       public TransferableGraphConfiguration2 perform(ReadGraph graph) throws DatabaseException {
+                               return new TransferableGraphConfiguration2(graph, translate(roots), Collections.<Resource>emptyList(), exclusions, ignoreVirtualResource, validate);
+                       }
+                       
+               });
+       }
+
+       public static TransferableGraphConfiguration2 createWithNames2(RequestProcessor processor, final Collection<RootSpec> roots, final Collection<Resource> exclusions, final boolean ignoreVirtualResource, final boolean validate) throws DatabaseException {
+               return processor.sync(new UniqueRead<TransferableGraphConfiguration2>() {
+
+                       @Override
+                       public TransferableGraphConfiguration2 perform(ReadGraph graph) throws DatabaseException {
+                               return new TransferableGraphConfiguration2(graph, roots, Collections.<Resource>emptyList(), exclusions, ignoreVirtualResource, validate);
+                       }
+                       
+               });
+       }
+
+       public static TransferableGraphConfiguration2 createWithNames(RequestProcessor processor, final Collection<NamedResource> roots, final Collection<Resource> exclusions) throws DatabaseException {
+               return createWithNames(processor, roots, exclusions, true, true);
+       }
+
+       public static TransferableGraphConfiguration2 createWithResources(RequestProcessor processor, final Collection<Resource> roots, final Collection<Resource> exclusions) throws DatabaseException {
+               return processor.sync(new UniqueRead<TransferableGraphConfiguration2>() {
+
+                       @Override
+                       public TransferableGraphConfiguration2 perform(ReadGraph graph) throws DatabaseException {
+                               return new TransferableGraphConfiguration2(graph, Collections.<RootSpec>emptyList(), roots, exclusions);
+                       }
+                       
+               });
+       }
+
+       public static TransferableGraphConfiguration2 createForModel(RequestProcessor processor, final Resource model) throws DatabaseException {
+               return createWithResources(processor, Collections.singletonList(model), Collections.<Resource>emptyList());
+       }
+
+       private static Collection<RootSpec> translate(Collection<NamedResource> roots) {
+               ArrayList<RootSpec> result = new ArrayList<RootSpec>();
+               for(NamedResource nr : roots) result.add(new RootSpec(nr.getResource(), nr.getName(), true));
+               return result;
+       }
+       
+}