@SuppressWarnings({"unchecked"}) public Optional<BuildResourcesCommand> generate(LogicalComponent<?> component) { if (!(component instanceof LogicalCompositeComponent) || (component.getState() != LogicalState.NEW)) { return Optional.empty(); } LogicalCompositeComponent composite = (LogicalCompositeComponent) component; if (composite.getResources().isEmpty()) { return Optional.empty(); } List<PhysicalResource> physicalResources = new ArrayList<>(); for (LogicalResource<?> logicalResource : composite.getResources()) { Resource resource = logicalResource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resource.getClass()); PhysicalResource physicalResource = generator.generateResource(logicalResource); physicalResources.add(physicalResource); } if (physicalResources.isEmpty()) { return Optional.empty(); } return Optional.of(new BuildResourcesCommand(physicalResources)); }
@SuppressWarnings({"unchecked"}) public Optional<BuildResourcesCommand> generate(LogicalComponent<?> component) { if (!(component instanceof LogicalCompositeComponent) || (component.getState() != LogicalState.NEW)) { return Optional.empty(); } LogicalCompositeComponent composite = (LogicalCompositeComponent) component; if (composite.getResources().isEmpty()) { return Optional.empty(); } List<PhysicalResource> physicalResources = new ArrayList<>(); for (LogicalResource<?> logicalResource : composite.getResources()) { Resource resource = logicalResource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resource.getClass()); PhysicalResource physicalResource = generator.generateResource(logicalResource); physicalResources.add(physicalResource); } if (physicalResources.isEmpty()) { return Optional.empty(); } return Optional.of(new BuildResourcesCommand(physicalResources)); }
@SuppressWarnings({"unchecked"}) public Optional<DisposeResourcesCommand> generate(LogicalComponent<?> component) { if (!(component instanceof LogicalCompositeComponent) || (component.getState() != LogicalState.MARKED)) { return Optional.empty(); } LogicalCompositeComponent composite = (LogicalCompositeComponent) component; if (composite.getResources().isEmpty()) { return Optional.empty(); } List<PhysicalResource> physicalResources = new ArrayList<>(); for (LogicalResource<?> logicalResource : composite.getResources()) { Resource resource = logicalResource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resource.getClass()); PhysicalResource physicalResource = generator.generateResource(logicalResource); physicalResources.add(physicalResource); } if (physicalResources.isEmpty()) { return Optional.empty(); } return Optional.of(new DisposeResourcesCommand(physicalResources)); }
@SuppressWarnings({"unchecked"}) public Optional<DisposeResourcesCommand> generate(LogicalComponent<?> component) { if (!(component instanceof LogicalCompositeComponent) || (component.getState() != LogicalState.MARKED)) { return Optional.empty(); } LogicalCompositeComponent composite = (LogicalCompositeComponent) component; if (composite.getResources().isEmpty()) { return Optional.empty(); } List<PhysicalResource> physicalResources = new ArrayList<>(); for (LogicalResource<?> logicalResource : composite.getResources()) { Resource resource = logicalResource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resource.getClass()); PhysicalResource physicalResource = generator.generateResource(logicalResource); physicalResources.add(physicalResource); } if (physicalResources.isEmpty()) { return Optional.empty(); } return Optional.of(new DisposeResourcesCommand(physicalResources)); }
@SuppressWarnings({"unchecked"}) public BuildResourcesCommand generate(LogicalComponent<?> component, boolean incremental) throws GenerationException { if (!(component instanceof LogicalCompositeComponent) || (component.getState() != LogicalState.NEW && incremental)) { return null; } LogicalCompositeComponent composite = (LogicalCompositeComponent) component; if (composite.getResources().isEmpty()) { return null; } List<PhysicalResourceDefinition> definitions = new ArrayList<PhysicalResourceDefinition>(); for (LogicalResource<?> resource : composite.getResources()) { ResourceDefinition resourceDefinition = resource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resourceDefinition.getClass()); PhysicalResourceDefinition definition = generator.generateResource(resource); definitions.add(definition); } if (definitions.isEmpty()) { return null; } return new BuildResourcesCommand(definitions); }
@SuppressWarnings({"unchecked"}) public DisposeResourcesCommand generate(LogicalComponent<?> component, boolean incremental) throws GenerationException { if (!(component instanceof LogicalCompositeComponent) || (component.getState() != LogicalState.MARKED)) { return null; } LogicalCompositeComponent composite = (LogicalCompositeComponent) component; if (composite.getResources().isEmpty()) { return null; } List<PhysicalResourceDefinition> definitions = new ArrayList<PhysicalResourceDefinition>(); for (LogicalResource<?> resource : composite.getResources()) { ResourceDefinition resourceDefinition = resource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resourceDefinition.getClass()); PhysicalResourceDefinition definition = generator.generateResource(resource); definitions.add(definition); } if (definitions.isEmpty()) { return null; } return new DisposeResourcesCommand(definitions); }
Iterator<LogicalResource<?>> resourceIter = composite.getResources().iterator(); while (resourceIter.hasNext()) { LogicalResource<?> resource = resourceIter.next();
for (LogicalResource<?> resource : domain.getResources()) { Optional<Command> command = resourceGenerator.generateBuild(resource); command.ifPresent(deployment::addCommand); for (LogicalResource<?> resource : domain.getResources()) { Optional<Command> command = resourceGenerator.generateDispose(resource); command.ifPresent(deployment::addCommand);
Iterator<LogicalResource<?>> resourceIter = composite.getResources().iterator(); while (resourceIter.hasNext()) { LogicalResource<?> resource = resourceIter.next();
Iterator<LogicalResource<?>> resourceIter = composite.getResources().iterator(); while (resourceIter.hasNext()) { LogicalResource<?> resource = resourceIter.next();
for (LogicalResource<?> resource : domain.getResources()) { Optional<Command> command = resourceGenerator.generateBuild(resource); command.ifPresent(deployment::addCommand); for (LogicalResource<?> resource : domain.getResources()) { Optional<Command> command = resourceGenerator.generateDispose(resource); command.ifPresent(deployment::addCommand);
composite.getResources().stream().filter(resource -> NEW == resource.getState()).forEach(resource -> resource.setState(PROVISIONED));
composite.getResources().stream().filter(resource -> NEW == resource.getState()).forEach(resource -> resource.setState(PROVISIONED));
public void allocate(LogicalComponent<?> component, DeploymentPlan plan) throws AllocationException { if (Names.LOCAL_ZONE.equals(component.getZone())) { if (component instanceof LogicalCompositeComponent) { LogicalCompositeComponent composite = (LogicalCompositeComponent) component; for (LogicalComponent<?> child : composite.getComponents()) { allocate(child, plan); } for (LogicalResource<?> resource : composite.getResources()) { allocate(resource, plan); } for (LogicalChannel channel : composite.getChannels()) { allocate(channel, plan); } } component.setZone(zoneName); } }
public void allocate(LogicalComponent<?> component, DeploymentPlan plan) throws AllocationException { if (Names.LOCAL_ZONE.equals(component.getZone())) { if (component instanceof LogicalCompositeComponent) { LogicalCompositeComponent composite = (LogicalCompositeComponent) component; for (LogicalComponent<?> child : composite.getComponents()) { allocate(child, plan); } for (LogicalResource<?> resource : composite.getResources()) { allocate(resource, plan); } for (LogicalChannel channel : composite.getChannels()) { allocate(channel, plan); } } selectZone(component, plan); } }
for (LogicalResource<?> resource : domain.getResources()) { String zone = resource.getZone(); CompensatableCommand command = resourceGenerator.generateBuild(resource, incremental); for (LogicalResource<?> resource : domain.getResources()) { String zone = resource.getZone(); CompensatableCommand command = resourceGenerator.generateDispose(resource, incremental);
/** * Recursively sets the deployable composite the logical component was instantiated from. * * @param component the logical component * @param deployable the deployable */ private void setDeployable(LogicalComponent<?> component, QName deployable) { if (component instanceof LogicalCompositeComponent) { LogicalCompositeComponent composite = (LogicalCompositeComponent) component; for (LogicalComponent<?> child : composite.getComponents()) { setDeployable(child, deployable); } for (LogicalResource<?> resource : composite.getResources()) { resource.setDeployable(deployable); } for (LogicalChannel channel : composite.getChannels()) { channel.setDeployable(deployable); } } component.setDeployable(deployable); }
for (LogicalResource resource : composite.getResources()) { if (contributionUri.equals(resource.getDefinition().getContributionUri())) { resource.setState(MARKED);
for (LogicalResource resource : composite.getResources()) { if (contributionUri.equals(resource.getDefinition().getContributionUri())) { resource.setState(MARKED);
/** * Delegates to the Allocator to determine which runtimes to deploy the given collection of components to. * * @param domain the domain component * @param plan the deployment plan * @throws AllocationException if an allocation error occurs */ private void allocate(LogicalCompositeComponent domain, DeploymentPlan plan) throws AllocationException { if (allocator == null) { // allocator is an optional extension return; } for (LogicalResource<?> resource : domain.getResources()) { if (resource.getState() == LogicalState.NEW) { allocator.allocate(resource, plan); } } for (LogicalChannel channel : domain.getChannels()) { if (channel.getState() == LogicalState.NEW) { allocator.allocate(channel, plan); } } Collection<LogicalComponent<?>> components = domain.getComponents(); for (LogicalComponent<?> component : components) { if (component.getState() == LogicalState.NEW) { allocator.allocate(component, plan); } } }