public static AdminComponent checkDuplicate(DataElement currentDe, DataElement newDataElement) { ElementsLists elements = ElementsLists.getInstance(); // 1. Verify that this DE will not implicitely map the OC to one // that is already used in the model. List<ObjectClass> ocs = elements.getElements(DomainObjectFactory.newObjectClass()); if (ocs != null) { for (ObjectClass oc : ocs) { if (oc.getPublicId() != null) { if (currentDe.getDataElementConcept().getObjectClass() != oc) if (oc.getPublicId() .equals(newDataElement.getDataElementConcept().getObjectClass().getPublicId())) return oc; } } } // 2. Check that we don't already have this exact DE public ID List<DataElement> des = elements.getElements(DomainObjectFactory.newDataElement()); for (DataElement de : des) { if (de != currentDe) { if (!StringUtil.isEmpty(de.getPublicId()) && de.getPublicId().equals(newDataElement.getPublicId())) return de; } } // if(des != null && ocs != null) { // for(ObjectClass oc : ocs) //// Map<String, DataElement> deList = new HashMap<String, DataElement>(); // for(DataElement de : des) // if(newDataElement.getDataElementConcept().getObjectClass() == // de.getDataElementConcept().getObjectClass()) // if(newDataElement.getPublicId() == de.getPublicId()) // return false; // } return null; }