class CamelKPublishHandler extends BaseCamelKHandler implements StateChangeHandler {

    protected Secret createIntegrationSecret(IntegrationDeployment integrationDeployment) {
        final Integration integration = integrationDeployment.getSpec();

        Properties applicationProperties = projectGenerator.generateApplicationProperties(integration);

        //TODO: maybe add owner reference
        return new SecretBuilder()
            .withNewMetadata()
                .withName(CamelKSupport.integrationName(integration.getName()))
            .endMetadata()
            .addToStringData("application.properties", CamelKSupport.propsToString(applicationProperties))
            .build();
    }

    public  CamelKPublishHandler(
        OpenShiftService openShiftService,
        IntegrationDao iDao,
        IntegrationDeploymentDao idDao,
        IntegrationProjectGenerator projectGenerator,
        IntegrationPublishValidator validator,
        IntegrationResourceManager resourceManager,
        List<CamelKIntegrationCustomizer> customizers,
        ControllersConfigurationProperties configuration,
        ExposureHelper exposureHelper);

}