/** * Get a string representation of this description. */ public String toString() { return "CMSComponentDescription(name=" + getName() + ", state=" + getState() + ", ownership=" + getOwnership() + ")"; }
/** * Create a new CESComponentDescription. */ public CMSComponentDescription(IComponentIdentifier cid, String type, Boolean master, Boolean daemon, Boolean autoshutdown, PublishEventLevel monitoring, Boolean synchronous, String modelname, String localtype, IResourceIdentifier rid, long creationtime, IComponentIdentifier creator, Cause cause) { // if(cid.getName().indexOf("Dyn")!=-1) // System.out.println("created desc: "+cid+" "+hashCode()); setName(cid); setType(type); // setParent(parent); setState(IComponentDescription.STATE_ACTIVE); // setProcessingState(IComponentDescription.PROCESSINGSTATE_IDLE); setMaster(master); setDaemon(daemon); setAutoShutdown(autoshutdown); setMonitoring(monitoring!=null? monitoring: PublishEventLevel.OFF); setSynchronous(synchronous); setModelName(modelname); setLocalType(localtype); setResourceIdentifier(rid); setCreationTime(creationtime); setCreator(creator); setCause(cause); }
if(ad!=null && ad.getName().equals(adesc.getName())) CMSComponentDescription desc = (CMSComponentDescription)ad.clone(); ret.add(desc); (adesc.getOwnership()==null || adesc.getOwnership().equals(test.getOwnership())) && (adesc.getType()==null || adesc.getType().equals(test.getType())) && (adesc.getState()==null || adesc.getState().equals(test.getState())) && (adesc.getModelName()==null || adesc.getModelName().equals(test.getModelName())))
IComponentIdentifier[] achildren = desc.getChildren(); if(!IComponentDescription.STATE_ACTIVE.equals(desc.getState()) desc.setState(IComponentDescription.STATE_SUSPENDED); cancel(adapter).addResultListener(new DelegationResultListener<Void>(ret));
if(desc.getName().getParent()!=null) killparent = desc.getMaster()!=null && desc.getMaster().booleanValue(); CMSComponentDescription padesc = (CMSComponentDescription)getDescription(desc.getName().getParent()); if(padesc!=null) padesc.removeChild(desc.getName()); Boolean pas = padesc.getAutoShutdown(); Boolean dae = desc.getDaemon(); Integer childcount = (Integer)childcounts.get(padesc.getName()); childcounts.put(padesc.getName(), new Integer(cc)); else childcounts.remove(padesc.getName()); pad = (IComponentAdapter)adapters.get(desc.getName().getParent());
/** * Set the state of a component (i.e. update the component description). * Currently only switching between suspended/waiting is allowed. */ // hack??? public void setComponentState(IComponentIdentifier comp, String state) { assert IComponentDescription.STATE_SUSPENDED.equals(state) : "wrong state: "+comp+", "+state; CMSComponentDescription desc = null; desc = (CMSComponentDescription)getDescription(comp); desc.setState(state); notifyListenersChanged(comp, desc); }
exitDestroy(cid, desc, new RuntimeException("No cleanup command for component "+cid+": "+desc.getState()), null);
if(desc.getName().getParent()!=null) killparent = desc.isMaster(); CMSComponentDescription padesc = (CMSComponentDescription)getDescription(desc.getName().getParent()); if(padesc!=null) padesc.removeChild(desc.getName()); if(!desc.isDaemon()) Integer childcount = (Integer)childcounts.get(padesc.getName()); childcounts.put(padesc.getName(), Integer.valueOf(cc)); else childcounts.remove(padesc.getName()); killparent = killparent || (padesc.isAutoShutdown() && (childcount==null || childcount.intValue()<=1)); pad = (PlatformComponent)components.get(desc.getName().getParent());
/** * Get the children of a component. */ protected IComponentIdentifier[] internalGetChildren(final IComponentIdentifier cid) { IComponentIdentifier[] tmp; CMSComponentDescription desc = (CMSComponentDescription)getDescription(cid); // System.out.println("desc: "+desc.getName()+" "+desc.hashCode()); tmp = desc!=null? desc.getChildren()!=null? desc.getChildren(): IComponentIdentifier.EMPTY_COMPONENTIDENTIFIERS: IComponentIdentifier.EMPTY_COMPONENTIDENTIFIERS; // System.out.println(getServiceIdentifier()+" "+desc.getName()+" "+SUtil.arrayToString(tmp)); return tmp; }
public void customResultAvailable(IComponentManagementService cms) IComponentDescription adesc = new CMSComponentDescription(null, null, null, null, null, null, null, getModelName(), null, null, -1, null, null); cms.searchComponents(adesc, null, isRemote()).addResultListener(new SwingDefaultResultListener<IComponentDescription[]>(AbstractComponentSelectorPanel.this)
/** * Add a new component to its parent. */ protected IFuture<Void> addSubcomponent(IInternalAccess pad, IComponentDescription ad, IModelInfo lmodel) { CMSComponentDescription padesc = (CMSComponentDescription)pad.getComponentDescription(); padesc.addChild(ad.getName()); // if(padesc.isAutoShutdown() && !ad.isDaemon()) // if(pas!=null && pas.booleanValue() && (dae==null || !dae.booleanValue())) // cannot check parent shutdown state because could be still uninited if(!ad.isDaemon()) { Integer childcount = (Integer)childcounts.get(padesc.getName()); int cc = childcount!=null ? childcount.intValue()+1 : 1; childcounts.put(padesc.getName(), Integer.valueOf(cc)); } // Register component at parent. return ((IInternalSubcomponentsFeature)pad.getComponentFeature(ISubcomponentsFeature.class)).componentCreated(ad);//, lmodel); }
/** * Get the component descriptions. * @return The component descriptions. */ public IFuture<IComponentDescription[]> getComponentDescriptions() { Future<IComponentDescription[]> fut = new Future<IComponentDescription[]>(); IComponentDescription[] ret = new IComponentDescription[adapters.size()]; int i=0; for(Iterator<IComponentAdapter> it=adapters.values().iterator(); i<ret.length; i++) { ret[i] = (IComponentDescription)((CMSComponentDescription)((IComponentAdapter)it.next()).getDescription()).clone(); } fut.setResult(ret); return fut; }
/** * Clone a component description. */ public Object clone() { try { CMSComponentDescription ret = (CMSComponentDescription)super.clone(); if(name!=null) ret.setName((ComponentIdentifier)((ComponentIdentifier)name).clone()); if(children!=null) { ret.children = new LinkedHashSet(); ret.children.addAll(children); } ret.cause = cause!=null ? new Cause(cause) : cause; return ret; } catch(CloneNotSupportedException e) { throw new RuntimeException("Cannot clone: " + this); } }
if(ad!=null && ad.getName().equals(adesc.getName())) CMSComponentDescription desc = (CMSComponentDescription)ad.clone(); ret.add(desc); (adesc.getOwnership()==null || adesc.getOwnership().equals(test.getOwnership())) && (adesc.getType()==null || adesc.getType().equals(test.getType())) && (adesc.getState()==null || adesc.getState().equals(test.getState())) && (adesc.getModelName()==null || adesc.getModelName().equals(test.getModelName())))
if(IComponentDescription.STATE_ACTIVE.equals(desc.getState())) IComponentIdentifier[] achildren = desc.getChildren(); for(int i=0; i<achildren.length; i++) desc.setState(IComponentDescription.STATE_SUSPENDED); notifyListenersChanged(cid, desc);
if(desc.getName().getParent()!=null) killparent = desc.getMaster()!=null && desc.getMaster().booleanValue(); CMSComponentDescription padesc = (CMSComponentDescription)getDescription(desc.getName().getParent()); if(padesc!=null) padesc.removeChild(desc.getName()); Boolean pas = padesc.getAutoShutdown(); Boolean dae = desc.getDaemon(); Integer childcount = (Integer)childcounts.get(padesc.getName()); childcounts.put(padesc.getName(), new Integer(cc)); else childcounts.remove(padesc.getName()); pad = (IComponentAdapter)adapters.get(desc.getName().getParent());