package org.simantics.document.linking.views; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.simantics.NameLabelUtil; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.common.NamedResource; import org.simantics.db.common.request.ObjectsWithType; import org.simantics.db.common.request.ResourceRead; import org.simantics.db.exception.DatabaseException; import org.simantics.layer0.Layer0; import org.simantics.simulation.ontology.SimulationResource; public class ModelRead extends ResourceRead> { public ModelRead(Resource project) { super(project); } @Override public Collection perform(ReadGraph graph) throws DatabaseException { Layer0 l0 = Layer0.getInstance(graph); SimulationResource sr = SimulationResource.getInstance(graph); Collection models = graph.syncRequest(new ObjectsWithType(resource,l0.ConsistsOf,sr.Model)); List result = new ArrayList(); for (Resource model : models) { String label = NameLabelUtil.modalName(graph, model); result.add(new NamedResource(label, model)); } return result; } }