X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.project%2Fsrc%2Forg%2Fsimantics%2Fproject%2Fmanagement%2FPlatformUtil.java;h=8f93d24ab293d937467e78ca233a0056c5462abe;hp=2f94ff967bdcc2c89b82ecb954468ddafac91407;hb=5b6358d87458715cad02d51ee5cd944814d1db4a;hpb=421816a28378532bf24faaa2485f53157c7a749e diff --git a/bundles/org.simantics.project/src/org/simantics/project/management/PlatformUtil.java b/bundles/org.simantics.project/src/org/simantics/project/management/PlatformUtil.java index 2f94ff967..8f93d24ab 100644 --- a/bundles/org.simantics.project/src/org/simantics/project/management/PlatformUtil.java +++ b/bundles/org.simantics.project/src/org/simantics/project/management/PlatformUtil.java @@ -325,11 +325,7 @@ public class PlatformUtil { AtomicReference problem = new AtomicReference<>(); Collection gbundles = Arrays.stream(getBundles()) - // #7806: Due to databoard Binding/Serializer construction process thread-unsafety - // not even the DataContainer.readHeader invocations can run in parallel, most likely - // due to recurring serializer construction for Variant datatypes. - // Therefore, we must disable parallel loading for now. - //.parallel() + .parallel() .map(b -> { try { return problem.get() == null ? getGraphs(b) : Collections.emptyList(); @@ -483,7 +479,18 @@ public class PlatformUtil { private static boolean isImmutable(Bundle bundle) { String immutable = (String) bundle.getHeaders().get("Immutable"); - return immutable != null ? "true".equals(immutable) : true; + if(immutable == null) + return true; + if("false".equals(immutable)) + return false; + if("trueWhenDeployed".equals(immutable)) { + String installHint = System.getProperty("installOntologiesAsDeployed"); + if("true".equals(installHint)) + return true; + else + return false; + } + return true; } public static class TGInfo {