]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.acorn/src/org/simantics/acorn/lru/ClusterUpdateOperation.java
NPE fix for Acorn cluster stream undo handling
[simantics/platform.git] / bundles / org.simantics.acorn / src / org / simantics / acorn / lru / ClusterUpdateOperation.java
index c23821b7973c51b8e0a8828c7fc66b3e894c4d08..254fbf55c10cf121f16479261534894d86e4f51b 100644 (file)
@@ -4,10 +4,7 @@ import org.simantics.acorn.ClusterManager;
 import org.simantics.acorn.cluster.ClusterImpl;
 import org.simantics.acorn.exception.AcornAccessVerificationException;
 import org.simantics.acorn.exception.IllegalAcornStateException;
-import org.simantics.acorn.internal.ClusterChange;
-import org.simantics.acorn.internal.ClusterChange2;
 import org.simantics.acorn.internal.ClusterUpdateProcessor;
-import org.simantics.acorn.internal.ClusterUpdateProcessor2;
 import org.simantics.db.service.Bytes;
 import org.simantics.db.service.ClusterUID;
 
@@ -59,22 +56,11 @@ final public class ClusterUpdateOperation {
        }
        
        public void runWithData(byte[] data) throws IllegalAcornStateException, AcornAccessVerificationException {
-               
                try {
-                       int version = Bytes.readLE4(data, 4);
-                       if(version == ClusterChange.VERSION) {
-                               ClusterUpdateProcessor processor = new ClusterUpdateProcessor(manager, manager.support, data, this);
-                               ClusterImpl cluster = info.getForUpdate();
-                               cluster = processor.process(cluster);
-                               manager.update(uid, cluster);
-                       } else if (version == ClusterChange2.VERSION) {
-                               ClusterUpdateProcessor2 processor = new ClusterUpdateProcessor2(manager.support, data, this);
-                               ClusterImpl cluster = info.getForUpdate();
-                               processor.process(cluster);
-                               manager.update(uid, cluster);
-                       } else {
-                               throw new IllegalAcornStateException("unsupported clusterChange version " + version);
-                       }
+                       ClusterUpdateProcessor processor = new ClusterUpdateProcessor(manager, manager.support, data, this);
+                       ClusterImpl cluster = info.getForUpdate();
+                       cluster = processor.process(cluster);
+                       manager.update(uid, cluster);
                } catch (IllegalAcornStateException | AcornAccessVerificationException e) {
                    throw e;
                } catch (Throwable t) {