public static ComponentInComponent_c ComponentInComponentInstance( ModelRoot modelRoot, ClassQueryInterface_c test, boolean loadComponent) { ComponentInComponent_c result = findComponentInComponentInstance(modelRoot, test, loadComponent); if (result == null && loadComponent) { List pmcs = PersistenceManager.findAllComponents(modelRoot, ComponentInComponent_c.class); for (int i = 0; i < pmcs.size(); i++) { PersistableModelComponent component = (PersistableModelComponent) pmcs.get(i); if (!component.isLoaded()) { try { component.load(new NullProgressMonitor()); result = findComponentInComponentInstance(modelRoot, test, loadComponent); if (result != null) return result; } catch (Exception e) { CorePlugin.logError("Error Loading component", e); } } } } if (result != null && loadComponent) { result.loadProxy(); } return result; }
public static ComponentInComponent_c[] getManyCN_CICsOnR4203( Component_c[] targets, ClassQueryInterface_c test, boolean loadComponent) { if (targets == null || targets.length == 0 || targets[0] == null) return new ComponentInComponent_c[0]; LinkedHashSet<ComponentInComponent_c> elementsSet = new LinkedHashSet<ComponentInComponent_c>(); for (int i = 0; i < targets.length; i++) { if (loadComponent && targets[i] != null && targets[i].IsNestedThroughComponentInComponent == null) targets[i].loadProxy(); ComponentInComponent_c associate = targets[i].IsNestedThroughComponentInComponent; if (targets[i] != null && associate != null && (test == null || test.evaluate(associate))) { if (elementsSet.add(associate)) { if (loadComponent) { associate.loadProxy(); } } } } ComponentInComponent_c[] result = new ComponentInComponent_c[elementsSet.size()]; elementsSet.toArray(result); return result; }