Make drools-pdp work with drools and java versions compatible 14/137514/1
authoradheli.tavares <adheli.tavares@est.tech>
Thu, 14 Mar 2024 21:48:25 +0000 (21:48 +0000)
committeradheli.tavares <adheli.tavares@est.tech>
Fri, 15 Mar 2024 08:39:39 +0000 (08:39 +0000)
with current DRL rules files syntax.

Issue-ID: POLICY-4857
Change-Id: If4b385bdef865d07114b8ea0e69abb4589f3a97b
Signed-off-by: adheli.tavares <adheli.tavares@est.tech>
22 files changed:
feature-distributed-locking/src/test/java/org/onap/policy/distributed/locking/DistributedLockManagerTest.java
feature-lifecycle/pom.xml
feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
feature-pooling-messages/src/main/java/org/onap/policy/drools/pooling/PoolingFeatureException.java
feature-pooling-messages/src/main/java/org/onap/policy/drools/pooling/PoolingFeatureRtException.java
policy-core/pom.xml
policy-core/src/main/java/org/onap/policy/drools/core/lock/AlwaysFailLock.java
policy-core/src/main/java/org/onap/policy/drools/core/lock/AlwaysSuccessLock.java
policy-domains/src/main/java/org/onap/policy/drools/domain/models/controller/ControllerPolicy.java
policy-domains/src/main/java/org/onap/policy/drools/domain/models/controller/ControllerProperties.java
policy-domains/src/main/java/org/onap/policy/drools/domain/models/controller/ControllerSinkTopic.java
policy-domains/src/main/java/org/onap/policy/drools/domain/models/controller/ControllerSourceTopic.java
policy-domains/src/test/java/org/onap/policy/drools/domain/models/DroolsPolicyTest.java
policy-management/src/main/java/org/onap/policy/drools/protocol/configuration/PdpdConfiguration.java
policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
policy-management/src/test/java/org/onap/policy/drools/system/internal/FeatureLockImplTest.java
policy-management/src/test/java/org/onap/policy/drools/system/internal/LockManagerTest.java
policy-management/src/test/java/org/onap/policy/drools/system/internal/SimpleLockManagerTest.java
policy-utils/src/test/java/org/onap/policy/drools/models/domains/a/Metadata.java
policy-utils/src/test/java/org/onap/policy/drools/models/domains/a/Nested.java
policy-utils/src/test/java/org/onap/policy/drools/models/domains/a/Properties.java
pom.xml

index 74a3c76..2e173cf 100644 (file)
@@ -48,7 +48,6 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.io.Serial;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
@@ -967,7 +966,6 @@ class DistributedLockManagerTest {
             protected DistributedLock makeLock(LockState state, String resourceId, String ownerKey, int holdSec,
                 LockCallback callback) {
                 return new DistributedLock(state, resourceId, ownerKey, holdSec, callback, feature) {
-                    @Serial
                     private static final long serialVersionUID = 1L;
 
                     @Override
@@ -1352,7 +1350,6 @@ class DistributedLockManagerTest {
             protected DistributedLock makeLock(LockState state, String resourceId, String ownerKey, int holdSec,
                 LockCallback callback) {
                 return new DistributedLock(state, resourceId, ownerKey, holdSec, callback, feature) {
-                    @Serial
                     private static final long serialVersionUID = 1L;
                     private int ntimes = 0;
 
@@ -1721,7 +1718,6 @@ class DistributedLockManagerTest {
             LockCallback callback) {
 
             return new DistributedLock(state, resourceId, ownerKey, holdSec, callback, feature) {
-                @Serial
                 private static final long serialVersionUID = 1L;
                 private boolean checked = false;
 
index 5aea16b..757f23b 100644 (file)
@@ -3,7 +3,7 @@
   ONAP
   ================================================================================
   Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
-  Modifications Copyright (C) 2023 Nordix Foundation.
+  Modifications Copyright (C) 2023-2024 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -37,6 +37,7 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <executions>
                     <execution>
             <groupId>commons-beanutils</groupId>
             <artifactId>commons-beanutils</artifactId>
         </dependency>
-
     </dependencies>
 
 </project>
index e7656ae..7237eb9 100644 (file)
@@ -283,7 +283,8 @@ public class LifecycleFsm implements Startable {
             policyTypesMap.values().stream()
                 .filter(PolicyTypeDroolsController.class::isInstance)
                 .map(PolicyTypeDroolsController.class::cast)
-                .filter(opController -> opController.getControllers().containsKey(controller.getName())).toList();
+                .filter(opController -> opController.getControllers().containsKey(controller.getName()))
+                .collect(Collectors.toList());
 
         for (PolicyTypeDroolsController opController : opControllers) {
             opController.remove(controller);
index 5d7b9f7..eafa0a7 100644 (file)
 
 package org.onap.policy.drools.pooling;
 
-import java.io.Serial;
-
 /**
  * Exception thrown by the pooling feature.
  */
 public class PoolingFeatureException extends Exception {
-    @Serial
     private static final long serialVersionUID = 1L;
 
     public PoolingFeatureException() {
index 5d0a275..46b7197 100644 (file)
 
 package org.onap.policy.drools.pooling;
 
-import java.io.Serial;
-
 /**
  * A runtime exception thrown by the pooling feature.
  */
 public class PoolingFeatureRtException extends RuntimeException {
-    @Serial
     private static final long serialVersionUID = 1L;
 
     public PoolingFeatureRtException() {
index 95e1394..35e64a7 100644 (file)
@@ -5,7 +5,7 @@
   ================================================================================
   Copyright (C) 2017-2021, 2023 AT&T Intellectual Property. All rights reserved.
   Modifications Copyright (C) 2019 Bell Canada.
-  Modifications Copyright (C) 2020,2022-2023 Nordix Foundation.
+  Modifications Copyright (C) 2020,2022-2024 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
@@ -47,7 +47,7 @@
         <dependency>
             <groupId>org.apache.ant</groupId>
             <artifactId>ant</artifactId>
-            <version>1.10.13</version>
+            <version>1.10.14</version>
         </dependency>
 
         <dependency>
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-xjc</artifactId>
-            <version>4.0.3</version>
         </dependency>
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-core</artifactId>
-            <version>4.0.3</version>
         </dependency>
         <dependency>
             <groupId>com.sun.xml.bind</groupId>
             <artifactId>jaxb-impl</artifactId>
-            <version>4.0.3</version>
         </dependency>
         <dependency>
             <groupId>jakarta.activation</groupId>
             <groupId>jakarta.xml.bind</groupId>
             <artifactId>jakarta.xml.bind-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.glassfish.hk2.external</groupId>
+            <artifactId>javax.inject</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
index df0ac15..edb7f47 100644 (file)
@@ -21,7 +21,6 @@
 
 package org.onap.policy.drools.core.lock;
 
-import java.io.Serial;
 import lombok.NoArgsConstructor;
 
 /**
@@ -29,7 +28,6 @@ import lombok.NoArgsConstructor;
  */
 @NoArgsConstructor
 public class AlwaysFailLock extends LockImpl {
-    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index ced6c4c..b436451 100644 (file)
 
 package org.onap.policy.drools.core.lock;
 
-import java.io.Serial;
 import lombok.NonNull;
 
 /**
  * Lock implementation whose operations always succeed.
  */
 public class AlwaysSuccessLock extends LockImpl {
-    @Serial
     private static final long serialVersionUID = 1L;
 
     /**
index b16af39..dfb75da 100644 (file)
@@ -21,7 +21,6 @@
 
 package org.onap.policy.drools.domain.models.controller;
 
-import java.io.Serial;
 import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -36,8 +35,6 @@ import org.onap.policy.drools.domain.models.DroolsPolicy;
 @SuperBuilder
 @EqualsAndHashCode(callSuper = true)
 public class ControllerPolicy extends DroolsPolicy implements Serializable {
-
-    @Serial
     private static final long serialVersionUID = -8171337852833516581L;
 
     private ControllerProperties properties;
index b55e434..31854a7 100644 (file)
@@ -21,7 +21,6 @@
 
 package org.onap.policy.drools.domain.models.controller;
 
-import java.io.Serial;
 import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
@@ -36,7 +35,6 @@ import lombok.Data;
 @Data
 @Builder
 public class ControllerProperties implements Serializable {
-    @Serial
     private static final long serialVersionUID = 1259434187110418986L;
 
     private String controllerName;
index 57c07f2..af5c1cb 100644 (file)
@@ -21,7 +21,6 @@
 
 package org.onap.policy.drools.domain.models.controller;
 
-import java.io.Serial;
 import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -36,7 +35,6 @@ import lombok.experimental.SuperBuilder;
 @SuperBuilder
 @EqualsAndHashCode(callSuper = true)
 public class ControllerSinkTopic extends ControllerTopic implements Serializable {
-    @Serial
     private static final long serialVersionUID = 8770353732981476267L;
 
     @Override
index 3c7f1f0..63bdc24 100644 (file)
@@ -21,7 +21,6 @@
 
 package org.onap.policy.drools.domain.models.controller;
 
-import java.io.Serial;
 import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -36,7 +35,6 @@ import lombok.experimental.SuperBuilder;
 @SuperBuilder
 @EqualsAndHashCode(callSuper = true)
 public class ControllerSourceTopic extends ControllerTopic implements Serializable {
-    @Serial
     private static final long serialVersionUID = -1732598566914643612L;
 
     @Override
index 99494d7..e2e628a 100644 (file)
@@ -30,7 +30,6 @@ import com.openpojo.validation.Validator;
 import com.openpojo.validation.ValidatorBuilder;
 import com.openpojo.validation.test.impl.GetterTester;
 import com.openpojo.validation.test.impl.SetterTester;
-import java.io.Serial;
 import java.io.Serializable;
 import java.util.List;
 import lombok.Data;
@@ -46,7 +45,6 @@ class DroolsPolicyTest {
     @NoArgsConstructor
     @EqualsAndHashCode(callSuper = true)
     public static class DerivedDomainPolicy extends DroolsPolicy implements Serializable {
-        @Serial
         private static final long serialVersionUID = -1027974819756498893L;
     }
 
index 76836ba..1201c26 100644 (file)
@@ -165,30 +165,32 @@ public class PdpdConfiguration {
     }
 
     protected boolean declaredProperty(String name, Object value) {
-        return switch (name) {
-            case "requestID" -> {
+        switch (name) {
+            case "requestID":
                 callSetRequestId(value);
-                yield true;
-            }
-            case "entity" -> {
+                return true;
+            case "entity":
                 callSetEntity(value);
-                yield true;
-            }
-            case "controllers" -> {
+                return true;
+            case "controllers":
                 callSetControllers(value);
-                yield true;
-            }
-            default -> false;
-        };
+                return true;
+            default:
+                return false;
+        }
     }
 
     protected Object declaredPropertyOrNotFound(String name, Object notFoundValue) {
-        return switch (name) {
-            case "requestID" -> getRequestId();
-            case "entity" -> getEntity();
-            case "controllers" -> getControllers();
-            default -> notFoundValue;
-        };
+        switch (name) {
+            case "requestID":
+                return getRequestId();
+            case "entity":
+                return getEntity();
+            case "controllers":
+                return getControllers();
+            default:
+                return notFoundValue;
+        }
     }
 
     /**
index ecc6c08..ec06882 100644 (file)
@@ -1722,11 +1722,12 @@ public class RestManager implements SwaggerApi, DefaultApi, FeaturesApi, InputsA
     @Path("engine/tools/loggers")
     public Response loggers() {
         final List<String> names = new ArrayList<>();
-        if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext context)) {
+        if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext)) {
             logger.warn("The SLF4J logger factory is not configured for logback");
             return Response.status(Status.INTERNAL_SERVER_ERROR).entity(names).build();
         }
 
+        final LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
         for (final Logger lgr : context.getLoggerList()) {
             names.add(lgr.getName());
         }
@@ -1744,11 +1745,12 @@ public class RestManager implements SwaggerApi, DefaultApi, FeaturesApi, InputsA
     @Path("engine/tools/loggers/{logger}")
     @Produces(MediaType.TEXT_PLAIN)
     public Response loggerName1(@PathParam("logger") String loggerName) {
-        if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext context)) {
+        if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext)) {
             logger.warn("The SLF4J logger factory is not configured for logback");
             return Response.status(Status.INTERNAL_SERVER_ERROR).build();
         }
 
+        final LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
         var lgr = context.getLogger(loggerName);
         if (lgr == null) {
             return Response.status(Status.NOT_FOUND).build();
index 23511ab..8a10c51 100644 (file)
@@ -40,7 +40,6 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.io.Serial;
 import java.util.concurrent.ScheduledExecutorService;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.AfterEach;
@@ -189,7 +188,6 @@ class FeatureLockImplTest {
         PolicySession session = mock(PolicySession.class);
 
         MyLock lock = new MyLock(LockState.WAITING, RESOURCE, OWNER_KEY, HOLD_SEC, callback) {
-            @Serial
             private static final long serialVersionUID = 1L;
 
             @Override
@@ -397,7 +395,6 @@ class FeatureLockImplTest {
      * Lock that inherits the normal getSession() method.
      */
     public static class MyLockStdSession extends FeatureLockImpl {
-        @Serial
         private static final long serialVersionUID = 1L;
         protected int nupdates = 0;
 
@@ -433,7 +430,6 @@ class FeatureLockImplTest {
     }
 
     public static class MyLock extends MyLockStdSession {
-        @Serial
         private static final long serialVersionUID = 1L;
 
         public MyLock() {
@@ -451,7 +447,6 @@ class FeatureLockImplTest {
     }
 
     public static class MyLockNoFeature extends MyLock {
-        @Serial
         private static final long serialVersionUID = 1L;
 
         public MyLockNoFeature() {
index 74e1a9c..47d0f27 100644 (file)
@@ -33,7 +33,6 @@ import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import java.io.Serial;
 import java.util.concurrent.ScheduledExecutorService;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
@@ -225,7 +224,6 @@ class LockManagerTest {
     }
 
     private class MyLock extends FeatureLockImpl {
-        @Serial
         private static final long serialVersionUID = 1L;
 
         public MyLock(LockState waiting, String resourceId, String ownerKey, int holdSec, LockCallback callback) {
index 3ee5583..242492b 100644 (file)
@@ -44,7 +44,6 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.io.Serial;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
@@ -310,7 +309,6 @@ class SimpleLockManagerTest {
             protected SimpleLock makeLock(LockState waiting, String resourceId, String ownerKey, int holdSec,
                 LockCallback callback) {
                 return new SimpleLock(waiting, resourceId, ownerKey, holdSec, callback, feature) {
-                    @Serial
                     private static final long serialVersionUID = 1L;
 
                     @Override
@@ -367,7 +365,6 @@ class SimpleLockManagerTest {
                 madeLock = true;
 
                 return new SimpleLock(waiting, resourceId, ownerKey, holdSec, callback, feature) {
-                    @Serial
                     private static final long serialVersionUID = 1L;
 
                     @Override
index e81bdd0..0707e41 100644 (file)
@@ -22,7 +22,6 @@
 package org.onap.policy.drools.models.domains.a;
 
 import com.google.gson.annotations.SerializedName;
-import java.io.Serial;
 import java.io.Serializable;
 import lombok.Builder;
 import lombok.Data;
@@ -30,7 +29,6 @@ import lombok.Data;
 @Data
 @Builder
 public class Metadata implements Serializable {
-    @Serial
     private static final long serialVersionUID = 476541531265304644L;
 
     @SerializedName("policy-id")
index 1d46d59..711e064 100644 (file)
@@ -22,7 +22,6 @@
 package org.onap.policy.drools.models.domains.a;
 
 import com.google.gson.annotations.SerializedName;
-import java.io.Serial;
 import java.io.Serializable;
 import lombok.Builder;
 import lombok.Data;
@@ -30,7 +29,6 @@ import lombok.Data;
 @Data
 @Builder
 public class Nested implements Serializable {
-    @Serial
     private static final long serialVersionUID = -1203143214137354429L;
 
     @SerializedName("nested1")
index e323e8a..d403ad2 100644 (file)
@@ -22,7 +22,6 @@
 package org.onap.policy.drools.models.domains.a;
 
 import com.google.gson.annotations.SerializedName;
-import java.io.Serial;
 import java.io.Serializable;
 import lombok.Builder;
 import lombok.Data;
@@ -30,7 +29,6 @@ import lombok.Data;
 @Data
 @Builder
 public class Properties implements Serializable {
-    @Serial
     private static final long serialVersionUID = 8476625479607243095L;
 
     @SerializedName("nested")
diff --git a/pom.xml b/pom.xml
index dfa1f8f..5ebd052 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <release>${java.version}</release>
+                    <release>11</release>
                 </configuration>
             </plugin>
             <plugin>