/** * Return the parent component of the specified component. If the component * has more than one parent component, the first one is returned. * * @param comp * @return the first parent component of the given component. * @throws NoSuchInterfaceException * if the comp does not provide the {@link SuperController} * interface. */ protected Component getParentComponent(Component comp) throws NoSuchInterfaceException { Component parentComposite = Fractal.getSuperController(comp) .getFcSuperComponents()[0]; return parentComposite; }
/** * Return the component that contains the parameter component. * * We make the assumption this component is owned by only one component. * * @param component * @return the (unique) parent component * @throws NoSuchInterfaceException * @throws PetalsException */ public static final Component getParentComponent(Component component) throws NoSuchInterfaceException, PetalsException { final SuperController sc = Fractal.getSuperController(component); if (sc.getFcSuperComponents().length != 1) { throw new PetalsException("Error in fractal architecture"); } return sc.getFcSuperComponents()[0]; }
/** * Get the enclosing component of a given component. The case of shared components * is not considered. * * @param component a component * @return return the closest enclosing component, null otherwise * @throws NoSuchInterfaceException if the input component does not implement * the {@link SuperController} interface */ public static Component directParentOf(final Component component) throws NoSuchInterfaceException { Component parent = null; SuperController compSC = org.objectweb.fractal.util.Fractal .getSuperController(component); Component[] fcSuperComponents = compSC.getFcSuperComponents(); if (fcSuperComponents.length > 0) { parent = fcSuperComponents[0]; } return parent; }
public Component[] getApplications() { List<Component> applications = new ArrayList<Component>(); Component managedElements[] = _this_weaveableCC.getFcSubComponents(); for(Component managedElement : managedElements){ try { Component parents[] = Fractal.getSuperController(managedElement).getFcSuperComponents(); if(parents.length == 1) applications.add(managedElement); } catch (NoSuchInterfaceException ignored) { } } return applications.toArray(new Component[]{}); }
/** * Checks that the component this controller belongs to is not bound, and * then calls the overriden method. */ public void undeploy() throws UndeploymentException { Component[] parents = _this_weaveableSC.getFcSuperComponents(); if (parents.length > 0) { throw new ChainedUndeploymentException( null, _this_weaveableC, "Component has parent component(s). Remove it from the composite structure before undeployment."); } _super_undeploy(); }
private boolean isShared(Component id) { boolean shared = false; try { Component ids[] = Fractal.getSuperController(id).getFcSuperComponents(); if (ids.length > 1) shared = true; else if (ids.length > 1) shared = isShared(ids[0]); } catch (NoSuchInterfaceException ignored) {} return shared; }
private Set exposeSuper(Component id, Set set) { try { SuperController supCtrl = Fractal.getSuperController(id); Component ids[] = supCtrl.getFcSuperComponents(); if (ids.length == 0){ set.add(id); } else for (int j = 0; j < ids.length; j++) { try{ ids[j].getFcInterface("admin"); exposeSuper(ids[j], set); } catch (NoSuchInterfaceException e) { set.add(ids[j]);} } } catch (NoSuchInterfaceException e) { set.add(id);} return set; }
private String[] getFullFCName(Component id) { String[] names = null; try { Component ids[] = Fractal.getSuperController(id).getFcSuperComponents(); List l = new ArrayList(); for (int i = 0; i < ids.length; i++) { String[] tmp = getFullFCName(ids[i]); for (int j = 0; j < tmp.length; j++) tmp[j] += "/" + getFCName(id); l.addAll(Arrays.asList(tmp)); } names = (String[]) l.toArray(new String[l.size()]); } catch (NoSuchInterfaceException ignored) {} if (names == null || names.length == 0) { names = new String[1]; names[0] = getFCName(id); } return names; }
/** * Return the parent container of the specified component. * A container is a component with the "-container" suffix. * * @param comp - A binding component * @return the parent container of the given component, null if not found. * @throws NoSuchInterfaceException * if the comp does not provide the {@link SuperController} * interface. */ @Override protected final Component getParentComponent(Component comp) throws NoSuchInterfaceException { Component[] parents = Fractal.getSuperController(comp).getFcSuperComponents(); for (Component parent: parents) { if (Fractal.getNameController(parent).getFcName().endsWith("-container")) { return parent; } } return parents[0]; // No container found, keep the previous behavior: return the first parent }
public void onStop() { try { SuperController sc = Fractal.getSuperController(this.component); if (sc.getFcSuperComponents().length != 1) { this.log.warning("Can not find a super component to look for shutdown annotations in the architecture"); } else { Component parentcontainer = sc.getFcSuperComponents()[0]; ContentController cc = Fractal.getContentController(parentcontainer); List<Component> components = org.petalslink.dsb.fractal.utils.FractalHelper
org.objectweb.fractal.api.Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < (sP.length); ++i) { org.objectweb.fractal.api.Component p = sP[i]; if (sItf.isFcInternalItf()) { if (cSc != null) { org.objectweb.fractal.api.Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < (cP.length); ++i) { org.objectweb.fractal.api.Component p = cP[i]; org.objectweb.fractal.api.Component[] cP = cSc.getFcSuperComponents(); org.objectweb.fractal.api.Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < (cP.length); ++i) { org.objectweb.fractal.api.Component p = cP[i];
Component[] sP = sSc.getFcSuperComponents(); for (int i = 0 ; i < (sP.length) ; ++i) { Component p = sP[i]; if (sItf.isFcInternalItf()) { if (cSc != null) { Component[] cP = cSc.getFcSuperComponents(); for (int i = 0 ; i < (cP.length) ; ++i) { Component p = cP[i]; Component[] cP = cSc.getFcSuperComponents(); Component[] sP = sSc.getFcSuperComponents(); for (int i = 0 ; i < (cP.length) ; ++i) { Component p = cP[i];
Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < sP.length; ++i) { Component p = sP[i]; Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i]; Component[] cP = cSc.getFcSuperComponents(); Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i];
org.objectweb.fractal.api.Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < (sP.length); ++i) { org.objectweb.fractal.api.Component p = sP[i]; if (sItf.isFcInternalItf()) { if (cSc != null) { org.objectweb.fractal.api.Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < (cP.length); ++i) { org.objectweb.fractal.api.Component p = cP[i]; org.objectweb.fractal.api.Component[] cP = cSc.getFcSuperComponents(); org.objectweb.fractal.api.Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < (cP.length); ++i) { org.objectweb.fractal.api.Component p = cP[i];
org.objectweb.fractal.api.Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < (sP.length); ++i) { org.objectweb.fractal.api.Component p = sP[i]; if (sItf.isFcInternalItf()) { if (cSc != null) { org.objectweb.fractal.api.Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < (cP.length); ++i) { org.objectweb.fractal.api.Component p = cP[i]; org.objectweb.fractal.api.Component[] cP = cSc.getFcSuperComponents(); org.objectweb.fractal.api.Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < (cP.length); ++i) { org.objectweb.fractal.api.Component p = cP[i];
Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < sP.length; ++i) { Component p = sP[i]; Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i]; Component[] cP = cSc.getFcSuperComponents(); Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i];
public Component getParent(final Component childrenComponent) throws SCAException { Component parent = null; try { final SuperController superController = Fractal .getSuperController(childrenComponent); Component parents[] = superController.getFcSuperComponents(); if (parents.length > 1) { throw new SCAException("This component (" + childrenComponent + ") has several parents: It is a shared component"); } if (parents.length == 1) { parent = parents[0]; } } catch (final NoSuchInterfaceException e) { throw new SCAException(e); } return parent; }
Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < sP.length; ++i) { Component p = sP[i]; Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i]; Component[] cP = cSc.getFcSuperComponents(); Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i];
Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < sP.length; ++i) { Component p = sP[i]; Component[] cP = cSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i]; Component[] cP = cSc.getFcSuperComponents(); Component[] sP = sSc.getFcSuperComponents(); for (int i = 0; i < cP.length; ++i) { Component p = cP[i];
public void onStart() { try { SuperController sc = Fractal.getSuperController(this.component); if (sc.getFcSuperComponents().length != 1) { this.log.warning("Can not find a super component to look for startup annotations in the architecture"); } else { Component parentcontainer = sc.getFcSuperComponents()[0]; ContentController cc = Fractal.getContentController(parentcontainer); List<Component> components = org.petalslink.dsb.fractal.utils.FractalHelper