Author: bago
Date: Thu Jan 20 10:56:26 2011
New Revision: 1061209

URL: http://svn.apache.org/viewvc?rev=1061209&view=rev
Log:
Move Lock from util to data-library.
Remove XMLResources by simply moving 2 static methods to VirtualUserTableUtil 
(they was not XML specific anyway).

Added:
    
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
   (contents, props changed)
      - copied, changed from r1060981, 
james/server/trunk/util/src/main/java/org/apache/james/util/Lock.java
Removed:
    james/server/trunk/util/src/main/java/org/apache/james/util/Lock.java
Modified:
    
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
    
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/VirtualUserTableUtil.java

Modified: 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java?rev=1061209&r1=1061208&r2=1061209&view=diff
==============================================================================
--- 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
 (original)
+++ 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/AbstractMailRepository.java
 Thu Jan 20 10:56:26 2011
@@ -27,7 +27,6 @@ import org.apache.commons.logging.Log;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailrepository.api.MailRepository;
-import org.apache.james.util.Lock;
 import org.apache.mailet.Mail;
 
 import javax.mail.MessagingException;

Copied: 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
 (from r1060981, 
james/server/trunk/util/src/main/java/org/apache/james/util/Lock.java)
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java?p2=james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java&p1=james/server/trunk/util/src/main/java/org/apache/james/util/Lock.java&r1=1060981&r2=1061209&rev=1061209&view=diff
==============================================================================
--- james/server/trunk/util/src/main/java/org/apache/james/util/Lock.java 
(original)
+++ 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
 Thu Jan 20 10:56:26 2011
@@ -19,7 +19,7 @@
 
 
 
-package org.apache.james.util;
+package org.apache.james.mailrepository.lib;
 
 import java.util.Hashtable;
 

Propchange: 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.3.4.3

Propchange: 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
james/server/trunk/data-library/src/main/java/org/apache/james/mailrepository/lib/Lock.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/VirtualUserTableUtil.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/VirtualUserTableUtil.java?rev=1061209&r1=1061208&r2=1061209&view=diff
==============================================================================
--- 
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/VirtualUserTableUtil.java
 (original)
+++ 
james/server/trunk/data-library/src/main/java/org/apache/james/vut/lib/VirtualUserTableUtil.java
 Thu Jan 20 10:56:26 2011
@@ -28,7 +28,6 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 
-import org.apache.james.util.XMLResources;
 import org.apache.james.vut.api.VirtualUserTable;
 import org.apache.mailet.MailAddress;
 
@@ -76,11 +75,64 @@ public class VirtualUserTableUtil {
             for (int i = 1; i < match.groupCount(); i++) {
                 parameters.put(Integer.toString(i), match.group(i));
             }
-            result = 
XMLResources.replaceParameters(targetString.substring(msgPos + 1), parameters);
+            result = replaceParameters(targetString.substring(msgPos + 1), 
parameters);
         }    
         return result;
      }
-     
+
+    /**
+     * Returns a named string, replacing parameters with the values set.
+     * 
+     * @param str          the name of the String resource required.
+     * @param parameters    a map of parameters (name-value string pairs) 
which are
+     *                      replaced where found in the input strings
+     * @return the requested resource
+     */
+    static public String replaceParameters(String str, Map<String, String> 
parameters) {
+        if (str != null && parameters != null) {
+            // Do parameter replacements for this string resource.
+            Iterator<String> paramNames = parameters.keySet().iterator();
+            StringBuffer replaceBuffer = new StringBuffer(64);
+            while ( paramNames.hasNext() ) {
+                String paramName = (String)paramNames.next();
+                String paramValue = (String)parameters.get(paramName);
+                replaceBuffer.append("${").append(paramName).append("}");
+                str = substituteSubString(str, replaceBuffer.toString(), 
paramValue);
+                if (paramNames.hasNext()) replaceBuffer.setLength(0);
+            }
+        }
+
+        return str;
+    }
+    
+    /**
+     * Replace substrings of one string with another string and return altered 
string.
+     * @param input input string
+     * @param find the string to replace
+     * @param replace the string to replace with
+     * @return the substituted string
+     */
+    static private String substituteSubString( String input, 
+                                               String find,
+                                               String replace ) {
+        int find_length = find.length();
+        int replace_length = replace.length();
+
+        StringBuffer output = new StringBuffer(input);
+        int index = input.indexOf(find);
+        int outputOffset = 0;
+
+        while ( index > -1 ) {
+            output.replace(index + outputOffset, index + outputOffset + 
find_length, replace);
+            outputOffset = outputOffset + (replace_length - find_length);
+
+            index = input.indexOf(find, index + find_length);
+        }
+
+        String result = output.toString();
+        return result;
+    }
+    
     /**
      * Returns the real recipient given a virtual username and domain.
      * 



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to