aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aai-queries/pom.xml15
-rw-r--r--aai-schema-gen/pom.xml21
-rw-r--r--aai-schema-service/pom.xml51
-rw-r--r--aai-schema-service/src/main/docker/Dockerfile32
-rw-r--r--aai-schema-service/src/main/docker/docker-entrypoint.sh83
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java2
-rw-r--r--aai-schema/pom.xml19
-rw-r--r--pom.xml85
8 files changed, 225 insertions, 83 deletions
diff --git a/aai-queries/pom.xml b/aai-queries/pom.xml
index 491e9ca..b7d7cf0 100644
--- a/aai-queries/pom.xml
+++ b/aai-queries/pom.xml
@@ -125,6 +125,21 @@
<artifactId>spring-boot-test</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.persistence</groupId>
+ <artifactId>eclipselink</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.persistence</groupId>
+ <artifactId>org.eclipse.persistence.moxy</artifactId>
+ <version>3.0.0</version>
+ </dependency>
</dependencies>
<build>
<plugins>
diff --git a/aai-schema-gen/pom.xml b/aai-schema-gen/pom.xml
index 16acc81..a4217f6 100644
--- a/aai-schema-gen/pom.xml
+++ b/aai-schema-gen/pom.xml
@@ -599,9 +599,28 @@
</build>
</profile>
</profiles>
-
<dependencies>
<dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.persistence</groupId>
+ <artifactId>eclipselink</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.persistence</groupId>
+ <artifactId>org.eclipse.persistence.moxy</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
diff --git a/aai-schema-service/pom.xml b/aai-schema-service/pom.xml
index 56410a5..8bcd2d4 100644
--- a/aai-schema-service/pom.xml
+++ b/aai-schema-service/pom.xml
@@ -50,7 +50,7 @@
</aai.build.directory>
<aai.docker.namespace>onap</aai.docker.namespace>
<aai.base.image>alpine</aai.base.image>
- <aai.base.image.version>1.6.0</aai.base.image.version>
+ <aai.base.image.version>1.8.1</aai.base.image.version>
<maven.skip.tests>true</maven.skip.tests>
@@ -161,7 +161,7 @@
</execution>
<execution>
<id>generate-images</id>
- <phase>package</phase>
+ <phase>verify</phase>
<goals>
<goal>build</goal>
</goals>
@@ -270,6 +270,11 @@
</profiles>
<dependencies>
<dependency>
+ <groupId>jakarta.xml.bind</groupId>
+ <artifactId>jakarta.xml.bind-api</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ <dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<scope>compile</scope>
@@ -339,14 +344,17 @@
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
+ <version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
+ <version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -626,6 +634,45 @@
</resources>
</configuration>
</execution>
+ <execution>
+ <id>copy-fat-jar</id>
+ <!--
+ Reason the phase for this is set in the post integration phase due
+ to the spring boot maven plugin repackages post package phase
+
+ So basically first the spring boot plugin in phase package or pre package
+ only creates an jar without its dependencies
+
+ ls -trl target/
+
+ 3.3 MB aai-schema-1.8.0-SNAPSHOT.jar
+
+ Then in the post package or during the package phase, it would get dependencies
+ and convert it into an fat jar
+
+ 80 MB aai-schema-1.8.0-SNAPSHOT.jar
+
+ During the package phase if the copy of the above aai-schema-1.8.0-SNAPSHOT jar
+ was done, it would take the slim 3.3 MB jar and wouldn't include any of the dependencies
+ so thats why the phase for this exection must be in post the spring boot repackage phase
+ -->
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${aai.build.directory}/lib/</outputDirectory>
+ <resources>
+ <resource>
+ <directory>${project.build.directory}/</directory>
+ <includes>
+ <include>${project.artifactId}-${project.version}.jar</include>
+ </includes>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
</executions>
</plugin>
<plugin>
diff --git a/aai-schema-service/src/main/docker/Dockerfile b/aai-schema-service/src/main/docker/Dockerfile
index 73cdfd7..6efa8d1 100644
--- a/aai-schema-service/src/main/docker/Dockerfile
+++ b/aai-schema-service/src/main/docker/Dockerfile
@@ -1,28 +1,30 @@
FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@
-RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SCHEMA-SERVICE /opt/app/aai-schema-service/logs/gc
+# Add the proper files into the docker image from your build
+WORKDIR /opt/app/aai-schema-service
-VOLUME /opt/aai/logroot/AAI-SS
-VOLUME /tmp
-VOLUME /opt/tools
+# Expose the ports for outside linux to use
+# 8447 is the important one to be used
+EXPOSE 8447
HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8452 || exit 1
-RUN groupadd aaiadmin -g 1000
+ENTRYPOINT ["/sbin/tini", "--", "/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"]
-RUN adduser -u 1000 -h /opt/aaihome/aaiadmin -S -D -G aaiadmin -s /bin/bash aaiadmin
+VOLUME /tmp
+VOLUME /opt/tools
-# Add the proper files into the docker image from your build
-WORKDIR /opt/app/aai-schema-service
+USER root
-RUN chown -R aaiadmin:aaiadmin /opt/app/aai-schema-service /etc/profile.d /opt/aai/logroot/AAI-SS /opt/app /opt/aai/logroot /opt/app/aai-schema-service/logs/gc
+COPY --chown=aaiadmin:aaiadmin /maven/aai-schema-service/ /opt/app/aai-schema-service
-COPY --chown=aaiadmin:aaiadmin /maven/aai-schema-service/ .
+RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SS && \
+ chown -R aaiadmin:aaiadmin /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-SS && \
+ chmod 777 /opt/app/aai-schema-service /opt/app/aai-schema-service/resources/etc/auth
-USER aaiadmin
ENV AAI_BUILD_VERSION @aai.docker.version@
-# Expose the ports for outside linux to use
-# 8452 is the important one to be used
-EXPOSE 8452
-ENTRYPOINT ["/bin/bash", "/opt/app/aai-schema-service/docker-entrypoint.sh"]
+
+WORKDIR /opt/app/aai-schema-service
+
+USER aaiadmin
diff --git a/aai-schema-service/src/main/docker/docker-entrypoint.sh b/aai-schema-service/src/main/docker/docker-entrypoint.sh
index 6d1161d..1f33bdd 100644
--- a/aai-schema-service/src/main/docker/docker-entrypoint.sh
+++ b/aai-schema-service/src/main/docker/docker-entrypoint.sh
@@ -18,87 +18,56 @@
# ============LICENSE_END=========================================================
###
-APP_HOME=$(pwd);
+APP_HOME=/opt/app/aai-schema-service;
RESOURCES_HOME=${APP_HOME}/resources/;
export SERVER_PORT=${SERVER_PORT:-8452};
-find /opt/app/ -name "*.sh" -exec chmod +x {} +
+if [[ ! -h "${APP_HOME}/scripts" ]]; then
-if [ -f ${APP_HOME}/aai.sh ]; then
+ ln -s ${APP_HOME}/bin ${APP_HOME}/scripts;
+ ln -s /opt/aai/logroot/AAI-SS ${APP_HOME}/logs;
- ln -s bin scripts
- ln -s /opt/aai/logroot/AAI-SS logs
+ if [ ! -f ${APP_HOME}/bin/updatePem.sh ]; then
+ echo "Unable to find the updatePem script";
+ exit 1;
+ else
+ ${APP_HOME}/bin/updatePem.sh
+ fi;
- mv ${APP_HOME}/aai.sh /etc/profile.d/aai.sh
- chmod 755 /etc/profile.d/aai.sh
+fi
- scriptName=$1;
+scriptName=$1;
- if [ ! -z $scriptName ]; then
+if [ ! -z $scriptName ]; then
- if [ -f ${APP_HOME}/bin/${scriptName} ]; then
- shift 1;
- ${APP_HOME}/bin/${scriptName} "$@" || {
- echo "Failed to run the ${scriptName}";
- exit 1;
- }
- else
- echo "Unable to find the script ${scriptName} in ${APP_HOME}/bin";
+ if [ -f ${APP_HOME}/bin/${scriptName} ]; then
+ shift 1;
+ ${APP_HOME}/bin/${scriptName} "$@" || {
+ echo "Failed to run the ${scriptName}";
exit 1;
- fi;
-
- exit 0;
+ }
+ else
+ echo "Unable to find the script ${scriptName} in ${APP_HOME}/bin";
+ exit 1;
fi;
+ exit 0;
fi;
+mkdir -p /opt/app/aai-schema-service/logs/gc
+mkdir -p /opt/app/aai-schema-service/logs/heap-dumps
+
if [ -f ${APP_HOME}/resources/aai-schema-service-swm-vars.sh ]; then
source ${APP_HOME}/resources/aai-schema-service-swm-vars.sh;
fi;
-if [ ! -z "${HEAP_SIZE}" ]; then
- MIN_HEAP_SIZE=${HEAP_SIZE};
- MAX_HEAP_SIZE=${HEAP_SIZE};
-fi;
-
-MIN_HEAP_SIZE=${MIN_HEAP_SIZE:-512m};
-MAX_HEAP_SIZE=${MAX_HEAP_SIZE:-1024m};
-MAX_METASPACE_SIZE=${MAX_METASPACE_SIZE:-512m};
-
JAVA_CMD="exec java";
-JVM_OPTS="${PRE_JVM_ARGS} -Xloggc:/opt/app/aai-schema-service/logs/gc/aai_gc.log";
-JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-schema-service/logs/ajsc-jetty/heap-dump";
-JVM_OPTS="${JVM_OPTS} -Xms${MIN_HEAP_SIZE}";
-JVM_OPTS="${JVM_OPTS} -Xmx${MAX_HEAP_SIZE}";
-
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps";
-JVM_OPTS="${JVM_OPTS} -XX:MaxMetaspaceSize=${MAX_METASPACE_SIZE}";
-
-JVM_OPTS="${JVM_OPTS} -server";
-JVM_OPTS="${JVM_OPTS} -XX:NewSize=512m";
-JVM_OPTS="${JVM_OPTS} -XX:MaxNewSize=512m";
-JVM_OPTS="${JVM_OPTS} -XX:SurvivorRatio=8";
-JVM_OPTS="${JVM_OPTS} -XX:+DisableExplicitGC";
-JVM_OPTS="${JVM_OPTS} -verbose:gc";
-JVM_OPTS="${JVM_OPTS} -XX:+UseParNewGC";
-JVM_OPTS="${JVM_OPTS} -XX:+CMSParallelRemarkEnabled";
-JVM_OPTS="${JVM_OPTS} -XX:+CMSClassUnloadingEnabled";
-JVM_OPTS="${JVM_OPTS} -XX:+UseConcMarkSweepGC";
-JVM_OPTS="${JVM_OPTS} -XX:-UseBiasedLocking";
-JVM_OPTS="${JVM_OPTS} -XX:ParallelGCThreads=4";
-JVM_OPTS="${JVM_OPTS} -XX:LargePageSizeInBytes=128m";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCDetails";
-JVM_OPTS="${JVM_OPTS} -XX:+PrintGCTimeStamps";
+JVM_OPTS="${PRE_JVM_ARGS}";
JVM_OPTS="${JVM_OPTS} -Dsun.net.inetaddr.ttl=180";
-JVM_OPTS="${JVM_OPTS} -XX:+HeapDumpOnOutOfMemoryError";
JVM_OPTS="${JVM_OPTS} ${POST_JVM_ARGS}";
JAVA_OPTS="${PRE_JAVA_OPTS} -DAJSC_HOME=$APP_HOME";
-if [ -f ${INTROSCOPE_LIB}/Agent.jar ] && [ -f ${INTROSCOPE_AGENTPROFILE} ]; then
- JAVA_OPTS="${JAVA_OPTS} -javaagent:${INTROSCOPE_LIB}/Agent.jar -noverify -Dcom.wily.introscope.agentProfile=${INTROSCOPE_AGENTPROFILE} -Dintroscope.agent.agentName=schema-service"
-fi
JAVA_OPTS="${JAVA_OPTS} -Dserver.port=${SERVER_PORT}";
JAVA_OPTS="${JAVA_OPTS} -DBUNDLECONFIG_DIR=./resources";
JAVA_OPTS="${JAVA_OPTS} -Dserver.local.startpath=${RESOURCES_HOME}";
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
index 016e86f..16136d5 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
@@ -37,7 +37,7 @@ import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
diff --git a/aai-schema/pom.xml b/aai-schema/pom.xml
index e0f5778..12069aa 100644
--- a/aai-schema/pom.xml
+++ b/aai-schema/pom.xml
@@ -36,10 +36,16 @@
<!-- Start of Default ONAP Schema Properties -->
<aai.xsd.source>src/main/resources/onap/aai_schema</aai.xsd.source>
<aai.bindings.source>src/main/xjb/bindings-onap.xjb</aai.bindings.source>
+ <commons.io.version>2.8.0</commons.io.version>
<!-- End of Default ONAP Schema Properties -->
</properties>
<dependencies>
<dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.3.0</version>
+ </dependency>
+ <dependency>
<groupId>org.onap.aai.schema-service</groupId>
<artifactId>aai-annotations</artifactId>
<version>${project.version}</version>
@@ -50,12 +56,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>RELEASE</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.11.1</version>
@@ -70,13 +70,18 @@
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons.io.version}</version>
+ </dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
- <version>2.2</version>
+ <version>2.5.0</version>
<executions>
<execution>
<id>xjc</id>
diff --git a/pom.xml b/pom.xml
index 1e6a13d..eb33f4d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,10 +53,95 @@
<!-- GMaven plugin uses this property to figure out the name of the docker tag -->
<aai.project.version>${project.version}</aai.project.version>
<checkstyle.skip>false</checkstyle.skip>
+
+
+ <maven-site-plugin.version>3.9.1</maven-site-plugin.version>
+ <wagon-webdav-jackrabbit.version>3.4.2</wagon-webdav-jackrabbit.version>
+ <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>
+ <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
+ <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+ <maven-compiler-plugin.source>8</maven-compiler-plugin.source>
+ <maven-compiler-plugin.target>8</maven-compiler-plugin.target>
+ <maven-compiler-plugin.test.source>8</maven-compiler-plugin.test.source>
+ <maven-compiler-plugin.test.target>8</maven-compiler-plugin.test.target>
+ <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
+ <slf4j.version>1.7.26</slf4j.version>
</properties>
<build>
<pluginManagement>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>${maven-site-plugin.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>${wagon-webdav-jackrabbit.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-maven-plugin.version}</version>
+ <executions>
+ <!-- Unit-Tests -->
+ <execution>
+ <id>prepare-agent</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <destFile>${sonar.jacoco.reportPath}</destFile>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven-surefire-plugin.version}</version>
+ <configuration>
+ <argLine>${argLine} -Xmx2048m --illegal-access=permit</argLine>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>2.22.0</version>
+ <configuration>
+ <argLine>
+ --illegal-access=permit
+ </argLine>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <inherited>true</inherited>
+ <configuration>
+ <source>${maven-compiler-plugin.source}</source>
+ <target>${maven-compiler-plugin.target}</target>
+ <testSource>${maven-compiler-plugin.test.source}</testSource>
+ <testTarget>${maven-compiler-plugin.test.target}</testTarget>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${maven-javadoc-plugin.version}</version>
+ <configuration/>
+ </plugin>
+ <plugin>
+ <groupId>org.sonarsource.scanner.maven</groupId>
+ <artifactId>sonar-maven-plugin</artifactId>
+ <version>${sonar-maven-plugin.version}</version>
+ </plugin>
+
+
<!--
Using https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter
Using https://github.com/diffplug/spotless/tree/master/plugin-maven for import order