This is an automated email from the ASF dual-hosted git repository.

mariofusco pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git


The following commit(s) were added to refs/heads/main by this push:
     new 0c0b3e5d6e bump java to 17 + use new java feature in drools-base 
(#5638)
0c0b3e5d6e is described below

commit 0c0b3e5d6e1a02ed46f1c31de359ac876997834b
Author: Mario Fusco <[email protected]>
AuthorDate: Wed Dec 20 17:53:54 2023 +0100

    bump java to 17 + use new java feature in drools-base (#5638)
    
    * bump java to 17 + use new java feature in drools-base
    
    * wip
---
 build-parent/pom.xml                               |   2 +-
 .../extractors/BaseObjectClassFieldReader.java     | 136 ++++++++-------------
 .../base/common/DroolsObjectInputStream.java       |  10 +-
 .../drools/base/common/RuleBasePartitionId.java    |   2 +-
 .../definitions/impl/KnowledgePackageImpl.java     |   4 +-
 .../base/definitions/rule/impl/RuleImpl.java       |  11 +-
 .../base/facttemplates/FactTemplateObjectType.java |   4 +-
 .../org/drools/base/rule/LogicTransformer.java     |  31 ++---
 .../main/java/org/drools/base/rule/Pattern.java    |   6 +-
 .../java/org/drools/base/rule/QueryArgument.java   |   4 +-
 .../org/drools/base/rule/SingleAccumulate.java     |   6 +-
 .../rule/accessor/DeclarationScopeResolver.java    |  14 +--
 .../drools/base/rule/accessor/GlobalExtractor.java |   8 +-
 .../base/rule/accessor/PatternExtractor.java       |   4 +-
 .../base/rule/constraint/QueryNameConstraint.java  |   2 +-
 .../base/rule/constraint/XpathConstraint.java      |  16 +--
 .../org/drools/base/util/TimeIntervalParser.java   |  24 ++--
 .../base/util/index/ConstraintTypeOperator.java    |   2 +-
 .../efesto-compilation-manager-core/pom.xml        |  12 --
 19 files changed, 124 insertions(+), 174 deletions(-)

diff --git a/build-parent/pom.xml b/build-parent/pom.xml
index 49ac000876..1a9c8d4d3f 100644
--- a/build-parent/pom.xml
+++ b/build-parent/pom.xml
@@ -35,7 +35,7 @@
 
 
   <properties>
-    <maven.compiler.release>11</maven.compiler.release>
+    <maven.compiler.release>17</maven.compiler.release>
     <maven.compiler.source>${maven.compiler.release}</maven.compiler.source>
     <maven.compiler.target>${maven.compiler.release}</maven.compiler.target>
     
diff --git 
a/drools-base/src/main/java/org/drools/base/base/extractors/BaseObjectClassFieldReader.java
 
b/drools-base/src/main/java/org/drools/base/base/extractors/BaseObjectClassFieldReader.java
index a57546787d..a23083ef84 100755
--- 
a/drools-base/src/main/java/org/drools/base/base/extractors/BaseObjectClassFieldReader.java
+++ 
b/drools-base/src/main/java/org/drools/base/base/extractors/BaseObjectClassFieldReader.java
@@ -41,134 +41,109 @@ public abstract class BaseObjectClassFieldReader extends 
BaseClassFieldReader {
                valueType );
     }
 
-    public abstract Object getValue(ValueResolver valueResolver,
-                                    Object object);
+    public abstract Object getValue(ValueResolver valueResolver, Object 
object);
 
-    public boolean getBooleanValue(ValueResolver valueResolver,
-                                   final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public boolean getBooleanValue(ValueResolver valueResolver, Object object) 
{
+        final Object value = getValue( valueResolver, object );
 
-        if ( value instanceof Boolean ) {
-            return ((Boolean) value).booleanValue();
+        if ( value instanceof Boolean b ) {
+            return b.booleanValue();
         }
         
         throw new RuntimeException( "Conversion to boolean not supported from 
" + getExtractToClass().getName() );
     }
 
-    public byte getByteValue(ValueResolver valueResolver,
-                             final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public byte getByteValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
 
-        if ( value instanceof Character ) {
-            return (byte) ((Character) value).charValue();
+        if ( value instanceof Character c ) {
+            return (byte) c.charValue();
         } 
         
         throw new RuntimeException( "Conversion to byte not supported from " + 
 getExtractToClass().getName());
     }
 
-    public char getCharValue(ValueResolver valueResolver,
-                             final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public char getCharValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
 
-        if ( value instanceof Character ) {
-            return ((Character) value).charValue();
+        if ( value instanceof Character c ) {
+            return c.charValue();
         } 
         
         throw new RuntimeException( "Conversion to char not supported from " + 
 getExtractToClass().getName() );
     }
 
-    public double getDoubleValue(ValueResolver valueResolver,
-                                 final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public double getDoubleValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
 
-        if( value instanceof Character ) {
-            return ((Character) value).charValue();
-        } else if ( value instanceof Number ) {
-            return ((Number) value).doubleValue();
+        if( value instanceof Character c ) {
+            return c.charValue();
+        } else if ( value instanceof Number n ) {
+            return n.doubleValue();
         }
         
         throw new RuntimeException( "Conversion to double not supported from " 
+  getExtractToClass().getName() );
     }
 
-    public float getFloatValue(ValueResolver valueResolver,
-                               final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public float getFloatValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
 
-        if( value instanceof Character ) {
-            return ((Character) value).charValue();
-        } else if ( value instanceof Number ) {
-            return ((Number) value).floatValue();
+        if( value instanceof Character c ) {
+            return c.charValue();
+        } else if ( value instanceof Number n ) {
+            return n.floatValue();
         }
         
         throw new RuntimeException( "Conversion to float not supported from " 
+  getExtractToClass().getName() );
     }
 
-    public int getIntValue(ValueResolver valueResolver,
-                           final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public int getIntValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
 
-        if( value instanceof Character ) {
-            return ((Character) value).charValue();
-        } else if ( value instanceof Number ) {
-            return ((Number) value).intValue();
+        if( value instanceof Character c ) {
+            return c.charValue();
+        } else if ( value instanceof Number n ) {
+            return n.intValue();
         }
         
         throw new RuntimeException( "Conversion to int not supported from " +  
getExtractToClass().getName() );
     }
 
-    public long getLongValue(ValueResolver valueResolver,
-                             final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
-
-        if( value instanceof Character ) {
-            return ((Character) value).charValue();
-        } else if ( value instanceof Number ) {
-            return ((Number) value).longValue();
-        } else if ( value instanceof Date ) {
-            return ((Date) value).getTime();
+    public long getLongValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
+
+        if( value instanceof Character c ) {
+            return c.charValue();
+        } else if ( value instanceof Number n ) {
+            return n.longValue();
+        } else if ( value instanceof Date d ) {
+            return d.getTime();
         }
         
         throw new RuntimeException( "Conversion to long not supported from " + 
 getExtractToClass().getName() );
     }
 
-    public short getShortValue(ValueResolver valueResolver,
-                               final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public boolean isNullValue(ValueResolver valueResolver, Object object) {
+        return object == null || getValue( valueResolver, object ) == null;
+    }
+
+    public short getShortValue(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
 
-        if( value instanceof Character ) {
-            return (short) ((Character) value).charValue();
-        } else if ( value instanceof Number ) {
-            return ((Number) value).shortValue();
+        if( value instanceof Character c ) {
+            return (short) c.charValue();
+        } else if ( value instanceof Number n ) {
+            return n.shortValue();
         }
 
         throw new RuntimeException( "Conversion to short not supported from " 
+  getExtractToClass().getName() );
     }
 
-    public boolean isNullValue(ValueResolver valueResolver,
-                               final Object object) {
-        if ( object == null ) {
-            return true;
-        } else {
-            return getValue( valueResolver,
-                             object ) == null;
-        }
-    }
-
     public Method getNativeReadMethod() {
         try {
-            return this.getClass().getMethod(getNativeReadMethodName(),
-                                             ValueResolver.class, 
Object.class);
+            return this.getClass().getMethod(getNativeReadMethodName(), 
ValueResolver.class, Object.class);
         } catch ( final Exception e ) {
-            throw new RuntimeException( "This is a bug. Please report to 
development team: " + e.getMessage(),
-                                        e );
+            throw new RuntimeException( "This is a bug. Please report to 
development team: " + e.getMessage(), e );
         }
     }
 
@@ -180,11 +155,8 @@ public abstract class BaseObjectClassFieldReader extends 
BaseClassFieldReader {
         return "get" + type.getName().substring(0, 1).toUpperCase() + 
type.getName().substring(1) + "Value";
     }
 
-    public int getHashCode(ValueResolver valueResolver,
-                           final Object object) {
-        final Object value = getValue( valueResolver,
-                                       object );
+    public int getHashCode(ValueResolver valueResolver, Object object) {
+        final Object value = getValue( valueResolver, object );
         return (value != null) ? value.hashCode() : 0;
     }
-
 }
diff --git 
a/drools-base/src/main/java/org/drools/base/common/DroolsObjectInputStream.java 
b/drools-base/src/main/java/org/drools/base/common/DroolsObjectInputStream.java
index dbadff5b4f..2763557b95 100644
--- 
a/drools-base/src/main/java/org/drools/base/common/DroolsObjectInputStream.java
+++ 
b/drools-base/src/main/java/org/drools/base/common/DroolsObjectInputStream.java
@@ -44,9 +44,9 @@ public class DroolsObjectInputStream extends ObjectInputStream
     private Package pkg;
     private ReadAccessorSupplier store;
 
-    private Map<AccessorKey, List<Consumer<ReadAccessor>>> extractorBinders = 
new HashMap<>();
+    private final Map<AccessorKey, List<Consumer<ReadAccessor>>> 
extractorBinders = new HashMap<>();
     
-    private Map<String, Object> customExtensions = new HashMap<>();
+    private final Map<String, Object> customExtensions = new HashMap<>();
 
     private final Map<String, Object> clonedByIdentity;
 
@@ -131,12 +131,12 @@ public class DroolsObjectInputStream extends 
ObjectInputStream
 
     public void readExtractor( Consumer<ReadAccessor> binder ) throws 
ClassNotFoundException, IOException {
         Object accessor = readObject();
-        if (accessor instanceof AccessorKey ) {
-            ReadAccessor reader = store != null ? 
store.getReader((AccessorKey) accessor) : null;
+        if (accessor instanceof AccessorKey key) {
+            ReadAccessor reader = store != null ? store.getReader(key) : null;
             if (reader == null) {
                 // when an accessor is used in a query it may have been 
defined in a different package and that package
                 // couldn't have been deserialized yet, so delay this binding 
at the end of the deserialization process
-                extractorBinders.computeIfAbsent( (AccessorKey) accessor, k -> 
new ArrayList<>() ).add( binder );
+                extractorBinders.computeIfAbsent( key, k -> new ArrayList<>() 
).add( binder );
             } else {
                 binder.accept( reader );
             }
diff --git 
a/drools-base/src/main/java/org/drools/base/common/RuleBasePartitionId.java 
b/drools-base/src/main/java/org/drools/base/common/RuleBasePartitionId.java
index 92c1c51c0c..a467881910 100644
--- a/drools-base/src/main/java/org/drools/base/common/RuleBasePartitionId.java
+++ b/drools-base/src/main/java/org/drools/base/common/RuleBasePartitionId.java
@@ -49,7 +49,7 @@ public final class RuleBasePartitionId {
 
     @Override
     public boolean equals(Object obj) {
-        return this == obj || (obj instanceof RuleBasePartitionId && id == 
((RuleBasePartitionId)obj).id);
+        return this == obj || (obj instanceof RuleBasePartitionId o && id == 
o.id);
     }
 
     @Override
diff --git 
a/drools-base/src/main/java/org/drools/base/definitions/impl/KnowledgePackageImpl.java
 
b/drools-base/src/main/java/org/drools/base/definitions/impl/KnowledgePackageImpl.java
index e8b9004e0b..f2dc9e3b3f 100644
--- 
a/drools-base/src/main/java/org/drools/base/definitions/impl/KnowledgePackageImpl.java
+++ 
b/drools-base/src/main/java/org/drools/base/definitions/impl/KnowledgePackageImpl.java
@@ -809,8 +809,8 @@ public class KnowledgePackageImpl
                 // if the classloader isn't changed there's no need for a clone
                 return this;
             }
-            if (originalClassLoader instanceof ProjectClassLoader) {
-                ((ProjectClassLoader) 
classLoader).initFrom((ProjectClassLoader) originalClassLoader);
+            if (originalClassLoader instanceof ProjectClassLoader ocl) {
+                ocl.initFrom((ProjectClassLoader) originalClassLoader);
             }
         }
 
diff --git 
a/drools-base/src/main/java/org/drools/base/definitions/rule/impl/RuleImpl.java 
b/drools-base/src/main/java/org/drools/base/definitions/rule/impl/RuleImpl.java
index 4cef19022b..1a2add11c0 100644
--- 
a/drools-base/src/main/java/org/drools/base/definitions/rule/impl/RuleImpl.java
+++ 
b/drools-base/src/main/java/org/drools/base/definitions/rule/impl/RuleImpl.java
@@ -596,17 +596,16 @@ public class RuleImpl implements Externalizable,
     }
 
     public void wire(Object object) {
-        if ( object instanceof Consequence ) {
-            Consequence c = (Consequence) object;
+        if ( object instanceof Consequence c ) {
             if ( DEFAULT_CONSEQUENCE_NAME.equals( c.getName() ) ) {
                 setConsequence( c );
             } else {
                 addNamedConsequence(c.getName(), c);
             }
-        } else if ( object instanceof Salience ) {
-            setSalience( (Salience) object );
-        } else if ( object instanceof Enabled ) {
-            setEnabled( (Enabled) object );
+        } else if ( object instanceof Salience s ) {
+            setSalience( s );
+        } else if ( object instanceof Enabled e ) {
+            setEnabled( e );
         }
     }
 
diff --git 
a/drools-base/src/main/java/org/drools/base/facttemplates/FactTemplateObjectType.java
 
b/drools-base/src/main/java/org/drools/base/facttemplates/FactTemplateObjectType.java
index 1ba8674854..cd782deed0 100644
--- 
a/drools-base/src/main/java/org/drools/base/facttemplates/FactTemplateObjectType.java
+++ 
b/drools-base/src/main/java/org/drools/base/facttemplates/FactTemplateObjectType.java
@@ -87,8 +87,8 @@ public class FactTemplateObjectType
      *         object type, else <code>false</code>.
      */
     public boolean matches(final Object object) {
-        if ( object instanceof Fact ) {
-            return this.factTemplate.equals( ((Fact) object).getFactTemplate() 
);
+        if ( object instanceof Fact f ) {
+            return this.factTemplate.equals( f.getFactTemplate() );
         } else {
             return false;
         }
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/LogicTransformer.java 
b/drools-base/src/main/java/org/drools/base/rule/LogicTransformer.java
index 86607a8ca3..245ba32009 100644
--- a/drools-base/src/main/java/org/drools/base/rule/LogicTransformer.java
+++ b/drools-base/src/main/java/org/drools/base/rule/LogicTransformer.java
@@ -160,8 +160,7 @@ public class LogicTransformer {
     private void processElement(final DeclarationScopeResolver resolver,
                                 final Deque<RuleConditionElement> contextList,
                                 final RuleConditionElement element) {
-        if ( element instanceof Pattern ) {
-            Pattern pattern = (Pattern) element;
+        if ( element instanceof Pattern pattern ) {
             for ( RuleConditionElement ruleConditionElement : 
pattern.getNestedElements() ) {
                 processElement( resolver,
                                 contextList,
@@ -174,18 +173,17 @@ public class LogicTransformer {
                 replaceDeclarations( resolver, pattern, constraint );
             }
 
-        } else if ( element instanceof EvalCondition ) {
-            processEvalCondition(resolver, (EvalCondition) element);
+        } else if ( element instanceof EvalCondition eval ) {
+            processEvalCondition(resolver, eval);
 
-        } else if ( element instanceof Accumulate ) {
+        } else if ( element instanceof Accumulate accumulate ) {
             for ( RuleConditionElement rce : element.getNestedElements() ) {
                 processElement( resolver, contextList, rce );
             }
-            Accumulate accumulate = (Accumulate)element;
             replaceDeclarations( resolver, accumulate );
 
-        } else if ( element instanceof From ) {
-            DataProvider provider = ((From) element).getDataProvider();
+        } else if ( element instanceof From from ) {
+            DataProvider provider = from.getDataProvider();
             Declaration[] decl = provider.getRequiredDeclarations();
             for (Declaration aDecl : decl) {
                 Declaration resolved = 
resolver.getDeclaration(aDecl.getIdentifier());
@@ -202,8 +200,7 @@ public class LogicTransformer {
                 }
             }
 
-        } else if ( element instanceof QueryElement ) {
-            QueryElement qe = ( QueryElement ) element;
+        } else if ( element instanceof QueryElement qe ) {
             Pattern pattern = qe.getResultPattern();
 
             for ( Entry<String, Declaration> entry : 
pattern.getInnerDeclarations().entrySet() ) {
@@ -239,8 +236,8 @@ public class LogicTransformer {
             }
             qe.setVariableIndexes( toIntArray( varIndexes ) );
 
-        }  else if ( element instanceof ConditionalBranch ) {
-            processBranch( resolver, (ConditionalBranch) element );
+        }  else if ( element instanceof ConditionalBranch cb ) {
+            processBranch( resolver, cb );
 
         } else {
             contextList.push( element );
@@ -359,9 +356,7 @@ public class LogicTransformer {
         ce.pack();
 
         for (Object child : ce.getChildren().toArray()) {
-            if (child instanceof GroupElement) {
-                final GroupElement group = (GroupElement) child;
-
+            if (child instanceof GroupElement group) {
                 processTree(group, result);
                 if ((group.isOr() || group.isAnd()) && group.getType() == 
ce.getType()) {
                     group.pack(ce);
@@ -433,9 +428,9 @@ public class LogicTransformer {
             int permutations = 1;
             int index = 0;
             for (final RuleConditionElement child : parent.getChildren()) {
-                if ((child instanceof GroupElement) && ((GroupElement) 
child).isOr()) {
-                    permutations *= ((GroupElement) 
child).getChildren().size();
-                    orsList.add((GroupElement)child);
+                if ( child instanceof GroupElement ge && ge.isOr()) {
+                    permutations *= ge.getChildren().size();
+                    orsList.add(ge);
                 } else {
                     others[index] = child;
                 }
diff --git a/drools-base/src/main/java/org/drools/base/rule/Pattern.java 
b/drools-base/src/main/java/org/drools/base/rule/Pattern.java
index 4425cc29ba..98aef78ff6 100644
--- a/drools-base/src/main/java/org/drools/base/rule/Pattern.java
+++ b/drools-base/src/main/java/org/drools/base/rule/Pattern.java
@@ -127,8 +127,8 @@ public class Pattern implements RuleConditionElement, 
AcceptsClassObjectType, Ex
         tupleIndex = in.readInt();
         objectIndex = in.readInt();
         listenedProperties = (Collection<String>) in.readObject();
-        if ( source instanceof From ) {
-            ((From)source).setResultPattern( this );
+        if ( source instanceof From from ) {
+            from.setResultPattern( this );
         }
         annotations = (Map<String,AnnotationDefinition>) in.readObject();
         passive = in.readBoolean();
@@ -558,7 +558,7 @@ public class Pattern implements RuleConditionElement, 
AcceptsClassObjectType, Ex
     }
 
     private Class<?> getPatternType() {
-        return objectType instanceof ClassObjectType ? 
((ClassObjectType)objectType).getClassType() : null;
+        return objectType instanceof ClassObjectType cot ? cot.getClassType() 
: null;
     }
 
     private static boolean isIterable(Class<?> clazz) {
diff --git a/drools-base/src/main/java/org/drools/base/rule/QueryArgument.java 
b/drools-base/src/main/java/org/drools/base/rule/QueryArgument.java
index 0b7007ba12..74722c2148 100644
--- a/drools-base/src/main/java/org/drools/base/rule/QueryArgument.java
+++ b/drools-base/src/main/java/org/drools/base/rule/QueryArgument.java
@@ -36,8 +36,8 @@ public interface QueryArgument extends Externalizable {
 
     static Object evaluateDeclaration( ValueResolver valueResolver, BaseTuple 
tuple, Declaration declaration ) {
         Object tupleObject = tuple.get( declaration ).getObject();
-        if (tupleObject instanceof DroolsQuery && 
declaration.getExtractor().getIndex() >= 0 &&
-                ( (DroolsQuery) tupleObject 
).getVariables()[declaration.getExtractor().getIndex()] != null ) {
+        if (tupleObject instanceof DroolsQuery query && 
declaration.getExtractor().getIndex() >= 0 &&
+                query.getVariables()[declaration.getExtractor().getIndex()] != 
null ) {
             return Variable.v;
         }
         return declaration.getValue( valueResolver, tupleObject );
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/SingleAccumulate.java 
b/drools-base/src/main/java/org/drools/base/rule/SingleAccumulate.java
index 26c67aee8c..68fe4f1c69 100644
--- a/drools-base/src/main/java/org/drools/base/rule/SingleAccumulate.java
+++ b/drools-base/src/main/java/org/drools/base/rule/SingleAccumulate.java
@@ -140,10 +140,8 @@ public class SingleAccumulate extends Accumulate {
     }
 
     public SingleAccumulate clone() {
-        RuleConditionElement clonedSource = source instanceof GroupElement ? 
((GroupElement) source).cloneOnlyGroup() : source.clone();
-        SingleAccumulate clone = new SingleAccumulate( clonedSource,
-                                                       
this.requiredDeclarations,
-                                                       this.accumulator );
+        RuleConditionElement clonedSource = source instanceof GroupElement ge 
? ge.cloneOnlyGroup() : source.clone();
+        SingleAccumulate clone = new SingleAccumulate( clonedSource, 
this.requiredDeclarations, this.accumulator );
         registerClone(clone);
         return clone;
     }
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/accessor/DeclarationScopeResolver.java
 
b/drools-base/src/main/java/org/drools/base/rule/accessor/DeclarationScopeResolver.java
index 65a573a6f4..7bd22b64cb 100644
--- 
a/drools-base/src/main/java/org/drools/base/rule/accessor/DeclarationScopeResolver.java
+++ 
b/drools-base/src/main/java/org/drools/base/rule/accessor/DeclarationScopeResolver.java
@@ -205,7 +205,7 @@ public class DeclarationScopeResolver {
             if ( declaration != null ) {
                 // if it is an OR and it is duplicated, we can stop looking 
for duplication now
                 // as it is a separate logical branch
-                boolean inOr = ((rce instanceof GroupElement) && 
((GroupElement) rce).isOr());
+                boolean inOr = (rce instanceof GroupElement ge && ge.isOr());
                 if ( ! inOr || type == null ) {
                     return ! inOr;
                 }
@@ -216,8 +216,7 @@ public class DeclarationScopeResolver {
         if ( rule != null && rule.getParent() != null ) {
             // recursive algorithm for each parent
             //     -> lhs.getInnerDeclarations()
-            Declaration parentDeclaration = getExtendedDeclaration( 
rule.getParent(),
-                                                                    name );
+            Declaration parentDeclaration = getExtendedDeclaration( 
rule.getParent(), name );
             return null != parentDeclaration;
         }
         return false;
@@ -235,14 +234,14 @@ public class DeclarationScopeResolver {
         Map<String, Declaration> declarations = new HashMap<>();
         for (RuleConditionElement aBuildList : this.buildList) {
             // if we are inside of an OR we don't want each previous stack 
entry added because we can't see those variables
-            if (aBuildList instanceof GroupElement && 
((GroupElement)aBuildList).getType() == GroupElement.Type.OR) {
+            if (aBuildList instanceof GroupElement ge && ge.getType() == 
GroupElement.Type.OR) {
                 continue;
             }
 
             // this may be optimized in the future to only re-add elements at
             // scope breaks, like "NOT" and "EXISTS"
-            Map<String,Declaration> innerDeclarations = aBuildList instanceof 
GroupElement ?
-                    
((GroupElement)aBuildList).getInnerDeclarations(consequenceName) :
+            Map<String,Declaration> innerDeclarations = aBuildList instanceof 
GroupElement ge ?
+                    ge.getInnerDeclarations(consequenceName) :
                     aBuildList.getInnerDeclarations();
             declarations.putAll(innerDeclarations);
         }
@@ -279,8 +278,7 @@ public class DeclarationScopeResolver {
     private Pattern findPatternInNestedElements(final int id,
                                                 final RuleConditionElement 
rce) {
         for ( RuleConditionElement element : rce.getNestedElements() ) {
-            if ( element instanceof Pattern ) {
-                Pattern p = (Pattern) element;
+            if ( element instanceof Pattern p ) {
                 if (p.getPatternId() == id ) {
                     return p;
                 }
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/accessor/GlobalExtractor.java 
b/drools-base/src/main/java/org/drools/base/rule/accessor/GlobalExtractor.java
index 58005d255b..fb4808e5fd 100755
--- 
a/drools-base/src/main/java/org/drools/base/rule/accessor/GlobalExtractor.java
+++ 
b/drools-base/src/main/java/org/drools/base/rule/accessor/GlobalExtractor.java
@@ -88,8 +88,8 @@ public class GlobalExtractor extends 
BaseObjectClassFieldReader
 
     public Class< ? > getExtractToClass() {
         // @todo : this is a bit nasty, but does the trick
-        if ( this.objectType instanceof ClassObjectType ) {
-            return ((ClassObjectType) this.objectType).getClassType();
+        if ( this.objectType instanceof ClassObjectType cot ) {
+            return cot.getClassType();
         } else {
             return Fact.class;
         }
@@ -98,8 +98,8 @@ public class GlobalExtractor extends 
BaseObjectClassFieldReader
     public String getExtractToClassName() {
         Class< ? > clazz;
         // @todo : this is a bit nasty, but does the trick
-        if ( this.objectType instanceof ClassObjectType ) {
-            clazz = ((ClassObjectType) this.objectType).getClassType();
+        if ( this.objectType instanceof ClassObjectType cot ) {
+            clazz = cot.getClassType();
         } else {
             clazz = Fact.class;
         }
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/accessor/PatternExtractor.java 
b/drools-base/src/main/java/org/drools/base/rule/accessor/PatternExtractor.java
index e6f07b3a61..5981010738 100644
--- 
a/drools-base/src/main/java/org/drools/base/rule/accessor/PatternExtractor.java
+++ 
b/drools-base/src/main/java/org/drools/base/rule/accessor/PatternExtractor.java
@@ -46,8 +46,8 @@ public class PatternExtractor extends 
BaseObjectClassFieldReader
 
     public PatternExtractor(final ObjectType objectType) {
         this.objectType = objectType;
-        if (objectType instanceof ClassObjectType) {
-            setClassObjectType((ClassObjectType) objectType);
+        if (objectType instanceof ClassObjectType cot) {
+            setClassObjectType(cot);
         }
     }
 
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/constraint/QueryNameConstraint.java
 
b/drools-base/src/main/java/org/drools/base/rule/constraint/QueryNameConstraint.java
index 401d152164..8880f8e818 100644
--- 
a/drools-base/src/main/java/org/drools/base/rule/constraint/QueryNameConstraint.java
+++ 
b/drools-base/src/main/java/org/drools/base/rule/constraint/QueryNameConstraint.java
@@ -143,7 +143,7 @@ public class QueryNameConstraint implements
 
     @Override
     public boolean equals(Object obj) {
-        return obj instanceof QueryNameConstraint && 
queryName.equals(((QueryNameConstraint)obj).queryName);
+        return obj instanceof QueryNameConstraint qnc && 
queryName.equals(qnc.queryName);
     }
 
     @Override
diff --git 
a/drools-base/src/main/java/org/drools/base/rule/constraint/XpathConstraint.java
 
b/drools-base/src/main/java/org/drools/base/rule/constraint/XpathConstraint.java
index 519baa71d7..0fd570f73d 100644
--- 
a/drools-base/src/main/java/org/drools/base/rule/constraint/XpathConstraint.java
+++ 
b/drools-base/src/main/java/org/drools/base/rule/constraint/XpathConstraint.java
@@ -195,13 +195,13 @@ public class XpathConstraint extends 
MutableTypeConstraint<ContextEntry> {
 
         private List<Object> evaluateObject(ValueResolver valueResolver, 
BaseTuple leftBaseTuple, XpathChunk chunk, List<Object> list, Object object) {
             Object result = chunk.evaluate(object);
-            if (!chunk.lazy && result instanceof ReactiveObject) {
-                ((ReactiveObject) result).addTuple(leftBaseTuple);
+            if (!chunk.lazy && result instanceof ReactiveObject ro) {
+                ro.addTuple(leftBaseTuple);
             }
-            if (chunk.iterate && result instanceof Iterable) {
-                for (Object value : (Iterable<?>) result) {
-                    if (!chunk.lazy && value instanceof ReactiveObject) {
-                        ((ReactiveObject) value).addTuple(leftBaseTuple);
+            if (chunk.iterate && result instanceof Iterable i) {
+                for (Object value : i) {
+                    if (!chunk.lazy && value instanceof ReactiveObject ro) {
+                        ro.addTuple(leftBaseTuple);
                     }
                     if (value != null) {
                         list.add(value);
@@ -380,8 +380,8 @@ public class XpathConstraint extends 
MutableTypeConstraint<ContextEntry> {
 
         private Class<?> getParametricType(Method accessor) {
             Type returnedType = accessor.getGenericReturnType();
-            if (returnedType instanceof ParameterizedType) {
-                Type[] parametricType = ((ParameterizedType) 
returnedType).getActualTypeArguments();
+            if (returnedType instanceof ParameterizedType pt) {
+                Type[] parametricType = pt.getActualTypeArguments();
                 if (parametricType.length > 0) {
                     return parametricType[0] instanceof Class ?
                            (Class<?>) parametricType[0] :
diff --git 
a/drools-base/src/main/java/org/drools/base/util/TimeIntervalParser.java 
b/drools-base/src/main/java/org/drools/base/util/TimeIntervalParser.java
index 8d89d95af1..a10add5988 100644
--- a/drools-base/src/main/java/org/drools/base/util/TimeIntervalParser.java
+++ b/drools-base/src/main/java/org/drools/base/util/TimeIntervalParser.java
@@ -54,24 +54,24 @@ public class TimeIntervalParser {
     }
 
     public static long getTimestampFromDate( Object obj ) {
-        if (obj instanceof Long ) {
-            return ( Long ) obj;
+        if (obj instanceof Long l ) {
+            return l;
         }
-        if (obj instanceof Date) {
-            return ( (Date) obj ).getTime();
+        if (obj instanceof Date d) {
+            return d.getTime();
         }
         try {
-            if (obj instanceof LocalDate) {
-                return ((LocalDate) 
obj).atStartOfDay().atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli();
+            if (obj instanceof LocalDate ld) {
+                return 
ld.atStartOfDay().atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli();
             }
-            if (obj instanceof LocalDateTime) {
-                return ((LocalDateTime) 
obj).atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli();
+            if (obj instanceof LocalDateTime ldt) {
+                return 
ldt.atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli();
             }
-            if (obj instanceof ZonedDateTime) {
-                return ((ZonedDateTime) obj).toInstant().toEpochMilli();
+            if (obj instanceof ZonedDateTime zdt) {
+                return zdt.toInstant().toEpochMilli();
             }
-            if (obj instanceof Instant) {
-                return ((Instant) obj).toEpochMilli();
+            if (obj instanceof Instant i) {
+                return i.toEpochMilli();
             }
         } catch (ArithmeticException ae) {
             throw new RuntimeException("Cannot convert " + 
obj.getClass().getSimpleName() + " '" + obj + "' into a long value");
diff --git 
a/drools-base/src/main/java/org/drools/base/util/index/ConstraintTypeOperator.java
 
b/drools-base/src/main/java/org/drools/base/util/index/ConstraintTypeOperator.java
index 51e88d6c8b..66322da4d3 100644
--- 
a/drools-base/src/main/java/org/drools/base/util/index/ConstraintTypeOperator.java
+++ 
b/drools-base/src/main/java/org/drools/base/util/index/ConstraintTypeOperator.java
@@ -142,6 +142,6 @@ public enum ConstraintTypeOperator {
     }
 
     public static ConstraintTypeOperator getType(Constraint constraint) {
-        return constraint instanceof IndexableConstraint ? 
((IndexableConstraint) constraint).getConstraintType() : UNKNOWN;
+        return constraint instanceof IndexableConstraint ic ? 
ic.getConstraintType() : UNKNOWN;
     }
 }
diff --git 
a/efesto/efesto-core/efesto-compilation-manager/efesto-compilation-manager-core/pom.xml
 
b/efesto/efesto-core/efesto-compilation-manager/efesto-compilation-manager-core/pom.xml
index c7924cb8eb..fc8e91fd7c 100644
--- 
a/efesto/efesto-core/efesto-compilation-manager/efesto-compilation-manager-core/pom.xml
+++ 
b/efesto/efesto-core/efesto-compilation-manager/efesto-compilation-manager-core/pom.xml
@@ -23,18 +23,6 @@
          xmlns="http://maven.apache.org/POM/4.0.0";
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
   <modelVersion>4.0.0</modelVersion>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>11</source>
-          <target>11</target>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
 
   <parent>
     <groupId>org.kie</groupId>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to