|
Lines 678-685
Link Here
|
| 678 |
if (tmp == null) // already removed |
678 |
if (tmp == null) // already removed |
| 679 |
continue; |
679 |
continue; |
| 680 |
Integer extensionIndex = new Integer(extensions[j]); |
680 |
Integer extensionIndex = new Integer(extensions[j]); |
| 681 |
if (!associatedObjects.containsKey(extensionIndex)) |
681 |
if (!associatedObjects.containsKey(extensionIndex)) { |
| 682 |
result.put(extensionIndex, tmp); |
682 |
result.put(extensionIndex, tmp); |
|
|
683 |
collectChildren(tmp, 0, result); |
| 684 |
} |
| 685 |
} |
| 686 |
} |
| 687 |
else if (object instanceof ExtensionPoint) { |
| 688 |
// by now extensions of this extension point have been marked as orphans |
| 689 |
Map orphans = getOrphans(); |
| 690 |
String name = ((ExtensionPoint)object).getUniqueIdentifier(); |
| 691 |
int[] extensions = (int[]) orphans.get(name); |
| 692 |
if (extensions != null) { |
| 693 |
for (int j = 0; j < extensions.length; j++) { |
| 694 |
Extension tmp = (Extension) basicGetObject(extensions[j], RegistryObjectManager.EXTENSION); |
| 695 |
if (tmp == null) // already removed |
| 696 |
continue; |
| 697 |
Integer extensionIndex = new Integer(extensions[j]); |
| 698 |
if (!associatedObjects.containsKey(extensionIndex)) { |
| 699 |
result.put(extensionIndex, tmp); |
| 700 |
collectChildren(tmp, 0, result); |
| 701 |
} |
| 702 |
} |
| 683 |
} |
703 |
} |
| 684 |
} |
704 |
} |
| 685 |
} |
705 |
} |