@Override protected void handleLackOfCandidate(Deployment deployment, List<Component> candidates) { final String message = String.format( "Unable to find a node type relevant to install artefacts of type '%s'", component.getRequiredExecutionPlatform().getName()); throw new IllegalStateException(message); } }
private void initRequiredExecutionPlatform(InternalComponent ic, net.cloudml.core.InternalComponent ka) { if (ic.getRequiredExecutionPlatform() != null) { net.cloudml.core.RequiredExecutionPlatform krep = factory.createRequiredExecutionPlatform(); krep.setName(ic.getRequiredExecutionPlatform().getName()); krep.setOwner(ka); convertDemands(ic, krep); convertProperties(ic.getRequiredExecutionPlatform(), krep, factory); convertResources(ic.getRequiredExecutionPlatform(), krep, factory); ka.setRequiredExecutionPlatform(krep); } }
public boolean canHost(InternalComponent component) { return offers.containsAll(component.getRequiredExecutionPlatform().getDemands()); }
private RequiredExecutionPlatformInstance rejectIfInvalid(RequiredExecutionPlatformInstance platform) { if (platform == null) { final String error = String.format("Error in internal component instance '%s'! ('null' cannot be the required execution platform)", getQualifiedName()); throw new IllegalArgumentException(error); } if (!platform.getType().equals(this.getType().getRequiredExecutionPlatform())) { final String error = String.format("Error in internal component instance '%s'! Required execution platform has a wrong type (expected: '%s' but found '%s')", getQualifiedName(), getType().getRequiredExecutionPlatform().getQualifiedName(), platform.getType().getQualifiedName()); throw new IllegalArgumentException(error); } return platform; }
public boolean match(InternalComponent component) { return getType().match(component.getRequiredExecutionPlatform()); }
@Override public void dispatchTo(Visitor visitor, InternalComponent internalComponent) { dispatchTo(visitor, (Component) internalComponent); for (RequiredPort port : internalComponent.getRequiredPorts()) { visitor.visitRequiredPort(port); } visitor.visitRequiredExecutionPlatform(internalComponent.getRequiredExecutionPlatform()); }
public InternalComponentInstance(String name, InternalComponent type) { super(name, type); requiredPortInstances = instantiateAllRequiredPorts(type); requiredExecutionPlatformInstance = type.getRequiredExecutionPlatform().instantiate(); requiredExecutionPlatformInstance.getOwner().set(this); this.status = State.UNINSTALLED; }
private void convertDemands(InternalComponent ic, net.cloudml.core.RequiredExecutionPlatform krep) { for(Property eachDemand: ic.getRequiredExecutionPlatform().getDemands()) { net.cloudml.core.Property kDemand = factory.createProperty(); kDemand.setName(eachDemand.getName()); kDemand.setValue(eachDemand.getValue()); krep.addDemands(kDemand); } }
private void initRequiredExecutionPlatformInstance(net.cloudml.core.InternalComponentInstance kInternalComponentInstance, InternalComponentInstance ai) { if (kInternalComponentInstance.getRequiredExecutionPlatformInstance() != null) { //assert !vmInstances.isEmpty(); RequiredExecutionPlatformInstance repi = new RequiredExecutionPlatformInstance(kInternalComponentInstance.getRequiredExecutionPlatformInstance().getName(), ai.getType().getRequiredExecutionPlatform()); repi.getOwner().set(ai); convertProperties(kInternalComponentInstance.getRequiredExecutionPlatformInstance(), repi); convertResources(kInternalComponentInstance.getRequiredExecutionPlatformInstance(), repi); requiredExecutionPlatformInstances.put(repi.getName(), repi); ai.setRequiredExecutionPlatform(repi); } }