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

robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new e5e95f4a18 ARTEMIS-4818 Support classes with .class in the package
e5e95f4a18 is described below

commit e5e95f4a182d442bd5c1b4c64906c39fc2ae662f
Author: Domenico Francesco Bruscino <[email protected]>
AuthorDate: Tue Jun 18 13:24:31 2024 +0200

    ARTEMIS-4818 Support classes with .class in the package
---
 .../artemis/core/config/impl/ConfigurationImpl.java        |  7 +++----
 .../artemis/core/config/impl/ConfigurationImplTest.java    | 14 ++++++++++++++
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
index 2cddc81389..9fb628b32e 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java
@@ -958,13 +958,12 @@ public class ConfigurationImpl implements Configuration, 
Serializable {
       updateApplyStatus(propsId, errors);
    }
 
-   private static boolean isClassProperty(String property) {
+   protected static boolean isClassProperty(String property) {
       return property.endsWith(PROPERTY_CLASS_SUFFIX);
    }
 
-   private static String extractPropertyClassName(String property) {
-      int propertyClassSuffixIndex = property.indexOf(PROPERTY_CLASS_SUFFIX);
-      return property.substring(0, propertyClassSuffixIndex);
+   protected static String extractPropertyClassName(String property) {
+      return property.substring(0, property.length() - 
PROPERTY_CLASS_SUFFIX.length());
    }
 
    private void trackError(HashMap<String, String> errors, Map.Entry<String,?> 
entry, Throwable oops) {
diff --git 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
index 2de1825a83..e8e8281283 100644
--- 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
+++ 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImplTest.java
@@ -2331,6 +2331,20 @@ public class ConfigurationImplTest extends 
AbstractConfigurationTestBase {
       assertEquals(1, 
dummyConfig.getChildConfig().getChildConfig().getChildConfig().getIntProperty());
    }
 
+   @Test
+   public void testIsClass() throws Exception {
+      assertTrue(ConfigurationImpl.isClassProperty("test.class"));
+      assertTrue(ConfigurationImpl.isClassProperty("foo.class.bar.class"));
+      assertFalse(ConfigurationImpl.isClassProperty("test"));
+      assertFalse(ConfigurationImpl.isClassProperty("foo.class.bar"));
+   }
+
+   @Test
+   public void testExtractPropertyClassName() throws Exception {
+      assertEquals("test", 
ConfigurationImpl.extractPropertyClassName("test.class"));
+      assertEquals("foo.class.bar", 
ConfigurationImpl.extractPropertyClassName("foo.class.bar.class"));
+   }
+
    public static class DummyConfig {
       private int intProperty;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to