]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/techtype/requests/TechTypeTableKeyName.java
Tech type table content validation
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / techtype / requests / TechTypeTableKeyName.java
index 86b7d720e124a3129e1b4d08a08cf35ecb21cd1a..f3824585f8188f65cd202510221c1fb5cbca4c04 100644 (file)
@@ -2,10 +2,10 @@ package org.simantics.district.network.techtype.requests;
 
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
+import org.simantics.db.common.procedure.adapter.TransientCacheListener;
 import org.simantics.db.common.request.ResourceRead;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.district.network.ontology.DistrictNetworkResource;
-import org.simantics.layer0.Layer0;
 
 public class TechTypeTableKeyName extends ResourceRead<String> {
        
@@ -15,19 +15,9 @@ public class TechTypeTableKeyName extends ResourceRead<String> {
 
        @Override
        public String perform(ReadGraph graph) throws DatabaseException {
-               Layer0 L0 = Layer0.getInstance(graph);
                DistrictNetworkResource DN = DistrictNetworkResource.getInstance(graph);
                
                Resource type = graph.getPossibleObject(resource, DN.TechType_TechTypeTable_HasComponentType);
-               if (type != null) {
-                       for (Resource r : graph.getObjects(type, L0.DomainOf)) {
-                               Resource accessor = graph.getPossibleObject(r, L0.valueAccessor);
-                               if (accessor.equals(DN.TechType_Functions_techTypeCodeValueAccessor)) {
-                                       return graph.getRelatedValue2(r, L0.HasName);
-                               }
-                       }
-               }
-               
-               return null;
+               return type != null ? graph.syncRequest(new PossibleTechTypeKeyName(type), TransientCacheListener.instance()) : null;
        }
 }
\ No newline at end of file