Update aai-common to 1.14.1 in traversal 36/138236/5 1.14.1
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Mon, 17 Jun 2024 07:27:21 +0000 (09:27 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Tue, 18 Jun 2024 06:04:15 +0000 (08:04 +0200)
- includes tinkerpop update from 3.3.0 to 3.3.11
- update guava from 18 to 25.0-jre
- resolve maven build warnings (undeclared dep versions, duplicate deps, reporting configuration)

Issue-ID: AAI-3879
Change-Id: I60124c42ca1a0c884c02981a18c1c9388e62b6e2
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
aai-traversal/pom.xml
aai-traversal/src/main/java/org/onap/aai/dbgraphgen/ModelBasedProcessing.java
pom.xml
version.properties

index 5544ae7..69f42ff 100644 (file)
@@ -26,7 +26,7 @@
        <parent>
                <groupId>org.onap.aai.traversal</groupId>
                <artifactId>traversal</artifactId>
-               <version>1.14.0-SNAPSHOT</version>
+               <version>1.14.1-SNAPSHOT</version>
        </parent>
        <groupId>org.onap.aai.traversal</groupId>
        <artifactId>aai-traversal</artifactId>
 
                <!-- End of the jacoco plugin properties -->
 
-               <!-- Default docker registry that maven fabric plugin will try to pull 
+               <!-- Default docker registry that maven fabric plugin will try to pull
                        from -->
                <docker.registry>docker.io</docker.registry>
                <!-- Specifying the docker push registry where the image should be pushed -->
-               <!-- This value should be overwritten at runtime to wherever need to be 
+               <!-- This value should be overwritten at runtime to wherever need to be
                        pushed to -->
                <docker.push.registry>localhost:5000</docker.push.registry>
                <aai.docker.version>1.0.0</aai.docker.version>
 
-               <!-- Location where assembly of our scripts, resources and main jar will 
-                       be held Check the ${project.artifactId}/src/main/assembly/descriptor.xml 
+               <!-- Location where assembly of our scripts, resources and main jar will
+                       be held Check the ${project.artifactId}/src/main/assembly/descriptor.xml
                        for more info -->
                <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/</aai.build.directory>
                <aai.docker.version>1.0.0</aai.docker.version>
                <aai.base.image>alpine</aai.base.image>
                <aai.base.image.version>1.13.4</aai.base.image.version>
 
-               <!-- Nexus Proxy Properties and Snapshot Locations Ideally this can be 
+               <!-- Nexus Proxy Properties and Snapshot Locations Ideally this can be
                        overwritten at runtime per internal environment specific values at runtime -->
                <nexusproxy>https://nexus.onap.org</nexusproxy>
                <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path>
                <release.path>/content/repositories/releases/</release.path>
                <snapshot.path>/content/repositories/snapshots/</snapshot.path>
 
-               <!-- This will be used for the docker images as the default format of maven 
+               <!-- This will be used for the docker images as the default format of maven
                        build has issues -->
                <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
 
@@ -91,7 +91,7 @@
                <schema.version.api.default>v29</schema.version.api.default>
                <schema.version.list>v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29</schema.version.list>
                <schema.uri.base.path>/aai</schema.uri.base.path>
-               
+
                <!-- versions -->
                <spring.boot.version>2.4.13</spring.boot.version>
                <spring.version>5.3.13</spring.version>
                <skipITs>true</skipITs>
        </properties>
        <profiles>
-               <!-- Docker profile to be used for building docker image and pushing to 
+               <!-- Docker profile to be used for building docker image and pushing to
                        nexus -->
                <profile>
                        <id>docker</id>
                        <groupId>com.jayway.jsonpath</groupId>
                        <artifactId>json-path</artifactId>
                </dependency>
-               <!-- Do not use activemq-all because they force you to use a specific logging 
-                       and they shade it so you can't simply exclude it and when you deploy the 
+               <!-- Do not use activemq-all because they force you to use a specific logging
+                       and they shade it so you can't simply exclude it and when you deploy the
                        jar, you will notice failure -->
                <dependency>
                        <groupId>org.apache.activemq</groupId>
                                </exclusion>
                        </exclusions>
                </dependency>
-               <!-- Do not use the jersey-client since jersey client 1.0 version clashes 
+               <!-- Do not use the jersey-client since jersey client 1.0 version clashes
                        with jersey 2 which we are using -->
                <!-- Use this to make http requests instead of jersey 1.0 client -->
                <dependency>
                                </exclusion>
                        </exclusions>
                </dependency>
-               <!-- Explicitly stating the security spring framework and exclude the bouncy 
-                       castle since that is somehow overwriting our p12 file decryption that's built 
-                       into java security This will cause the password is incorrect This needs to 
-                       be added back if org.bouncy castle dependency sneaks backs in and causing 
+               <!-- Explicitly stating the security spring framework and exclude the bouncy
+                       castle since that is somehow overwriting our p12 file decryption that's built
+                       into java security This will cause the password is incorrect This needs to
+                       be added back if org.bouncy castle dependency sneaks backs in and causing
                        issues with the two way ssl -->
                <dependency>
                        <groupId>org.springframework.security</groupId>
                                <type>pom</type>
                                <scope>import</scope>
                        </dependency>
-                       <!-- Keeping guava at 19 is necessary here, since the janusgraph-cql driver in version
-                            2.3 has a dependency on it. Remove this override, once we are using janusgraph > 0.2.3/tinkerpop > 3.2.3
-                       -->
                        <dependency>
                                <groupId>com.google.guava</groupId>
                                <artifactId>guava</artifactId>
-                               <version>19.0</version>
+                               <version>25.0-jre</version>
                </dependency>
                </dependencies>
        </dependencyManagement>
                        <plugin>
                                <artifactId>exec-maven-plugin</artifactId>
                                <groupId>org.codehaus.mojo</groupId>
+                               <version>1.6.0</version>
                        </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-javadoc-plugin</artifactId>
+                               <version>2.10.4</version>
                        </plugin>
-                       <plugin>
-                               <groupId>com.mycila</groupId>
-                               <artifactId>license-maven-plugin</artifactId>
-                       </plugin>
-
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-surefire-plugin</artifactId>
                                        <runOrder>alphabetical</runOrder>
                                </configuration>
                        </plugin>
-
                        <plugin>
                                <groupId>org.codehaus.groovy.maven</groupId>
                                <artifactId>gmaven-plugin</artifactId>
                        </plugin>
-
                        <plugin>
                                <groupId>org.antlr</groupId>
                                <artifactId>antlr4-maven-plugin</artifactId>
                                        </execution>
                                </executions>
                        </plugin>
-
                        <plugin>
                                <artifactId>maven-assembly-plugin</artifactId>
                                <configuration>
index aa4fdad..005d3dc 100644 (file)
@@ -26,6 +26,8 @@ import com.google.common.util.concurrent.TimeLimiter;
 import com.google.common.util.concurrent.UncheckedTimeoutException;
 
 import java.util.*;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
@@ -44,6 +46,8 @@ import org.onap.aai.introspection.Introspector;
 import org.onap.aai.introspection.Loader;
 import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
 import org.onap.aai.logging.ErrorLogHelper;
+import org.onap.aai.parsers.exceptions.AAIIdentityMapParseException;
+import org.onap.aai.parsers.exceptions.AmbiguousMapAAIException;
 import org.onap.aai.query.builder.QueryBuilder;
 import org.onap.aai.schema.enums.PropertyMetadata;
 import org.onap.aai.serialization.db.DBSerializer;
@@ -380,7 +384,7 @@ public class ModelBasedProcessing {
         }
 
         List<ResultSet> resultList = new ArrayList<>();
-        TimeLimiter limiter = new SimpleTimeLimiter();
+        TimeLimiter limiter = SimpleTimeLimiter.create(Executors.newCachedThreadPool());
         try {
 
             resultList = limiter.callWithTimeout(new AaiCallable<List<ResultSet>>() {
@@ -389,10 +393,17 @@ public class ModelBasedProcessing {
                         modelInvId_f, modelName_f, topNodeType_f, startNodeFilterArrayOfHashes_f,
                         apiVer_f);
                 }
-            }, timeLimitSec, TimeUnit.SECONDS, true);
-        } catch (AAIException ae) {
-            // Re-throw AAIException so we get can tell what happened internally
-            throw ae;
+            }, timeLimitSec, TimeUnit.SECONDS);
+        } catch (ExecutionException ex) {
+            if(ex.getCause() instanceof AAIIdentityMapParseException) {
+                throw (AAIIdentityMapParseException) ex.getCause();
+            }
+            if(ex.getCause() instanceof AmbiguousMapAAIException) {
+                throw (AmbiguousMapAAIException) ex.getCause();
+            }
+            if(ex.getCause() instanceof AAIException) {
+                throw (AAIException) ex.getCause();
+            }
         } catch (UncheckedTimeoutException ute) {
             throw new AAIException("AAI_6140",
                 "Query Processing Limit exceeded. (limit = " + timeLimitSec + " seconds)");
@@ -1036,7 +1047,7 @@ public class ModelBasedProcessing {
         }
 
         List<ResultSet> resultList = new ArrayList<>();
-        TimeLimiter limiter = new SimpleTimeLimiter();
+        TimeLimiter limiter = SimpleTimeLimiter.create(Executors.newCachedThreadPool());
         try {
             resultList = limiter.callWithTimeout(new AaiCallable<List<ResultSet>>() {
                 public List<ResultSet> process() throws AAIException {
@@ -1044,11 +1055,17 @@ public class ModelBasedProcessing {
                         startNodeFilterArrayOfHashes_f, apiVer_f, secondaryFilterCutPoint_f,
                         secondaryFilterHash_f);
                 }
-            }, timeLimitSec, TimeUnit.SECONDS, true);
-
-        } catch (AAIException ae) {
-            // Re-throw AAIException so we get can tell what happened internally
-            throw ae;
+            }, timeLimitSec, TimeUnit.SECONDS);
+        } catch (ExecutionException ex) {
+            if(ex.getCause() instanceof AAIIdentityMapParseException) {
+                throw (AAIIdentityMapParseException) ex.getCause();
+            }
+            if(ex.getCause() instanceof AmbiguousMapAAIException) {
+                throw (AmbiguousMapAAIException) ex.getCause();
+            }
+            if(ex.getCause() instanceof AAIException) {
+                throw (AAIException) ex.getCause();
+            }
         } catch (UncheckedTimeoutException ute) {
             throw new AAIException("AAI_6140",
                 "Query Processing Limit exceeded. (limit = " + timeLimitSec + " seconds)");
diff --git a/pom.xml b/pom.xml
index 4cc1761..a413c72 100644 (file)
--- a/pom.xml
+++ b/pom.xml
     <parent>
         <groupId>org.onap.aai.aai-common</groupId>
         <artifactId>aai-parent</artifactId>
-        <version>1.14.0</version>
+        <version>1.14.1</version>
     </parent>
     <groupId>org.onap.aai.traversal</groupId>
     <artifactId>traversal</artifactId>
-    <version>1.14.0-SNAPSHOT</version>
+    <version>1.14.1-SNAPSHOT</version>
     <name>aai-traversal</name>
     <packaging>pom</packaging>
     <modules>
@@ -41,7 +41,7 @@
             Nexus Proxy Properties and Snapshot Locations
             Ideally this can be overwritten at runtime per internal environment specific values at runtime
         -->
-        <aai.common.version>1.14.0</aai.common.version>
+        <aai.common.version>1.14.1</aai.common.version>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
         <site.path>/content/sites/site/org/onap/aai/traversal/${project.artifactId}/${project.version}</site.path>
         <release.path>/content/repositories/releases/</release.path>
index 5dfb2dd..654a031 100644 (file)
@@ -5,7 +5,7 @@
 
 major_version=1
 minor_version=14
-patch_version=0
+patch_version=1
 
 base_version=${major_version}.${minor_version}.${patch_version}