summaryrefslogtreecommitdiffstats
path: root/sparkybe-onap-application/src
diff options
context:
space:
mode:
authorda490c <dave.adams@amdocs.com>2018-03-22 00:32:52 -0400
committerda490c <dave.adams@amdocs.com>2018-03-22 09:34:25 -0400
commitba31685194c77ef140411531299696ae701385d4 (patch)
tree912f7d5b3378901ccabb8df52b26866d74572f10 /sparkybe-onap-application/src
parentef7f255958e541ffaec0fd2a977440dd7b6fd6b8 (diff)
Convert Sparky to Spring-Boot
Issue-ID: AAI-599 Change-Id: If474dd02794f442fdddcd90f62fb75e0d6b907e7 Signed-off-by: da490c <dave.adams@amdocs.com>
Diffstat (limited to 'sparkybe-onap-application/src')
-rw-r--r--sparkybe-onap-application/src/main/config/ajsc-override-web.xml13
-rw-r--r--sparkybe-onap-application/src/main/config/runner-web.xml14
-rw-r--r--sparkybe-onap-application/src/main/docker/Dockerfile30
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java171
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java34
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java46
-rw-r--r--sparkybe-onap-application/src/main/resources/banner.txt8
-rw-r--r--sparkybe-onap-application/src/main/scripts/start.sh59
8 files changed, 375 insertions, 0 deletions
diff --git a/sparkybe-onap-application/src/main/config/ajsc-override-web.xml b/sparkybe-onap-application/src/main/config/ajsc-override-web.xml
new file mode 100644
index 0000000..b8ff7da
--- /dev/null
+++ b/sparkybe-onap-application/src/main/config/ajsc-override-web.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ metadata-complete="false" version="3.0">
+
+ <servlet-mapping>
+ <servlet-name>PortalRestAPIProxy</servlet-name>
+ <url-pattern>/api/v2/*</url-pattern>
+ </servlet-mapping>
+
+
+</web-app> \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/config/runner-web.xml b/sparkybe-onap-application/src/main/config/runner-web.xml
new file mode 100644
index 0000000..ca0c5e2
--- /dev/null
+++ b/sparkybe-onap-application/src/main/config/runner-web.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ metadata-complete="false" version="3.0">
+
+ <servlet>
+ <servlet-name>PortalRestAPIProxy</servlet-name>
+ <servlet-class>org.openecomp.portalsdk.core.onboarding.crossapi.PortalRestAPIProxy</servlet-class>
+ </servlet>
+
+
+
+</web-app>
diff --git a/sparkybe-onap-application/src/main/docker/Dockerfile b/sparkybe-onap-application/src/main/docker/Dockerfile
new file mode 100644
index 0000000..d98110c
--- /dev/null
+++ b/sparkybe-onap-application/src/main/docker/Dockerfile
@@ -0,0 +1,30 @@
+FROM ubuntu:14.04
+
+ARG MICRO_HOME=/opt/app/sparky
+ARG BIN_HOME=$MICRO_HOME/bin
+
+RUN apt-get update
+
+# Install and setup java8
+RUN apt-get update && apt-get install -y software-properties-common
+## sudo -E is required to preserve the environment. If you remove that line, it will most like freeze at this step
+RUN sudo -E add-apt-repository ppa:openjdk-r/ppa && apt-get update && apt-get install -y openjdk-8-jdk
+## Setup JAVA_HOME, this is useful for docker commandline
+ENV JAVA_HOME usr/lib/jvm/java-8-openjdk-amd64
+RUN export JAVA_HOME
+
+# Build up the deployment folder structure
+RUN mkdir -p $MICRO_HOME
+RUN mkdir -p $BIN_HOME
+
+# copy swm/package/nix/dist_files/appl/sparky-be/${project.version}/ $MICRO_HOME/
+RUN ls -la $BIN_HOME/
+
+#RUN chmod 755 $BIN_HOME/*
+RUN ln -s /logs $MICRO_HOME/logs
+
+EXPOSE 8000 8000
+
+CMD tail -F -n0 /etc/hosts
+#CMD /opt/app/sparky/bin/start.sh
+#CMD top
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
new file mode 100644
index 0000000..d6721b2
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
@@ -0,0 +1,171 @@
+/**
+ * ============LICENSE_START===================================================
+ * SPARKY (AAI UI service)
+ * ============================================================================
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * 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=====================================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
+ */
+/**
+ * This copy of Woodstox XML processor is licensed under the
+ * Apache (Software) License, version 2.0 ("the License").
+ * See the License for details about distribution rights, and the
+ * specific rights regarding derivate works.
+ *
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/
+ *
+ * A copy is also included in the downloadable source code package
+ * containing Woodstox, in file "ASL2.0", under the same directory
+ * as this file.
+ */
+package org.onap.aai.sparky;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.servlet.CamelHttpTransportServlet;
+import org.apache.camel.model.rest.RestBindingMode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@SpringBootApplication
+public class Application /*extends SpringBootServletInitializer */ {
+
+ private @Autowired AutowireCapableBeanFactory beanFactory;
+
+ public static void main(String[] args) {
+
+ ApplicationContext applicationContext = SpringApplication.run(Application.class, args);
+
+ /*for (String name : applicationContext.getBeanDefinitionNames()) {
+ System.out.println(name);
+ }*/
+
+ }
+
+ /* @Component
+ class RestApi extends RouteBuilder {
+
+ @Override
+ public void configure() {
+
+ //restConfiguration().component("restlet").contextPath("/rs").bindingMode(RestBindingMode.json);
+
+
+ /*rest("/books").description("Books REST service")
+ .get("/").description("The list of all the books")
+ .route().routeId("books-api")
+ .bean(Database.class, "findBooks")
+ .endRest()
+ .get("order/{id}").description("Details of an order by id")
+ .route().routeId("order-api")
+ .bean(Database.class, "findOrder(${header.id})");*/
+ /* }
+ }*/
+
+
+ /*
+ * TODO: we need to figure out the initialization required for our restlets
+ */
+
+ /*@Bean
+ public ServletRegistrationBean restletBootstrapInitialization() {
+
+ SpringServerServlet serverServlet = new SpringServerServlet();
+ ServletRegistrationBean regBean = new ServletRegistrationBean( serverServlet, "/rest/*");
+
+
+ Map<String,String> params = new HashMap<String,String>();
+
+ params.put("org.restlet.component", "restletComponent");
+
+ regBean.setInitParameters(params);
+
+ return regBean;
+ }*/
+
+
+
+ /*
+ * This initialization code enabled access to aai-ui-proxy-processor
+ */
+
+ @Bean
+ ServletRegistrationBean servletRegistrationBean() {
+ final ServletRegistrationBean servlet =
+ new ServletRegistrationBean(new CamelHttpTransportServlet(), "/rest/*");
+ servlet.setName("CamelServlet");
+ return servlet;
+ }
+
+ /* @Bean
+ public EmbeddedServletContainerFactory servletContainerFactory() {
+ return new TomcatEmbeddedServletContainerFactory() {
+
+ /*
+ * Stackoverflow solution for adding a WAR into our embedded tomcat runtime
+ * https://stackoverflow.com/questions/31374726/spring-boot-how-to-add-another-war-files-to-the-embedded-tomcat
+ */
+
+
+ /* @Override
+ protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(Tomcat tomcat) {
+ // Ensure that the webapps directory exists
+ System.out.println("catalina base = " + tomcat.getServer().getCatalinaBase());
+ new File(tomcat.getServer().getCatalinaBase(), "webapps").mkdirs();
+
+ try {
+ Context context = tomcat.addWebapp("/services/aai/webapp", "X:\\2018_dev\\OSEAAI\\NUC-7257-spring-boot-conversion\\onap_sparky-be\\src\\main\\resources\\extApps\\aai.war");
+
+ // Allow the webapp to load classes from your fat jar
+ context.setParentClassLoader(getClass().getClassLoader());
+ } catch (ServletException ex) {
+ throw new IllegalStateException("Failed to add webapp", ex);
+ }
+ return super.getTomcatEmbeddedServletContainer(tomcat);
+ }
+
+ };
+ }*/
+
+ /**
+ * bind LoginFilter
+ */
+
+ /*@Bean
+ public FilterRegistrationBean myFilter() {
+ FilterRegistrationBean registration = new FilterRegistrationBean();
+ Filter myFilter = new LoginFilter();
+ beanFactory.autowireBean(myFilter);
+ registration.setFilter(myFilter);
+ registration.addUrlPatterns("/*");
+ return registration;
+ }*/
+
+
+
+
+}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java
new file mode 100644
index 0000000..ddb697f
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java
@@ -0,0 +1,34 @@
+/**
+ * ============LICENSE_START===================================================
+ * SPARKY (AAI UI service)
+ * ============================================================================
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * 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=====================================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
+ */
+package org.onap.aai.sparky.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+@Configuration
+@PropertySource("file:${CONFIG_HOME}/config/sparky-application.properties")
+public class PropertyConfigLoader {
+
+}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java
new file mode 100644
index 0000000..e12e72d
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java
@@ -0,0 +1,46 @@
+/**
+ * ============LICENSE_START===================================================
+ * SPARKY (AAI UI service)
+ * ============================================================================
+ * Copyright © 2017 AT&T Intellectual Property.
+ * Copyright © 2017 Amdocs
+ * 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=====================================================
+ *
+ * ECOMP and OpenECOMP are trademarks
+ * and service marks of AT&T Intellectual Property.
+ */
+/**
+ * This copy of Woodstox XML processor is licensed under the
+ * Apache (Software) License, version 2.0 ("the License").
+ * See the License for details about distribution rights, and the
+ * specific rights regarding derivate works.
+ *
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/
+ *
+ * A copy is also included in the downloadable source code package
+ * containing Woodstox, in file "ASL2.0", under the same directory
+ * as this file.
+ */
+package org.onap.aai.sparky.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.ImportResource;
+
+@Configuration
+@ImportResource({"file:${CONFIG_HOME}/dynamic/spring-beans/*.xml"})
+public class SparkySpringXmlConfiguration {}
diff --git a/sparkybe-onap-application/src/main/resources/banner.txt b/sparkybe-onap-application/src/main/resources/banner.txt
new file mode 100644
index 0000000..c6081b2
--- /dev/null
+++ b/sparkybe-onap-application/src/main/resources/banner.txt
@@ -0,0 +1,8 @@
+ _____ _ ____ ______ ____ _ _ _____
+ / ____| | | | _ \| ____|_ / __ \| \ | | /\ | __ \
+ | (___ _ __ __ _ _ __| | ___ _ ______| |_) | |__ (_) | | | | \| | / \ | |__) |
+ \___ \| '_ \ / _` | '__| |/ / | | |______| _ <| __| | | | | . ` | / /\ \ | ___/
+ ____) | |_) | (_| | | | <| |_| | | |_) | |____ _ | |__| | |\ |/ ____ \| |
+ |_____/| .__/ \__,_|_| |_|\_\\__, | |____/|______(_) \____/|_| \_/_/ \_\_|
+ | | __/ |
+ |_| |___/ \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/scripts/start.sh b/sparkybe-onap-application/src/main/scripts/start.sh
new file mode 100644
index 0000000..514d7c5
--- /dev/null
+++ b/sparkybe-onap-application/src/main/scripts/start.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+BASEDIR="/opt/app/sparky"
+MICRO_HOME="$BASEDIR"
+CONFIG_HOME=${MICRO_HOME}/config
+
+if [ -z "$CONFIG_HOME" ]; then
+ echo "CONFIG_HOME must be set in order to start up process"
+ exit 1
+fi
+
+PROPS="-DCONFIG_HOME=${CONFIG_HOME}"
+
+#echo $CLASSPATH
+
+set -x
+exec java -Xms1024m -Xmx4096m $PROPS -jar ${MICRO_HOME}/sparky-be.jar --spring.config.name=sparky-be-application
+
+
+
+
+#if [ -z "$KEY_STORE_PASSWORD" ]; then
+# echo "KEY_STORE_PASSWORD must be set in order to start up process"
+# exit 1
+#else
+# sed -i /"KEY_STORE_PASSWORD"/d $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
+# echo "KEY_STORE_PASSWORD=$KEY_STORE_PASSWORD" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
+#fi
+
+#if [ -z "$KEY_MANAGER_PASSWORD" ]; then
+# echo "KEY_MANAGER_PASSWORD must be set in order to start up process"
+# exit 1
+#else
+# sed -i /"KEY_MANAGER_PASSWORD"/d $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
+# echo "KEY_MANAGER_PASSWORD=$KEY_MANAGER_PASSWORD" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
+#fi
+
+#CLASSPATH="$AJSC_HOME/lib/ajsc-runner-2.0.0.jar"
+#CLASSPATH="$CLASSPATH:$AJSC_HOME/extJars/"
+#CLASSPATH="$CLASSPATH:$CONFIG_HOME/portal/"
+#PROPS="-DAJSC_HOME=$AJSC_HOME"
+#PROPS="$PROPS -DAJSC_CONF_HOME=$BASEDIR/bundleconfig/"
+#PROPS="$PROPS -Dlogback.configurationFile=$BASEDIR/bundleconfig/etc/logback.xml"
+#PROPS="$PROPS -DAJSC_SHARED_CONFIG=$AJSC_CONF_HOME"
+#PROPS="$PROPS -DAJSC_EXTERNAL_LIB_FOLDERS=$AJSC_HOME/commonLibs"
+#PROPS="$PROPS -DAJSC_EXTERNAL_PROPERTIES_FOLDERS=$AJSC_HOME/ajsc-shared-config/etc"
+#PROPS="$PROPS -DAJSC_SERVICE_NAMESPACE=ajsc-tier-support-ui"
+#PROPS="$PROPS -DAJSC_SERVICE_VERSION=v1"
+#PROPS="$PROPS -DSOACLOUD_SERVICE_VERSION=0.0.0"
+#PROPS="$PROPS -Dserver.port=8000"
+#PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME"
+
+#echo $CLASSPATH
+
+#if [ "$UI_HTTPS_PORT" ]; then
+# /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xms1024m -Xmx4096m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=/ sslport=$UI_HTTPS_PORT
+#elif [ "$UI_HTTP_PORT" ]; then
+# /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xms1024m -Xmx4096m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=/ port=$UI_HTTP_PORT
+#fi