import org.simantics.db.common.request.SuperTypeString;
import org.simantics.db.common.request.TypeString;
import org.simantics.db.common.request.UnaryRead;
-import org.simantics.db.common.utils.Logger;
import org.simantics.db.common.utils.NameUtils;
import org.simantics.db.event.ChangeListener;
import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.exception.NoSingleResultException;
import org.simantics.db.layer0.adapter.GenericRelation;
import org.simantics.db.layer0.adapter.GenericRelationIndex;
import org.simantics.db.layer0.genericrelation.DependencyChanges.Change;
import org.simantics.operation.Layer0X;
import org.simantics.utils.datastructures.Pair;
import org.simantics.utils.logging.TimeLogger;
+import org.slf4j.LoggerFactory;
public class DependenciesRelation extends UnsupportedRelation implements GenericRelationIndex {
+ private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(DependenciesRelation.class);
private static final boolean DEBUG = false;
static final boolean DEBUG_LISTENERS = false;
private static final boolean PROFILE = false;
@Override
public void exception(AsyncReadGraph graph, Throwable throwable) {
- Logger.defaultLogError(throwable);
+ LOGGER.error("Could not compile possible related value for resource {}", resource, throwable);
}
});
@Override
public void exception(AsyncReadGraph graph, Throwable throwable) {
- Logger.defaultLogError(throwable);
+ LOGGER.error("Could not find type for resource {}", resource, throwable);
}
};
@Override
public void exception(AsyncReadGraph graph, Throwable throwable) {
- Logger.defaultLogError(throwable);
+ if (throwable instanceof NoSingleResultException) {
+ // Ignore
+ if (LOGGER.isDebugEnabled())
+ LOGGER.debug("Could not compile for resource {}", resource, throwable);
+ } else {
+ LOGGER.error("Could not compile for resource {}", resource, throwable);
+ }
}
});
if(typeString == null) {
typeString = graph.syncRequest(new SuperTypeString(e.principalType));
if (typeString.isEmpty()) {
- Logger.defaultLogError(new DatabaseException("No name for type " + NameUtils.getURIOrSafeNameInternal(graph, e.resource) + " (" + e.resource + ")"));
+ LOGGER.error("No name for type", new DatabaseException("No name for type " + NameUtils.getURIOrSafeNameInternal(graph, e.resource) + " (" + e.resource + ")"));
}
typeStrings.put(e.principalType, typeString);
}
} catch (Throwable t) {
// Just to know if something unexpected happens here.
- Logger.defaultLogError("Dependencies index update failed for model "
- + model + " and relation " + resource + ".", t);
- t.printStackTrace();
+ LOGGER.error("Dependencies index update failed for model "
+ + model + " and relation " + resource + ".", t);
// NOTE: Last resort: failure to update index
// properly results in removal of the whole index.