Create plugin point for csar generation
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / config / CatalogBESpringConfig.java
index aa5cdac..17f7a04 100644 (file)
@@ -1,31 +1,77 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ * Modifications copyright (c) 2019 Nokia
+ * ================================================================================
+ */
 package org.openecomp.sdc.config;
 
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.onap.portalsdk.core.onboarding.exception.CipherUtilException;
+import org.onap.sdc.security.PortalClient;
+import org.openecomp.sdc.be.auditing.impl.ConfigurationProvider;
 import org.openecomp.sdc.be.components.impl.ComponentLocker;
+import org.openecomp.sdc.be.components.impl.aaf.RoleAuthorizationHandler;
 import org.openecomp.sdc.be.components.impl.lock.ComponentLockAspect;
 import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic;
+import org.openecomp.sdc.be.config.ConfigurationManager;
 import org.openecomp.sdc.be.ecomp.converters.AssetMetadataConverter;
-import org.openecomp.sdc.common.transaction.mngr.TransactionManager;
+import org.openecomp.sdc.be.filters.FilterConfiguration;
+import org.openecomp.sdc.be.filters.PortalConfiguration;
+import org.openecomp.sdc.be.filters.ThreadLocalUtils;
+import org.openecomp.sdc.be.tosca.CommonCsarGenerator;
+import org.openecomp.sdc.be.tosca.DefaultCsarGenerator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.annotation.Order;
 
+// @formatter:off
 @Configuration
-@ComponentScan({"org.openecomp.sdc.be.user",
-        "org.openecomp.sdc.be.impl",
-        "org.openecomp.sdc.be.auditing.impl",
-        "org.openecomp.sdc.be.distribution",
-        "org.openecomp.sdc.be.switchover.detector",
-        "org.openecomp.sdc.be.tosca",
-        "org.openecomp.sdc.be.components.validation",
-        "org.openecomp.sdc.be.components.impl",
-        "org.openecomp.sdc.be.components.path",
-        "org.openecomp.sdc.be.components.merge",
-        "org.openecomp.sdc.be.components.csar",
-        "org.openecomp.sdc.be.components.property",
-        "org.openecomp.sdc.be.datamodel.utils",
-        "org.openecomp.sdc.be.components.upgrade"})
+@ComponentScan({
+    "org.openecomp.sdc.be.user",
+    "org.openecomp.sdc.be.facade.operations",
+    "org.openecomp.sdc.be.impl",
+    "org.openecomp.sdc.be.auditing.impl",
+    "org.openecomp.sdc.be.distribution",
+    "org.openecomp.sdc.be.switchover.detector",
+    "org.openecomp.sdc.be.tosca",
+    "org.openecomp.sdc.be.components.validation",
+    "org.openecomp.sdc.be.catalog.impl",
+    "org.openecomp.sdc.be.components.impl",
+    "org.openecomp.sdc.be.components.path",
+    "org.openecomp.sdc.be.components.merge",
+    "org.openecomp.sdc.be.components.csar",
+    "org.openecomp.sdc.be.components.property",
+    "org.openecomp.sdc.be.components.attribute",
+    "org.openecomp.sdc.be.components.kafka",
+    "org.openecomp.sdc.be.csar.security",
+    "org.openecomp.sdc.be.datamodel.utils",
+    "org.openecomp.sdc.be.components.upgrade",
+    "org.openecomp.sdc.be.externalapi.servlet",
+    "org.openecomp.sdc.be.servlets",
+    "org.openecomp.sdc.be.filters",
+    "org.openecomp.sdc.be.plugins",
+    "org.openecomp.sdc.be.togglz",
+    "org.openecomp.sdc.be.model.cache",
+    "org.openecomp.sdc.be.ui.mapper"})
+// @formatter:on
 public class CatalogBESpringConfig {
 
     private static final int BEFORE_TRANSACTION_MANAGER = 0;
@@ -41,9 +87,9 @@ public class CatalogBESpringConfig {
         return new LifecycleBusinessLogic();
     }
 
-    @Bean(name = "transactionManager")
-    public TransactionManager transactionManager() {
-        return new TransactionManager();
+    @Bean(name = "configurationProvider")
+    public ConfigurationProvider configurationProvider() {
+        return new ConfigurationProvider();
     }
 
     @Bean(name = "asset-metadata-utils")
@@ -57,5 +103,44 @@ public class CatalogBESpringConfig {
         return new ComponentLockAspect(componentLocker);
     }
 
+    @Bean
+    public RoleAuthorizationHandler roleAuthorizationHandler() {
+        return new RoleAuthorizationHandler();
+    }
+
+    @Bean
+    public CloseableHttpClient httpClientConnectionManager() {
+        HttpClientFactory httpClientFactory = new HttpClientFactory();
+        return httpClientFactory.createHttpClient();
+    }
+
+    @Bean
+    public PortalConfiguration portalConfiguration() throws CipherUtilException {
+        return new PortalConfiguration();
+    }
+
+    @Bean
+    public FilterConfiguration filterConfiguration() {
+        return new FilterConfiguration(configuration());
+    }
 
+    @Bean
+    public ThreadLocalUtils threadLocalUtils() {
+        return new ThreadLocalUtils();
+    }
+
+    @Bean
+    public PortalClient portalClient() throws CipherUtilException {
+        return new PortalClient(httpClientConnectionManager(), portalConfiguration());
+    }
+
+    @Bean(name = "defaultCsarGenerator")
+    public DefaultCsarGenerator defaultCsarGenerator(CommonCsarGenerator commonCsarGenerator) {
+        return new DefaultCsarGenerator(commonCsarGenerator);
+    }
+
+    @Bean
+    public org.openecomp.sdc.be.config.Configuration configuration() {
+        return ConfigurationManager.getConfigurationManager().getConfiguration();
+    }
 }