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