[jboss-cvs] JBoss Messaging SVN: r7921 - in branches/Branch_1_4: tests/src/org/jboss/test/messaging/util and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 16 23:26:50 EST 2009


Author: gaohoward
Date: 2009-12-16 23:26:49 -0500 (Wed, 16 Dec 2009)
New Revision: 7921

Modified:
   branches/Branch_1_4/src/main/org/jboss/messaging/util/XMLUtil.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/util/XMLUtilTest.java
Log:
JBMESSAGING-1632


Modified: branches/Branch_1_4/src/main/org/jboss/messaging/util/XMLUtil.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/messaging/util/XMLUtil.java	2009-12-12 04:56:42 UTC (rev 7920)
+++ branches/Branch_1_4/src/main/org/jboss/messaging/util/XMLUtil.java	2009-12-17 04:26:49 UTC (rev 7921)
@@ -383,15 +383,19 @@
       return nodes;
    }
    
-   //Quick dirty replace - use a reg exp to use true default value
-   private static String doReplace(String s, String propertyName, String defaultValue)
+   //using regex to do the job.
+   //https://jira.jboss.org/jira/browse/JBMESSAGING-1632
+   public static String doReplace(String s, String propertyName, String defaultValue)
    {
       String sysProp = System.getProperty(propertyName);
+
+      String reg = "\\$\\{" + "((.*),)*"+ propertyName + "(,(.*))*" + ":" + defaultValue + "\\}";
+
+      s = s.replaceAll(reg, sysProp == null ? defaultValue : sysProp);
       
-      s = s.replace("${" + propertyName + ":" + defaultValue + "}", sysProp == null ? defaultValue : sysProp);
-      
       return s;
    }
+   
 
 
    // Inner classes --------------------------------------------------------------------------------

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/util/XMLUtilTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/util/XMLUtilTest.java	2009-12-12 04:56:42 UTC (rev 7920)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/util/XMLUtilTest.java	2009-12-17 04:26:49 UTC (rev 7921)
@@ -243,6 +243,113 @@
       XMLUtil.assertEquivalent(e, convertedAgain);
    }
 
+   //https://jira.jboss.org/jira/browse/JBMESSAGING-1632
+   public void testDoReplace() throws Exception
+   {
+      String existingProp = System.getProperty("jboss.messaging.datachanneludpaddress");
+      System.clearProperty("jboss.messaging.datachanneludpaddress");
+      
+      String s1 = "${jboss.messaging.datachanneludpaddress:228.6.6.6}";
+      String s2 = "${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup:228.6.6.6}";
+      String s3 = "${jboss.partition.udpGroup,jboss.messaging.datachanneludpaddress:228.6.6.6}";
+      String s4 = "${jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup,jboss.partition.udpGroup1:228.6.6.6}";
+      String s5 = "${jboss.partition.udpGroup1,jboss.partition.udpGroup,jboss.messaging.datachanneludpaddress:228.6.6.6}";
+      String s6 = "${jboss.partition.udpGroup1,jboss.partition.udpGroup,jboss.messaging.datachanneludpaddress,jboss.partition.udpGroup2:228.6.6.6}";
+      String s7 = "absolutely nothing";
+      String s8 = "${jboss.partition.udpGroup1,jboss.partition.udpGroup,jboss.partition.udpGroup2:228.6.6.6}";
+      
+      String s1_val0 = XMLUtil.doReplace(s1, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s2_val0 = XMLUtil.doReplace(s2, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s3_val0 = XMLUtil.doReplace(s3, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s4_val0 = XMLUtil.doReplace(s4, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s5_val0 = XMLUtil.doReplace(s5, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s6_val0 = XMLUtil.doReplace(s6, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s7_val0 = XMLUtil.doReplace(s7, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s8_val0 = XMLUtil.doReplace(s8, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      
+      log.info("s1_val0: " + s1_val0);
+      log.info("s2_val0: " + s2_val0);
+      log.info("s3_val0: " + s3_val0);
+      log.info("s4_val0: " + s4_val0);
+      log.info("s5_val0: " + s5_val0);
+      log.info("s6_val0: " + s6_val0);
+      log.info("s7_val0: " + s7_val0);
+      log.info("s8_val0: " + s8_val0);
 
+      assertEquals("228.6.6.6", s1_val0);
+      assertEquals("228.6.6.6", s2_val0);
+      assertEquals("228.6.6.6", s3_val0);
+      assertEquals("228.6.6.6", s4_val0);
+      assertEquals("228.6.6.6", s5_val0);
+      assertEquals("228.6.6.6", s6_val0);
+      assertEquals(s7, s7_val0);
+      assertEquals(s8, s8_val0);
 
+      System.setProperty("jboss.messaging.datachanneludpaddress", "222222");
+      
+      String s1_val = XMLUtil.doReplace(s1, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s2_val = XMLUtil.doReplace(s2, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s3_val = XMLUtil.doReplace(s3, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s4_val = XMLUtil.doReplace(s4, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s5_val = XMLUtil.doReplace(s5, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s6_val = XMLUtil.doReplace(s6, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s7_val = XMLUtil.doReplace(s7, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s8_val = XMLUtil.doReplace(s8, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      
+      log.info("s1_val: " + s1_val);
+      log.info("s2_val: " + s2_val);
+      log.info("s3_val: " + s3_val);
+      log.info("s4_val: " + s4_val);
+      log.info("s5_val: " + s5_val);
+      log.info("s6_val: " + s6_val);
+      log.info("s7_val: " + s7_val);
+      log.info("s8_val: " + s8_val);
+
+      assertEquals("222222", s1_val);
+      assertEquals("222222", s2_val);
+      assertEquals("222222", s3_val);
+      assertEquals("222222", s4_val);
+      assertEquals("222222", s5_val);
+      assertEquals("222222", s6_val);
+      assertEquals(s7, s7_val);
+      assertEquals(s8, s8_val);
+
+      System.setProperty("jboss.messaging.datachanneludpaddress", "ff0e::1:2:3");
+      
+      String s1_val1 = XMLUtil.doReplace(s1, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s2_val1 = XMLUtil.doReplace(s2, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s3_val1 = XMLUtil.doReplace(s3, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s4_val1 = XMLUtil.doReplace(s4, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s5_val1 = XMLUtil.doReplace(s5, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s6_val1 = XMLUtil.doReplace(s6, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s7_val1 = XMLUtil.doReplace(s7, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      String s8_val1 = XMLUtil.doReplace(s8, "jboss.messaging.datachanneludpaddress", "228.6.6.6");
+      
+      log.info("s1_val1: " + s1_val1);
+      log.info("s2_val1: " + s2_val1);
+      log.info("s3_val1: " + s3_val1);
+      log.info("s4_val1: " + s4_val1);
+      log.info("s5_val1: " + s5_val1);
+      log.info("s6_val1: " + s6_val1);
+      log.info("s7_val1: " + s7_val1);
+      log.info("s8_val1: " + s8_val1);
+
+      assertEquals("ff0e::1:2:3", s1_val1);
+      assertEquals("ff0e::1:2:3", s2_val1);
+      assertEquals("ff0e::1:2:3", s3_val1);
+      assertEquals("ff0e::1:2:3", s4_val1);
+      assertEquals("ff0e::1:2:3", s5_val1);
+      assertEquals("ff0e::1:2:3", s6_val1);
+      assertEquals(s7, s7_val1);
+      assertEquals(s8, s8_val1);
+      
+      System.clearProperty("jboss.messaging.datachanneludpaddress");
+      if (existingProp != null)
+      {
+         System.setProperty("jboss.messaging.datachanneludpaddress", existingProp);
+      }
+      
+   }
+
+
 }




More information about the jboss-cvs-commits mailing list