diff --git a/src/main/java/org/caosdb/server/jobs/Job.java b/src/main/java/org/caosdb/server/jobs/Job.java index f54cfa41db38c687e19746d1208a09cc21aa50f7..cc943fbd0baf211d7f467cb54a7797616218f608 100644 --- a/src/main/java/org/caosdb/server/jobs/Job.java +++ b/src/main/java/org/caosdb/server/jobs/Job.java @@ -561,25 +561,24 @@ public abstract class Job { */ protected EntityInterface resolve(final EntityInterface entity) throws EntityWasNotUniqueException { - EntityInterface resolvedParent = null; - // if the parent has an id>0, it is to be a valid entity. + EntityInterface resolvedEntity = null; if (!entity.hasId() && entity.hasName()) { - resolvedParent = getEntityByName(entity.getName()); - if (resolvedParent == null) { + resolvedEntity = getEntityByName(entity.getName()); + if (resolvedEntity == null) { final Integer eid = retrieveValidIDByName(entity.getName()); entity.setId(eid); } } if (entity.hasId()) { - // get parent from container - resolvedParent = getEntityById(entity.getId()); - if (resolvedParent == null) { - resolvedParent = retrieveValidEntity(entity.getId()); + // get entity from container + resolvedEntity = getEntityById(entity.getId()); + if (resolvedEntity == null && entity.getId() > 0) { + resolvedEntity = retrieveValidEntity(entity.getId()); } } - return resolvedParent; + return resolvedEntity; } /**