| | |
| | | /** |
| | | * The task that is in charge of modifying an object class definition (and all |
| | | * the references to this object class). |
| | | * |
| | | */ |
| | | public class ModifyObjectClassTask extends Task |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | private ObjectClass getObjectClassToAdd(ObjectClass ocToDelete) |
| | | { |
| | | ObjectClass ocToAdd; |
| | | Set<ObjectClass> currentSups = ocToDelete.getSuperiorClasses(); |
| | | if (ocToDelete.equals(oldObjectClass)) |
| | | { |
| | | ocToAdd = newObjectClass; |
| | | return newObjectClass; |
| | | } |
| | | else if (currentSups.contains(oldObjectClass)) |
| | | { |
| | | ArrayList<String> allNames = new ArrayList<>(); |
| | | for (String str : ocToDelete.getNormalizedNames()) |
| | | { |
| | | allNames.add(str); |
| | | } |
| | | ArrayList<String> allNames = new ArrayList<>(ocToDelete.getNormalizedNames()); |
| | | Map<String, List<String>> extraProperties = |
| | | DeleteSchemaElementsTask.cloneExtraProperties(ocToDelete); |
| | | Set<ObjectClass> newSups = new LinkedHashSet<>(); |
| | |
| | | newSups.add(oc); |
| | | } |
| | | } |
| | | ocToAdd = new ObjectClass("", |
| | | return new ObjectClass("", |
| | | ocToDelete.getPrimaryName(), |
| | | allNames, |
| | | ocToDelete.getOID(), |
| | |
| | | else |
| | | { |
| | | // Nothing to be changed in the definition of the object class itself. |
| | | ocToAdd = ocToDelete; |
| | | return ocToDelete; |
| | | } |
| | | return ocToAdd; |
| | | } |
| | | |
| | | /** |