private List<CommandGenerator> sortGenerators(List<? extends CommandGenerator> commandGenerators) { Comparator<CommandGenerator> generatorComparator = (first, second) -> first.getOrder() - second.getOrder(); List<CommandGenerator> sorted = new ArrayList<>(commandGenerators); Collections.sort(sorted, generatorComparator); return sorted; }
@SuppressWarnings("unchecked") private <T extends Binding> ConnectionBindingGenerator<T> getGenerator(LogicalBinding<T> binding) { return (ConnectionBindingGenerator<T>) generatorRegistry.getConnectionBindingGenerator(binding.getDefinition().getClass()); }
private <T extends ResourceReference> ResourceReferenceGenerator<T> getGenerator(T reference) { return Cast.cast(generatorRegistry.getResourceReferenceGenerator(reference.getClass())); }
@SuppressWarnings("unchecked") private <C extends LogicalComponent<?>> ComponentGenerator<C> getGenerator(C component) { Implementation<?> implementation = component.getDefinition().getImplementation(); return (ComponentGenerator<C>) generatorRegistry.getComponentGenerator(implementation.getClass()); }
/** * Allocates and deploys new components in the domain. * * @param domain the domain component * @throws Fabric3Exception if an error is encountered during deployment */ private void deploy(LogicalCompositeComponent domain) throws Fabric3Exception { // generate and provision any new components and new wires Deployment deployment = generator.generate(domain); collector.markAsProvisioned(domain); deployer.deploy(deployment); }
public void deploy(Deployment deployment) throws Fabric3Exception { List<Command> commands = deployment.getCommands(); execute(commands); if (scopeRegistry != null) { scopeRegistry.getScopeContainer(Scope.COMPOSITE).reinject(); } }
private <T extends Binding> WireBindingGenerator<T> getGenerator(LogicalBinding<T> binding) { return Cast.cast(generatorRegistry.getBindingGenerator(binding.getDefinition().getClass())); }
/** * Generates interceptor definitions for the operation based on a set of resolved policies. * * @param source the operation * @param target the target operation * @return the interceptor definitions */ private Set<PhysicalInterceptor> generateInterceptors(LogicalOperation source, LogicalOperation target) { Set<PhysicalInterceptor> interceptors = new LinkedHashSet<>(); for (InterceptorGenerator interceptorGenerator : generatorRegistry.getInterceptorGenerators()) { Optional<PhysicalInterceptor> optional = interceptorGenerator.generate(source, target); optional.ifPresent(interceptors::add); } return interceptors; }
@SuppressWarnings({"unchecked"}) private List<PhysicalResource> createPhysicalResources(LogicalResource logicalResource) throws Fabric3Exception { List<PhysicalResource> physicalResources = new ArrayList<>(); Resource resource = logicalResource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resource.getClass()); PhysicalResource physicalResource = generator.generateResource(logicalResource); physicalResources.add(physicalResource); return physicalResources; }
@SuppressWarnings("unchecked") private <C extends LogicalComponent<?>> ComponentGenerator<C> getGenerator(C component) { Implementation<?> implementation = component.getDefinition().getImplementation(); return (ComponentGenerator<C>) generatorRegistry.getComponentGenerator(implementation.getClass()); }
private List<CommandGenerator> sortGenerators(List<? extends CommandGenerator> commandGenerators) { Comparator<CommandGenerator> generatorComparator = (first, second) -> first.getOrder() - second.getOrder(); List<CommandGenerator> sorted = new ArrayList<>(commandGenerators); Collections.sort(sorted, generatorComparator); return sorted; }
@SuppressWarnings("unchecked") private <T extends Binding> ConnectionBindingGenerator<T> getGenerator(LogicalBinding<T> binding) { return (ConnectionBindingGenerator<T>) generatorRegistry.getConnectionBindingGenerator(binding.getDefinition().getClass()); }
/** * Allocates and deploys new components in the domain. * * @param domain the domain component * @throws Fabric3Exception if an error is encountered during deployment */ private void deploy(LogicalCompositeComponent domain) throws Fabric3Exception { // generate and provision any new components and new wires Deployment deployment = generator.generate(domain); collector.markAsProvisioned(domain); deployer.deploy(deployment); }
private <T extends ResourceReference> ResourceReferenceGenerator<T> getGenerator(T reference) { return Cast.cast(generatorRegistry.getResourceReferenceGenerator(reference.getClass())); }
public void deploy(Deployment deployment) throws Fabric3Exception { List<Command> commands = deployment.getCommands(); execute(commands); if (scopeRegistry != null) { scopeRegistry.getScopeContainer(Scope.COMPOSITE).reinject(); } }
private <T extends Binding> WireBindingGenerator<T> getGenerator(LogicalBinding<T> binding) { return Cast.cast(generatorRegistry.getBindingGenerator(binding.getDefinition().getClass())); }
/** * Generates interceptor definitions for the operation based on a set of resolved policies. * * @param source the operation * @param target the target operation * @return the interceptor definitions */ private Set<PhysicalInterceptor> generateInterceptors(LogicalOperation source, LogicalOperation target) { Set<PhysicalInterceptor> interceptors = new LinkedHashSet<>(); for (InterceptorGenerator interceptorGenerator : generatorRegistry.getInterceptorGenerators()) { Optional<PhysicalInterceptor> optional = interceptorGenerator.generate(source, target); optional.ifPresent(interceptors::add); } return interceptors; }
@SuppressWarnings({"unchecked"}) private List<PhysicalResource> createPhysicalResources(LogicalResource logicalResource) throws Fabric3Exception { List<PhysicalResource> physicalResources = new ArrayList<>(); Resource resource = logicalResource.getDefinition(); ResourceGenerator generator = generatorRegistry.getResourceGenerator(resource.getClass()); PhysicalResource physicalResource = generator.generateResource(logicalResource); physicalResources.add(physicalResource); return physicalResources; }
private <C extends LogicalComponent<?>> ComponentGenerator<C> getGenerator(C component) { Implementation<?> implementation = component.getDefinition().getImplementation(); return Cast.cast(generatorRegistry.getComponentGenerator(implementation.getClass())); }
private <C extends LogicalComponent<?>> ComponentGenerator<C> getGenerator(C component) { Implementation<?> implementation = component.getDefinition().getImplementation(); return Cast.cast(generatorRegistry.getComponentGenerator(implementation.getClass())); }