import org.simantics.db.ReadGraph;
import org.simantics.db.Resource;
import org.simantics.db.common.request.ResourceRead;
-import org.simantics.db.common.utils.NameUtils;
-import org.simantics.db.exception.AdaptionException;
+import org.simantics.db.common.utils.CommonDBUtils;
import org.simantics.db.exception.DatabaseException;
import org.simantics.layer0.Layer0;
return enumerate(graph, resource);
}
+ @Deprecated
public static String getEnumerationValueName(ReadGraph graph, Resource resource) throws DatabaseException {
- Layer0 L0 = Layer0.getInstance(graph);
- String label = graph.getPossibleRelatedValue(resource, L0.HasLabel, Bindings.STRING);
- if(label != null)
- return label;
- return safeName(graph, resource);
+ return CommonDBUtils.getEnumerationValueName(graph, resource);
}
-
+
public static EnumerationValue<Resource> enumerate(ReadGraph graph, Resource resource) throws DatabaseException {
Layer0 l0 = Layer0.getInstance(graph);
Set<Resource> types = graph.getTypes(resource);
Collection<Resource> values = graph.getObjects(type, l0.ConsistsOf);
List<EnumeratedValue<Resource>> result = new ArrayList<EnumeratedValue<Resource>>(values.size());
for (Resource value : values) {
- result.add(new EnumeratedValue<Resource>(getEnumerationValueName(graph, value), value));
+ result.add(new EnumeratedValue<Resource>(CommonDBUtils.getEnumerationValueName(graph, value), value));
}
Enumeration<Resource> enumeration = new Enumeration<Resource>(result);
return new EnumerationValue<Resource>(enumeration, enumeration.find(resource));
return null;
}
- private static String safeName(ReadGraph graph, Resource value) throws DatabaseException {
- return graph.syncRequest(new NameRequest(value));
- }
-
- public static class NameRequest extends ResourceRead<String> {
- public NameRequest(Resource resource) {
- super(resource);
- }
- @Override
- public String perform(ReadGraph graph) throws DatabaseException {
- try {
- return graph.adapt(resource, String.class);
- } catch (AdaptionException e) {
- return NameUtils.getSafeName(graph, resource);
- }
- }
- }
-
}