1 package org.simantics.db.layer0.util;
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.RequestProcessor;
5 import org.simantics.db.Resource;
6 import org.simantics.db.common.request.UniqueRead;
7 import org.simantics.db.common.utils.NameUtils;
8 import org.simantics.db.exception.DatabaseException;
9 import org.simantics.db.layer0.internal.SimanticsInternal;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
13 public class DatabaseExceptionUtils {
15 private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseExceptionUtils.class);
17 public static String showResource(Resource resource) {
18 return showResource(SimanticsInternal.getSession(), resource);
21 public static String showResource(RequestProcessor processor, Resource resource) {
23 return processor.syncRequest(new UniqueRead<String>() {
26 public String perform(ReadGraph graph) throws DatabaseException {
27 return NameUtils.getURIOrSafeNameInternal(graph, resource);
30 } catch (DatabaseException e) {
31 LOGGER.error("Unknown error while evaluating debug name for a resource " + resource, e);
32 return resource.toString();