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: [email protected]
For additional commands, e-mail: [email protected]