public static ObjectIdentifier processObjectIdentifier(final ObjectIdentity oi) { if (oi == null) { throw new NullPointerException("ObjectIdentity cannot be null"); } checkAddlArgs(oi.getAdditionalProperties(), oi.getClass()); if (oi.getRef() != null) { verifyRefOnly(oi); return ObjectIdentifier.parseObjectReference(oi.getRef()); } return processObjectIdentifier( oi.getWorkspace(), oi.getWsid(), oi.getName(), oi.getObjid(), oi.getVer()); }
private static void verifyRefOnly(final ObjectIdentity oi) { final List<String> err = new LinkedList<String>(); if (oi.getWorkspace() != null) { err.add("Workspace: " + oi.getWorkspace()); } if (oi.getWsid() != null) { err.add("Workspace id: " + oi.getWsid()); } if (oi.getName() != null) { err.add("Object name: " + oi.getName()); } if (oi.getObjid() != null) { err.add("Object id: " + oi.getObjid()); } if (oi.getVer() != null) { err.add("Version: " + oi.getVer()); } if (!err.isEmpty()) { throw new IllegalArgumentException( String.format( "Object reference %s provided; cannot provide any other " + "means of identifying an object. %s", oi.getRef(), StringUtils.join(err, " "))); } }