On 10/06/2026 15:43, [email protected] wrote:
This is an automated email from the ASF dual-hosted git repository.

rmaucher pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
      new 4d20e86db3 Minor fixes from code review
4d20e86db3 is described below

commit 4d20e86db36bbab6148a4704a69914eaaa9fae64
Author: remm <[email protected]>
AuthorDate: Wed Jun 10 16:42:47 2026 +0200

     Minor fixes from code review

<snip/>

diff --git a/java/org/apache/catalina/ant/jmx/JMXAccessorConditionBase.java 
b/java/org/apache/catalina/ant/jmx/JMXAccessorConditionBase.java
index e114f25439..7f64bbc81b 100644
--- a/java/org/apache/catalina/ant/jmx/JMXAccessorConditionBase.java
+++ b/java/org/apache/catalina/ant/jmx/JMXAccessorConditionBase.java
@@ -22,6 +22,7 @@ import java.net.MalformedURLException;
  import javax.management.MBeanServerConnection;
  import javax.management.ObjectName;
+import org.apache.tools.ant.BuildException;
  import org.apache.tools.ant.ProjectComponent;
  import org.apache.tools.ant.taskdefs.condition.Condition;
@@ -233,7 +234,7 @@ public abstract class JMXAccessorConditionBase extends ProjectComponent implemen
                  return result.toString();
              }
          } catch (Exception e) {
-            // ignore access or connection open errors
+            throw new BuildException("Cannot access JMX value for condition", 
e);
          }
          return null;
      }

What was the reaosn for this change? It breaks the use of Ant's <waitFor> task (documented in the class level JavaDoc).

I was going to remove the exception and add an explanatory comment but I wanted to check on the reason for the change first.

<snip/>

diff --git a/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java 
b/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java
index 8e27366a44..d9d2d1cd67 100644
--- a/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java
+++ b/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java

<snip/>

@@ -562,7 +560,7 @@ public class JMXAccessorTask extends 
BaseRedirectorHelperTask {
      }
/**
-     * Convert string to datatype FIXME How we can transfer values from ant 
project reference store (ref)?
+     * Convert string to datatype.
       *
       * @param value     The value
       * @param valueType The type
@@ -686,15 +684,16 @@ public class JMXAccessorTask extends 
BaseRedirectorHelperTask {
                  }
              }
          } else if (result instanceof TabularDataSupport data) {
-            for (Object key : data.keySet()) {
-                for (Object key1 : ((List<?>) key)) {
-                    CompositeData valuedata = data.get(new Object[] { key1 });
-                    Object value = valuedata.get("value");
-                    OpenType<?> type = 
valuedata.getCompositeType().getType("value");
-                    if (type instanceof SimpleType<?>) {
-                        setProperty(propertyPrefix + "." + key1, value);
+            for (Object rowObj : data.values()) {
+                CompositeData row = (CompositeData) rowObj;
+                CompositeType rowType = row.getCompositeType();
+                for (String fieldName : rowType.keySet()) {
+                    Object fieldValue = row.get(fieldName);
+                    OpenType<?> fieldType = rowType.getType(fieldName);
+                    if (fieldType instanceof SimpleType<?>) {
+                        setProperty(propertyPrefix + "." + fieldName, 
fieldValue);
                      } else {
-                        createProperty(propertyPrefix + "." + key1, value);
+                        createProperty(propertyPrefix + "." + fieldName, 
fieldValue);
                      }
                  }
              }

The new code only writes the first row of the TabularDate to Ant properties. Subsequent rows are ignored. I suspect that wasn't intended.

Do we want to add some sort of numerical index and length (like arrays)?

<snip/>

Mark

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

Reply via email to