]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.project/src/org/simantics/project/management/PlatformUtil.java
Finalizing improve startup time for fresh or rollback'd session
[simantics/platform.git] / bundles / org.simantics.project / src / org / simantics / project / management / PlatformUtil.java
index a8916251e07c738413866bde501a42b3e7c3eec6..344b2d6cf94a6d43c446ea07bb073ed241fd4507 100644 (file)
@@ -27,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Enumeration;
-import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.concurrent.atomic.AtomicReference;
@@ -45,22 +44,20 @@ import org.eclipse.equinox.p2.metadata.VersionedId;
 import org.osgi.framework.Bundle;
 import org.simantics.databoard.Bindings;
 import org.simantics.databoard.adapter.AdaptException;
-import org.simantics.databoard.binding.Binding;
 import org.simantics.databoard.binding.mutable.Variant;
 import org.simantics.databoard.container.DataContainer;
 import org.simantics.databoard.container.DataContainers;
-import org.simantics.databoard.container.FormatHandler;
 import org.simantics.graph.compiler.CompilationResult;
 import org.simantics.graph.compiler.GraphCompiler;
 import org.simantics.graph.compiler.GraphCompilerPreferences;
 import org.simantics.graph.compiler.ValidationMode;
 import org.simantics.graph.representation.Extensions;
 import org.simantics.graph.representation.TransferableGraph1;
+import org.simantics.graph.representation.TransferableGraphFileReader;
 import org.simantics.ltk.FileSource;
 import org.simantics.ltk.ISource;
 import org.simantics.ltk.Problem;
 import org.simantics.scl.reflection.OntologyVersions;
-import org.simantics.utils.datastructures.ArrayMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -420,40 +417,10 @@ public class PlatformUtil {
                        throw new IOException("Problem loading graph.tg from bundle " + bundle.getSymbolicName(), e);
                }
        }
-       
-       private static FormatHandler<TransferableGraph1> FORMAT_HANDLER = new FormatHandler<TransferableGraph1>() {
-        @Override
-        public Binding getBinding() {
-            return TransferableGraph1.BINDING;
-        }
-        @Override
-        public TransferableGraph1 process(DataContainer container) throws Exception {
-            return (TransferableGraph1) container.content.getValue(TransferableGraph1.BINDING);
-        }
-    };
-
-       @SuppressWarnings("unchecked")
-       private static Map<String, FormatHandler<TransferableGraph1>> handlers = ArrayMap.make(
-                       new String[] {
-                                       "graph:1",
-                                       "sharedLibrary:1"
-                       },
-                       FORMAT_HANDLER,
-                       FORMAT_HANDLER);
-
-       private static TransferableGraph1 readTG(InputStream is) throws Exception {
-               // For an unknown reason this is totally broken when running the TestSCLOsgi
-               // in the SDK Tycho build. It returns incomplete results because the
-               // ReadableByteChannel used by ByteFileReader starts returning 0 unexpectedly.
-//             try (TransferableGraphFileReader reader = new TransferableGraphFileReader(is)) {
-//                     return reader.readTG();
-//             }
-               return DataContainers.readFile(new DataInputStream(is), handlers);
-       }
 
        private static TransferableGraph1 readTG(URL url) throws Exception {
                try (InputStream is = url.openStream()) {
-                       return readTG(is);
+                       return TransferableGraphFileReader.read(is);
                }
        }