X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fgenericrelation%2FDependenciesRelation.java;h=e300384f1f686ac3c874d2a17e8046399f1ce0cf;hb=0935b78fb5a162719de5dab404b7161de2e7e717;hp=4f98af7b4ab33fe4349e7bae9845fe703e728e98;hpb=0d9b90834ce56b292c00b1a39850ed842c3e4d42;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/DependenciesRelation.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/DependenciesRelation.java index 4f98af7b4..e300384f1 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/DependenciesRelation.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/genericrelation/DependenciesRelation.java @@ -77,7 +77,9 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic Pair.make(Dependencies.FIELD_RESOURCE, "Long"), Pair.make(Dependencies.FIELD_NAME, "String"), Pair.make(Dependencies.FIELD_TYPES, "Text"), - Pair.make(Dependencies.FIELD_GUID, "Text") + Pair.make(Dependencies.FIELD_GUID, "Text"), + Pair.make(Dependencies.FIELD_NAME_SEARCH, "Text"), + Pair.make(Dependencies.FIELD_TYPES_SEARCH, "Text") }; final Resource resource; @@ -228,12 +230,12 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic long time2 = System.nanoTime(); if (PROFILE) - System.out.println("Found " + entries.size() + " dependencies in " + 1e-6 * (time2 - time) + "ms for " + graph.getPossibleURI(subject) + "."); + LOGGER.info("Found " + entries.size() + " dependencies in " + 1e-6 * (time2 - time) + "ms for " + graph.getPossibleURI(subject) + "."); ArrayList result = new ArrayList(); for (Entry entry : entries) { if(entry.name == null) continue; - result.add(new Object[] { ss.getRandomAccessId(entry.parent), ss.getRandomAccessId(entry.resource), entry.name, entry.types, entry.id }); + result.add(new Object[] { ss.getRandomAccessId(entry.parent), ss.getRandomAccessId(entry.resource), entry.name, entry.types, entry.id, entry.name, entry.types }); } return result; @@ -249,21 +251,21 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic @Override public List> query(RequestProcessor session, String search, String bindingPattern, Object[] constants, int maxResultCount) { - if(!Dependencies.getBindingPattern().equals(bindingPattern)) throw new IllegalArgumentException("DependenciesRelation supports indexing only with 'bfffff'"); + if(!Dependencies.getBindingPattern().equals(bindingPattern)) throw new IllegalArgumentException("DependenciesRelation supports indexing only with 'bfffffff'"); IndexedRelations indexer = session.getService(IndexedRelations.class); return indexer.query(null, search, session, resource, (Resource)constants[0], maxResultCount); } @Override public List queryResources(RequestProcessor session, String search, String bindingPattern, Object[] constants, int maxResultCount) { - if(!Dependencies.getBindingPattern().equals(bindingPattern)) throw new IllegalArgumentException("DependenciesRelation supports indexing only with 'bfffff'"); + if(!Dependencies.getBindingPattern().equals(bindingPattern)) throw new IllegalArgumentException("DependenciesRelation supports indexing only with 'bfffffff'"); IndexedRelations indexer = session.getService(IndexedRelations.class); return indexer.queryResources(null, search, session, resource, (Resource)constants[0], maxResultCount); } @Override public List> list(RequestProcessor session, String bindingPattern, Object[] constants, int maxResultCount) { - if(!Dependencies.getBindingPattern().equals(bindingPattern)) throw new IllegalArgumentException("DependenciesRelation supports indexing only with 'bfffff'"); + if(!Dependencies.getBindingPattern().equals(bindingPattern)) throw new IllegalArgumentException("DependenciesRelation supports indexing only with 'bfffffff'"); IndexedRelations indexer = session.getService(IndexedRelations.class); return indexer.query(null, null, session, resource, (Resource)constants[0], maxResultCount); } @@ -290,7 +292,10 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic if (modifiedComponent == null || modifiedComponent.getPredicate().equals(changeInformation)) continue; - //System.err.println("+comp modi " + NameUtils.getSafeName(graph, renamedComponent, true)); + if (DEBUG) { + LOGGER.info("+comp modi " + NameUtils.getSafeName(graph, modifiedComponent.getObject(), true)); + LOGGER.info(" +value " + NameUtils.getSafeName(graph, value, true)); + } w.addComponentModification(modifiedComponent.getObject()); } for (Resource value : parameter.changedResources()) { @@ -299,7 +304,8 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic w.addComponentModification(value); } for (StatementChange change : parameter.changedStatements()) { - //System.err.println("-stm " + NameUtils.getSafeName(graph, change.getSubject(), true) + " " + NameUtils.getSafeName(graph, change.getPredicate(), true) + " " + NameUtils.getSafeName(graph, change.getObject(), true)); + if (DEBUG) + LOGGER.info("-stm " + NameUtils.getSafeName(graph, change.getSubject(), true) + " " + NameUtils.getSafeName(graph, change.getPredicate(), true) + " " + NameUtils.getSafeName(graph, change.getObject(), true)); Resource subject = change.getSubject(); Resource predicate = change.getPredicate(); Resource object = change.getObject(); @@ -312,7 +318,8 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic } else if (predicate.equals(l0.IsLinkedTo)) { w.addLinkChange(subject); } else /*if (graph.isSubrelationOf(predicate, l0.DependsOn))*/ { - //System.err.println("-modi " + NameUtils.getSafeName(graph, subject, true)); + if (DEBUG) + LOGGER.info("-modi " + NameUtils.getSafeName(graph, subject, true)); w.addComponentModification(subject); } } @@ -368,7 +375,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic TimeLogger.log(DependenciesRelation.class, "trackAndIndex.onEvent: starting index update processing"); if(DEBUG) - System.err.println("Adding metadata " + event + " in revision " + graph.getService(ManagementSupport.class).getHeadRevisionId()); + LOGGER.info("Adding metadata " + event + " in revision " + graph.getService(ManagementSupport.class).getHeadRevisionId()); WriteGraph w = (WriteGraph)graph; if(!event.isEmpty()) @@ -392,9 +399,9 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic Collection _replacementObjects = Collections.emptyList(); Collection> _typeChanges = Collections.emptyList(); - if(DEBUG) System.out.println("MODEL: " + NameUtils.getSafeLabel(graph, model)); + if(DEBUG) LOGGER.info("MODEL: " + NameUtils.getSafeLabel(graph, model)); // final Change[] changes = event.get(model); - if(DEBUG) System.out.println(" CHANGES: " + Arrays.toString(changes)); + if(DEBUG) LOGGER.info(" CHANGES: " + Arrays.toString(changes)); if (changes != null) { _additions = new ArrayList(); _removals = new ArrayList(); @@ -412,12 +419,12 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic if(!entry.isValid(graph)) continue; Resource parent = graph.getPossibleObject(entry.component, L0.PartOf); if (parent != null) { - _additions.add(new Object[] { ss.getRandomAccessId(parent), ss.getRandomAccessId(entry.component), name, types, id != null ? id.indexString() : "" }); + _additions.add(new Object[] { ss.getRandomAccessId(parent), ss.getRandomAccessId(entry.component), name, types, id != null ? id.indexString() : "", name, types}); } else { - //System.err.println("resource " + entry.component + ": no parent for entry " + name + " " + types); + //LOGGER.info("resource " + entry.component + ": no parent for entry " + name + " " + types); } } else { - //System.err.println("resource " + entry.component + ": " + name + " " + types); + //LOGGER.info("resource " + entry.component + ": " + name + " " + types); } } else if(_entry instanceof ComponentModification) { ComponentModification entry = (ComponentModification)_entry; @@ -433,7 +440,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic if(part != null) { _replacementKeys.add(ss.getRandomAccessId(entry.component)); _replacementObjects.add(new Object[] { ss.getRandomAccessId(part), - ss.getRandomAccessId(entry.component), name, types, id != null ? id.indexString() : "" }); + ss.getRandomAccessId(entry.component), name, types, id != null ? id.indexString() : "", name, types}); } } } @@ -448,7 +455,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic } final boolean reset = linkChange || event.hasUnresolved; - //System.err.println("dependencies(" + NameUtils.getSafeLabel(graph, model) + "): reset=" + reset + " linkChange=" + linkChange + " unresolved=" + event.hasUnresolved ); + //LOGGER.info("dependencies(" + NameUtils.getSafeLabel(graph, model) + "): reset=" + reset + " linkChange=" + linkChange + " unresolved=" + event.hasUnresolved ); if (reset || !_additions.isEmpty() || !_removals.isEmpty() || !_replacementKeys.isEmpty() || !_typeChanges.isEmpty()) { @@ -472,7 +479,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic if (doReset) { if(DEBUG) { - System.err.println("resetIndex " + reset + " " + typeNameChanges); + LOGGER.info("resetIndex " + reset + " " + typeNameChanges); } indexer.removeAll(null, graph, DependenciesRelation.this, resource, model); @@ -482,22 +489,22 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic if (!replacementKeys.isEmpty() && (replacementKeys.size() == replacementObjects.size())) { if(DEBUG) { - System.out.println(replacementKeys.size() + " index replacements: " + replacementKeys); + LOGGER.info(replacementKeys.size() + " index replacements: " + replacementKeys); } didChange |= indexer.replace(null, graph, DependenciesRelation.this, resource, model, Dependencies.FIELD_RESOURCE, replacementKeys, replacementObjects); } if (!removals.isEmpty()) { if(DEBUG) { - System.out.println(removals.size() + " index removals: " + removals); + LOGGER.info(removals.size() + " index removals: " + removals); } indexer.remove(null, graph, DependenciesRelation.this, resource, model, Dependencies.FIELD_RESOURCE, removals); didChange = true; } if (!additions.isEmpty()) { if(DEBUG) { - for(Object[] os : additions) System.err.println("Adding to index " + model + ": " + Arrays.toString(os)); + for(Object[] os : additions) LOGGER.info("Adding to index " + model + ": " + Arrays.toString(os)); } - //System.out.println(additions.size() + " index insertions"); + //LOGGER.info(additions.size() + " index insertions"); indexer.insert(null, graph, DependenciesRelation.this, resource, model, additions); didChange = true; } @@ -557,7 +564,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic for (Pair nr : typeChanges) { String query = Dependencies.FIELD_RESOURCE + ":[" + nr.second + " TO " + nr.second + "]"; - //System.out.println("query: " + query); + //LOGGER.info("query: " + query); List> results = indexer.query(null, query, graph, resource, model, Integer.MAX_VALUE); if (results.size() != 1) { return true; @@ -567,7 +574,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic return true; } } -// System.err.println("Type " + nr.first + " was unchanged."); +// LOGGER.info("Type " + nr.first + " was unchanged."); } return false; } @@ -593,7 +600,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic @Override public void reset(RequestProcessor processor, Resource input) { if (DEBUG) { - System.out.println("DependenciesRelation.reset: " + input); + LOGGER.info("DependenciesRelation.reset: " + input); new Exception("DependenciesRelation.reset(" + listener + ")").printStackTrace(System.out); } DependenciesListenerStore store = processor.getSession().getService(DependenciesListenerStore.class); @@ -617,7 +624,7 @@ public class DependenciesRelation extends UnsupportedRelation implements Generic ArrayList result = new ArrayList(entries.size()); for (Entry entry : entries) { - result.add(new Object[] { ss.getRandomAccessId(entry.parent), ss.getRandomAccessId(entry.resource), entry.name, entry.types, entry.id }); + result.add(new Object[] { ss.getRandomAccessId(entry.parent), ss.getRandomAccessId(entry.resource), entry.name, entry.types, entry.id, entry.name, entry.types }); } Layer0X L0X = Layer0X.getInstance(graph);