]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/scl/GraphModuleSourceRepository.java
Merge "Trying to wait for procedures"
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / scl / GraphModuleSourceRepository.java
index 3d767f520250e4c8d343fb55256183fd52bc4934..8eed51aca7ed70401b7ddafb7da5a13bab85b2ff 100644 (file)
@@ -15,6 +15,7 @@ import org.simantics.db.request.Read;
 import org.simantics.layer0.Layer0;
 import org.simantics.modeling.ModelingUtils;
 import org.simantics.modeling.internal.Activator;
+import org.simantics.modeling.scl.ontologymodule.OntologyModuleSourceRepository;
 import org.simantics.scl.compiler.internal.codegen.types.JavaReferenceValidatorFactory;
 import org.simantics.scl.compiler.module.repository.UpdateListener;
 import org.simantics.scl.compiler.module.repository.UpdateListener.Observable;
@@ -51,7 +52,7 @@ public enum GraphModuleSourceRepository implements ModuleSourceRepository {
             else
                 return Simantics.getAvailableRequestProcessor().syncRequest(request);
         } catch (DatabaseException e) {
-            LOGGER.error("Failed to read graph module " + moduleName + ".", e);
+            LOGGER.error("Failed to read graph module {}.",  moduleName, e);
             return null;
         }
     }
@@ -96,10 +97,15 @@ public enum GraphModuleSourceRepository implements ModuleSourceRepository {
         @Override
         public void exception(ReadGraph graph, Throwable t)
                 throws DatabaseException {
-            t.printStackTrace();
+            LOGGER.error("Could not listen {}", this, t);
             if(alreadyExecutedOnce && listener != null)
                 fireUpdate(graph);
         }
+
+        @Override
+        public String toString() {
+            return moduleName + " " + listener + " (" + alreadyExecutedOnce + ") [" + getClass().toString() + "]";
+        }
     };
     
     public static class GraphModuleSource extends StringModuleSource {
@@ -121,7 +127,7 @@ public enum GraphModuleSourceRepository implements ModuleSourceRepository {
             try {
                 Simantics.getSession().syncRequest(new WriteModuleSource(getModuleName(), newSourceText));
             } catch (DatabaseException e) {
-                e.printStackTrace();
+                LOGGER.error("Could not update {} with newSourceText {}", this, newSourceText);
             }
         }
         
@@ -197,8 +203,9 @@ public enum GraphModuleSourceRepository implements ModuleSourceRepository {
     
     @Override
     public void forAllModules(TObjectProcedure<String> procedure) {
+        THashSet<String> moduleURIs = null;
         try {
-            THashSet<String> moduleURIs = Simantics.getAvailableRequestProcessor().syncRequest(new Read<THashSet<String>>() {
+            moduleURIs = Simantics.getAvailableRequestProcessor().syncRequest(new Read<THashSet<String>>() {
                 @Override
                 public THashSet<String> perform(ReadGraph graph)
                         throws DatabaseException {
@@ -207,7 +214,7 @@ public enum GraphModuleSourceRepository implements ModuleSourceRepository {
             });
             moduleURIs.forEach(procedure);
         } catch (DatabaseException e) {
-            e.printStackTrace();
+            LOGGER.error("Could not execute procedure {} for all modules {}", procedure, String.valueOf(moduleURIs), e);
         }
     }