X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryCacheBase.java;fp=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FQueryCacheBase.java;h=b0bca135042fbe99a5f07ffc3f4cab28628a164b;hp=f80fb5098b847d9264768be6c833c39d38a7ac24;hb=e460fd6f0af60314e2ca28391ef7ff2043016d97;hpb=fe29fd8956c3881e261ec4eee1cdd2ac27bc0554 diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryCacheBase.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryCacheBase.java index f80fb5098..b0bca1350 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryCacheBase.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/QueryCacheBase.java @@ -4,13 +4,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.concurrent.Semaphore; -import org.simantics.databoard.Bindings; import org.simantics.db.AsyncReadGraph; -import org.simantics.db.DevelopmentKeys; import org.simantics.db.ObjectResourceIdMap; import org.simantics.db.ReadGraph; import org.simantics.db.RelationInfo; -import org.simantics.db.common.utils.Logger; import org.simantics.db.exception.DatabaseException; import org.simantics.db.impl.graph.ReadGraphImpl; import org.simantics.db.impl.procedure.InternalProcedure; @@ -24,7 +21,6 @@ import org.simantics.db.request.AsyncRead; import org.simantics.db.request.ExternalRead; import org.simantics.db.request.MultiRead; import org.simantics.db.request.Read; -import org.simantics.utils.Development; import gnu.trove.map.hash.THashMap; import gnu.trove.map.hash.TObjectIntHashMap; @@ -980,5 +976,158 @@ public class QueryCacheBase { static boolean shouldCache(QueryProcessor processor, Object o) { return false; } + + AssertedPredicates getOrCreateAssertedPredicates(int r) { + AssertedPredicates entry = (AssertedPredicates)assertedPredicatesMap.get(r); + if(entry == null) { + entry = new AssertedPredicates(r); + assertedPredicatesMap.put(keyR(r), entry); + } + return entry; + } + AssertedStatements getOrCreateAssertedStatements(int r1, int r2) { + AssertedStatements entry = (AssertedStatements)assertedStatementsMap.get(r1, r2); + if(entry == null) { + entry = new AssertedStatements(r1, r2); + assertedStatementsMap.put(keyR2(r1, r2), entry); + } + return entry; + } + + ChildMap getOrCreateChildMap(int r) { + ChildMap entry = (ChildMap)childMapMap.get(r); + if(entry == null) { + entry = new ChildMap(r); + childMapMap.put(keyR(r), entry); + } + return entry; + } + + DirectObjects getOrCreateDirectObjects(int r1, int r2) { + DirectObjects entry = (DirectObjects)directObjectsMap.get(r1, r2); + if(entry == null) { + entry = new DirectObjects(r1, r2); + directObjectsMap.put(keyR2(r1, r2), entry); + } + return entry; + } + + DirectPredicates getOrCreateDirectPredicates(int r) { + DirectPredicates entry = (DirectPredicates)directPredicatesMap.get(r); + if(entry == null) { + entry = new DirectPredicates(r); + directPredicatesMap.put(keyR(r), entry); + } + return entry; + } + + Objects getOrCreateObjects(int r1, int r2) { + Objects entry = (Objects)objectsMap.get(r1, r2); + if(entry == null) { + entry = new Objects(r1, r2); + objectsMap.put(keyR2(r1, r2), entry); + } + return entry; + } + + OrderedSet getOrCreateOrderedSet(int r) { + OrderedSet entry = (OrderedSet)orderedSetMap.get(r); + if(entry == null) { + entry = new OrderedSet(r); + orderedSetMap.put(keyR(r), entry); + } + return entry; + } + + Predicates getOrCreatePredicates(int r) { + Predicates entry = (Predicates)predicatesMap.get(r); + if(entry == null) { + entry = new Predicates(r); + predicatesMap.put(keyR(r), entry); + } + return entry; + } + + PrincipalTypes getOrCreatePrincipalTypes(int r) { + PrincipalTypes entry = (PrincipalTypes)principalTypesMap.get(r); + if(entry == null) { + entry = new PrincipalTypes(r); + principalTypesMap.put(keyR(r), entry); + } + return entry; + } + + RelationInfoQuery getOrCreateRelationInfoQuery(int r) { + RelationInfoQuery entry = (RelationInfoQuery)relationInfoQueryMap.get(r); + if(entry == null) { + entry = new RelationInfoQuery(r); + relationInfoQueryMap.put(keyR(r), entry); + } + return entry; + } + + Statements getOrCreateStatements(int r1, int r2) { + Statements entry = (Statements)statementsMap.get(r1, r2); + if(entry == null) { + entry = new Statements(r1, r2); + statementsMap.put(keyR2(r1, r2), entry); + } + return entry; + } + + SuperRelations getOrCreateSuperRelations(int r) { + SuperRelations entry = (SuperRelations)superRelationsMap.get(r); + if(entry == null) { + entry = new SuperRelations(r); + superRelationsMap.put(keyR(r), entry); + } + return entry; + } + + SuperTypes getOrCreateSuperTypes(int r) { + SuperTypes entry = (SuperTypes)superTypesMap.get(r); + if(entry == null) { + entry = new SuperTypes(r); + superTypesMap.put(keyR(r), entry); + } + return entry; + } + + TypeHierarchy getOrCreateTypeHierarchy(int r) { + TypeHierarchy entry = (TypeHierarchy)typeHierarchyMap.get(r); + if(entry == null) { + entry = new TypeHierarchy(r); + typeHierarchyMap.put(keyR(r), entry); + } + return entry; + } + + Types getOrCreateTypes(int r) { + Types entry = (Types)typesMap.get(r); + if(entry == null) { + entry = new Types(r); + typesMap.put(keyR(r), entry); + } + return entry; + } + + URIToResource getOrCreateURIToResource(String s) { + URIToResource entry = (URIToResource)uRIToResourceMap.get(s); + if(entry == null) { + entry = new URIToResource(s); + uRIToResourceMap.put(keyID(s), entry); + } + return entry; + } + + ValueQuery getOrCreateValueQuery(int r) { + ValueQuery entry = (ValueQuery)valueQueryMap.get(r); + if(entry == null) { + entry = new ValueQuery(r); + valueQueryMap.put(keyR(r), entry); + } + return entry; + } + } \ No newline at end of file