step.getExtension() .map(WithDependencies::getDependencies) .ifPresent(dependencies::addAll); step.getExtension() .map(Extension::getExtensionId) .map(Dependency::extension)
.ifPresent(dependencies::addAll); step.getExtension() .map(WithDependencies::getDependencies) .ifPresent(dependencies::addAll); step.getExtension() .map(Extension::getExtensionId) .map(Dependency::extension)
private void addToExport(JsonDB export, Integration integration) { addModelToExport(export, integration); for (Step step : integration.getSteps()) { Optional<Connection> c = step.getConnection(); if (c.isPresent()) { Connection connection = c.get(); addModelToExport(export, connection); Connector connector = integrationHandler.getDataManager().fetch(Connector.class, connection.getConnectorId().get()); if (connector != null) { addModelToExport(export, connector); } } Optional<Extension> e = step.getExtension(); if (e.isPresent()) { Extension extension = e.get(); addModelToExport(export, extension); } } }
protected IntegrationDeployment newIntegration(Step... steps) { for (int i = 0; i < steps.length; i++) { steps[i].getConnection().filter(r -> r.getId().isPresent()).ifPresent( resource -> resourceManager.put(resource.getId().get(), resource) ); steps[i].getAction().filter(ConnectorAction.class::isInstance).map(ConnectorAction.class::cast).filter(r -> r.getId().isPresent()).ifPresent( resource -> resourceManager.put(resource.getId().get(), resource) ); steps[i].getExtension().filter(r -> r.getId().isPresent()).ifPresent( resource -> resourceManager.put(resource.getId().get(), resource) ); if (steps[i] instanceof SimpleStep) { steps[i] = new SimpleStep.Builder().createFrom(steps[i]).putMetadata(Step.METADATA_STEP_INDEX, Integer.toString(i + 1)).build(); } else if (steps[i] instanceof ExpressionFilterStep) { steps[i] = new ExpressionFilterStep.Builder().createFrom(steps[i]).putMetadata(Step.METADATA_STEP_INDEX, Integer.toString(i + 1)).build(); } else if (steps[i] instanceof RuleFilterStep) { steps[i] = new RuleFilterStep.Builder().createFrom(steps[i]).putMetadata(Step.METADATA_STEP_INDEX, Integer.toString(i + 1)).build(); } } return new IntegrationDeployment.Builder() .integrationId("test-integration") .name("Test Integration") .spec(new IntegrationDeploymentSpec.Builder() .description("This is a test integration!") .steps(Arrays.asList(steps)) .build()) .lastUpdated(new Date(0)) .lastUpdated(new Date(0)) .build(); }