]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.migration.ui/src/org/simantics/migration/ui/MigrationAnalysis.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.migration.ui / src / org / simantics / migration / ui / MigrationAnalysis.java
index 7532bb528f51d8b809cdfa45b3ba3ba3af0b95fa..5e4edbd4a1d67dd03e25ca2db8d3a3cc94a8f258 100644 (file)
@@ -1,98 +1,98 @@
-package org.simantics.migration.ui;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.common.utils.NameUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.adapter.ActionFactory;\r
-import org.simantics.db.request.Read;\r
-import org.simantics.layer0.SoftwareConfigurationResources;\r
-\r
-import gnu.trove.map.hash.THashMap;\r
-\r
-public class MigrationAnalysis {\r
-    \r
-    public class Update implements Comparable<Update> {\r
-        Resource updateResource;\r
-        Resource parentVersion;\r
-        Resource childVersion;\r
-        String versionName;\r
-        \r
-        public Update(Resource updateResource, Resource parentVersion,\r
-                Resource childVersion, String versionName) {\r
-            this.updateResource = updateResource;\r
-            this.parentVersion = parentVersion;\r
-            this.childVersion = childVersion;\r
-            this.versionName = versionName;\r
-        }\r
-\r
-        @Override\r
-        public int compareTo(Update o) {\r
-            return versionName.compareTo(o.versionName);\r
-        }\r
-\r
-        public void execute(final Resource target) throws DatabaseException {\r
-            Update parentUpdate = updates.get(parentVersion);\r
-            if(parentUpdate != null)\r
-                parentUpdate.execute(target);\r
-            \r
-            Collection<Runnable> migrateActions = Simantics.getSession().syncRequest(new Read<Collection<Runnable>>() {\r
-                @Override\r
-                public Collection<Runnable> perform(ReadGraph graph)\r
-                        throws DatabaseException {\r
-                    SoftwareConfigurationResources SC = SoftwareConfigurationResources.getInstance(graph);\r
-                    ArrayList<Runnable> result = new ArrayList<Runnable>(); \r
-                    for(Resource action : graph.getObjects(updateResource, SC.Update_HasMigrationAction))\r
-                        result.add(graph.adapt(action, ActionFactory.class).create(target));\r
-                    return result;\r
-                }                \r
-            });\r
-            for(Runnable action : migrateActions)\r
-                action.run();\r
-        }\r
-        \r
-        public void updateTargetVersion(final Resource target) throws DatabaseException {\r
-            Simantics.getSession().syncRequest(new WriteRequest() {                        \r
-                @Override\r
-                public void perform(WriteGraph graph) throws DatabaseException {\r
-                    graph.markUndoPoint();\r
-                    SoftwareConfigurationResources SC = SoftwareConfigurationResources.getInstance(graph);\r
-                    graph.deny(target, SC.IsCompatibleWith, MigrationAnalysis.this.parentVersion);\r
-                    graph.claim(target, SC.IsCompatibleWith, childVersion);\r
-                }\r
-            });\r
-        }\r
-    }\r
-    \r
-    Resource parentVersion;\r
-    THashMap<Resource, Update> updates = new THashMap<Resource, Update>();\r
-\r
-    public MigrationAnalysis(ReadGraph g, Resource parentVersion) throws DatabaseException {\r
-        this.parentVersion = parentVersion;\r
-        updates.put(parentVersion, null);\r
-        findUpdatesFrom(g, parentVersion);\r
-        updates.remove(parentVersion);\r
-    }\r
-\r
-    private void findUpdatesFrom(ReadGraph g, Resource version) throws DatabaseException {        \r
-        SoftwareConfigurationResources SC = SoftwareConfigurationResources.getInstance(g);\r
-        for(Resource update : g.getObjects(version, SC.Version_HasUpdate)) {\r
-            Resource to = g.getSingleObject(update, SC.Update_To);\r
-            if(!updates.contains(to)) {\r
-                String name = NameUtils.getSafeLabel(g, to);\r
-                updates.put(to, new Update(update, version, to, name));\r
-                findUpdatesFrom(g, to);\r
-            }\r
-        }\r
-    }\r
-    \r
-    public Collection<Update> getUpdates() {\r
-        return updates.values();\r
-    }\r
-}\r
+package org.simantics.migration.ui;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.simantics.Simantics;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.common.utils.NameUtils;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.adapter.ActionFactory;
+import org.simantics.db.request.Read;
+import org.simantics.layer0.SoftwareConfigurationResources;
+
+import gnu.trove.map.hash.THashMap;
+
+public class MigrationAnalysis {
+    
+    public class Update implements Comparable<Update> {
+        Resource updateResource;
+        Resource parentVersion;
+        Resource childVersion;
+        String versionName;
+        
+        public Update(Resource updateResource, Resource parentVersion,
+                Resource childVersion, String versionName) {
+            this.updateResource = updateResource;
+            this.parentVersion = parentVersion;
+            this.childVersion = childVersion;
+            this.versionName = versionName;
+        }
+
+        @Override
+        public int compareTo(Update o) {
+            return versionName.compareTo(o.versionName);
+        }
+
+        public void execute(final Resource target) throws DatabaseException {
+            Update parentUpdate = updates.get(parentVersion);
+            if(parentUpdate != null)
+                parentUpdate.execute(target);
+            
+            Collection<Runnable> migrateActions = Simantics.getSession().syncRequest(new Read<Collection<Runnable>>() {
+                @Override
+                public Collection<Runnable> perform(ReadGraph graph)
+                        throws DatabaseException {
+                    SoftwareConfigurationResources SC = SoftwareConfigurationResources.getInstance(graph);
+                    ArrayList<Runnable> result = new ArrayList<Runnable>(); 
+                    for(Resource action : graph.getObjects(updateResource, SC.Update_HasMigrationAction))
+                        result.add(graph.adapt(action, ActionFactory.class).create(target));
+                    return result;
+                }                
+            });
+            for(Runnable action : migrateActions)
+                action.run();
+        }
+        
+        public void updateTargetVersion(final Resource target) throws DatabaseException {
+            Simantics.getSession().syncRequest(new WriteRequest() {                        
+                @Override
+                public void perform(WriteGraph graph) throws DatabaseException {
+                    graph.markUndoPoint();
+                    SoftwareConfigurationResources SC = SoftwareConfigurationResources.getInstance(graph);
+                    graph.deny(target, SC.IsCompatibleWith, MigrationAnalysis.this.parentVersion);
+                    graph.claim(target, SC.IsCompatibleWith, childVersion);
+                }
+            });
+        }
+    }
+    
+    Resource parentVersion;
+    THashMap<Resource, Update> updates = new THashMap<Resource, Update>();
+
+    public MigrationAnalysis(ReadGraph g, Resource parentVersion) throws DatabaseException {
+        this.parentVersion = parentVersion;
+        updates.put(parentVersion, null);
+        findUpdatesFrom(g, parentVersion);
+        updates.remove(parentVersion);
+    }
+
+    private void findUpdatesFrom(ReadGraph g, Resource version) throws DatabaseException {        
+        SoftwareConfigurationResources SC = SoftwareConfigurationResources.getInstance(g);
+        for(Resource update : g.getObjects(version, SC.Version_HasUpdate)) {
+            Resource to = g.getSingleObject(update, SC.Update_To);
+            if(!updates.contains(to)) {
+                String name = NameUtils.getSafeLabel(g, to);
+                updates.put(to, new Update(update, version, to, name));
+                findUpdatesFrom(g, to);
+            }
+        }
+    }
+    
+    public Collection<Update> getUpdates() {
+        return updates.values();
+    }
+}