Fix Sdc controller
[clamp.git] / src / main / java / org / onap / clamp / clds / Application.java
index 2727535..5975b9d 100644 (file)
@@ -18,7 +18,7 @@
  * limitations under the License.
  * ============LICENSE_END============================================
  * ===================================================================
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * 
  */
 
 package org.onap.clamp.clds;
@@ -26,9 +26,10 @@ package org.onap.clamp.clds;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 
+import org.apache.camel.component.servlet.CamelHttpTransportServlet;
 import org.apache.catalina.connector.Connector;
-import org.onap.clamp.clds.model.prop.Holmes;
-import org.onap.clamp.clds.model.prop.ModelProperties;
+import org.onap.clamp.clds.model.properties.Holmes;
+import org.onap.clamp.clds.model.properties.ModelProperties;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration;
@@ -41,10 +42,13 @@ import org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration
 import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
 import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
 import org.springframework.boot.web.support.SpringBootServletInitializer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 @SpringBootApplication
 @ComponentScan(basePackages = {
@@ -54,7 +58,9 @@ import org.springframework.scheduling.annotation.EnableAsync;
         DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class,
         SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class
 })
+@EnableConfigurationProperties
 @EnableAsync
+@EnableScheduling
 public class Application extends SpringBootServletInitializer {
 
     protected static final EELFLogger EELF_LOGGER = EELFManager.getInstance().getLogger(Application.class);
@@ -81,13 +87,26 @@ public class Application extends SpringBootServletInitializer {
         // This is to initialize some Onap Clamp components
         initializeComponents();
         // Start the Spring application
-        SpringApplication.run(Application.class, args); // NOSONAR
+        SpringApplication.run(Application.class, args);
     }
 
     private static void initializeComponents() {
         ModelProperties.registerModelElement(Holmes.class, Holmes.getType());
     }
 
+    /**
+     * This method is used to declare the camel servlet.
+     * 
+     * @return A servlet bean
+     */
+    @Bean
+    public ServletRegistrationBean camelServletRegistrationBean() {
+        ServletRegistrationBean registration = new ServletRegistrationBean(new CamelHttpTransportServlet(),
+                "/restservices/clds/v2");
+        registration.setName("CamelServlet");
+        return registration;
+    }
+
     /**
      * This method is used by Spring to create the servlet container factory.
      *