summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/databinding
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2012-02-29 15:06:57 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2012-02-29 15:06:57 +0000
commit17e573358db8a4a83247037b957db32127bdd00a (patch)
tree6f5fdc4e5169f822571dd7b02e3a023d16a351c1 /sca-java-2.x/trunk/modules/databinding
parenta0a8ac0a56f74f88e0ffbc54aa45a85dbb14c419 (diff)
TUSCANY-4020 - move hardcoded message strings into properties files
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1295144 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/databinding')
-rw-r--r--sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java67
-rw-r--r--sca-java-2.x/trunk/modules/databinding/src/main/resources/org/apache/tuscany/sca/databinding/databinding-validation-messages.properties35
2 files changed, 78 insertions, 24 deletions
diff --git a/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java b/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java
index 0664902feb..aeb63ce02f 100644
--- a/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java
+++ b/sca-java-2.x/trunk/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java
@@ -29,6 +29,7 @@ import java.text.Format;
import java.text.ParsePosition;
import java.util.Calendar;
import java.util.TimeZone;
+import java.util.logging.Logger;
import javax.xml.XMLConstants;
import javax.xml.datatype.DatatypeConfigurationException;
@@ -44,6 +45,8 @@ import javax.xml.namespace.QName;
* @tuscany.spi.extension.asclient
*/
public class XSDDataTypeConverter {
+ private static final Logger logger = Logger.getLogger(XSDDataTypeConverter.class.getName(),
+ "org.apache.tuscany.sca.databinding.databinding-validation-messages");
/**
*
* @tuscany.spi.extension.asclient
@@ -192,7 +195,7 @@ public class XSDDataTypeConverter {
obuf[wp] = (byte) (b2 << 6 & 0xc0 | b3 & 0x3f);
return 3;
default:
- throw new IllegalArgumentException("The character sequence is not base64 encoded.");
+ throw new IllegalArgumentException(logger.getResourceBundle().getString("NotBase64Encoded"));
}
}
@@ -338,7 +341,7 @@ public class XSDDataTypeConverter {
*/
public static byte[] decode(String pValue) {
if ((pValue.length() % 2) != 0) {
- throw new IllegalArgumentException("A HexBinary string must have even length.");
+ throw new IllegalArgumentException(logger.getResourceBundle().getString("HexBinaryUnevenLength"));
}
byte[] result = new byte[pValue.length() / 2];
int j = 0;
@@ -354,7 +357,7 @@ public class XSDDataTypeConverter {
} else if (c >= 'a' && c <= 'f') {
b = (byte) ((c - 'a' + 10) << 4);
} else {
- throw new IllegalArgumentException("Invalid hex digit: " + c);
+ throw new IllegalArgumentException(logger.getResourceBundle().getString("InvalidHexDigit") + " " + c);
}
if (d >= '0' && d <= '9') {
b += (byte) (d - '0');
@@ -363,7 +366,7 @@ public class XSDDataTypeConverter {
} else if (d >= 'a' && d <= 'f') {
b += (byte) (d - 'a' + 10);
} else {
- throw new IllegalArgumentException("Invalid hex digit: " + d);
+ throw new IllegalArgumentException(logger.getResourceBundle().getString("InvalidHexDigit") + " " + d);
}
result[j++] = b;
}
@@ -718,8 +721,10 @@ public class XSDDataTypeConverter {
ParsePosition pos = new ParsePosition(0);
Calendar cal = (Calendar) format.parseObject(value, pos);
if (cal == null) {
- throw new IllegalArgumentException("Failed to parse date " + value + " at:"
- + value.substring(pos.getErrorIndex()));
+ String message = logger.getResourceBundle().getString("BadDate");
+ message = message.replace("{0}", value);
+ message = message.replace("{1}", value.substring(pos.getErrorIndex()));
+ throw new IllegalArgumentException(message);
}
return cal;
}
@@ -729,8 +734,10 @@ public class XSDDataTypeConverter {
ParsePosition pos = new ParsePosition(0);
Calendar cal = (Calendar) format.parseObject(value, pos);
if (cal == null) {
- throw new IllegalArgumentException("Failed to parse dateTime " + value + " at:"
- + value.substring(pos.getErrorIndex()));
+ String message = logger.getResourceBundle().getString("BadDateTime");
+ message = message.replace("{0}", value);
+ message = message.replace("{1}", value.substring(pos.getErrorIndex()));
+ throw new IllegalArgumentException(message);
}
return cal;
}
@@ -799,18 +806,21 @@ public class XSDDataTypeConverter {
// Should not happen, indicates an error in the
// NamespaceContext
// implementation
- throw new IllegalArgumentException("The default prefix is not bound.");
+ throw new IllegalArgumentException(logger.getResourceBundle().getString("DefaultPrefixNotBound"));
}
break;
case 0:
- throw new IllegalArgumentException("Default prefix must be indicated by not using a colon: "
- + value);
+ throw new IllegalArgumentException(logger.getResourceBundle().getString("NoColonForPrefix") +
+ " " +
+ value);
default:
String prefix = value.substring(0, offset);
localName = value.substring(offset + 1);
uri = context.getNamespaceURI(prefix);
if (uri == null) {
- throw new IllegalArgumentException("The prefix " + prefix + " is not bound.");
+ String message = logger.getResourceBundle().getString("PrefixNotBound");
+ message = message.replace("{0}", prefix);
+ throw new IllegalArgumentException(message);
}
}
return new QName(uri, localName);
@@ -829,8 +839,10 @@ public class XSDDataTypeConverter {
ParsePosition pos = new ParsePosition(0);
Calendar cal = (Calendar) format.parseObject(value, pos);
if (cal == null) {
- throw new IllegalArgumentException("Failed to parse time " + value + " at:"
- + value.substring(pos.getErrorIndex()));
+ String message = logger.getResourceBundle().getString("BadTime");
+ message = message.replace("{0}", value);
+ message = message.replace("{1}", value.substring(pos.getErrorIndex()));
+ throw new IllegalArgumentException(message);
}
return cal;
}
@@ -838,12 +850,15 @@ public class XSDDataTypeConverter {
public long parseUnsignedInt(String value) {
long l = Long.parseLong(value);
if (l < 0) {
- throw new IllegalArgumentException("Failed to parse UnsignedInt " + value
- + ": result is negative");
+ String message = logger.getResourceBundle().getString("BadUnsignedIntNegative");
+ message = message.replace("{0}", value);
+ throw new IllegalArgumentException(message);
}
if (l > MAX_UNSIGNED_INT) {
- throw new IllegalArgumentException("Failed to parse UnsignedInt " + value
- + ": result exceeds maximum value " + MAX_UNSIGNED_INT);
+ String message = logger.getResourceBundle().getString("BadUnsignedIntMax");
+ message = message.replace("{0}", value);
+ message = message.replace("{1}", String.valueOf(MAX_UNSIGNED_INT));
+ throw new IllegalArgumentException(message);
}
return l;
}
@@ -851,12 +866,15 @@ public class XSDDataTypeConverter {
public int parseUnsignedShort(String value) {
int i = Integer.parseInt(value);
if (i < 0) {
- throw new IllegalArgumentException("Failed to parse UnsignedShort " + value
- + ": result is negative");
+ String message = logger.getResourceBundle().getString("BadUnsignedShortNegative");
+ message = message.replace("{0}", value);
+ throw new IllegalArgumentException(message);
}
if (i > MAX_UNSIGNED_SHORT) {
- throw new IllegalArgumentException("Failed to parse UnsignedShort " + value
- + ": result exceeds maximum value " + MAX_UNSIGNED_SHORT);
+ String message = logger.getResourceBundle().getString("BadUnsignedShortMax");
+ message = message.replace("{0}", value);
+ message = message.replace("{1}", String.valueOf(MAX_UNSIGNED_SHORT));
+ throw new IllegalArgumentException(message);
}
return i;
}
@@ -920,8 +938,9 @@ public class XSDDataTypeConverter {
public String printQName(QName value, NamespaceContext context) {
String prefix = context.getPrefix(value.getNamespaceURI());
if (prefix == null) {
- throw new IllegalArgumentException("The namespace URI " + value.getNamespaceURI()
- + " is not bound.");
+ String message = logger.getResourceBundle().getString("NamespaceNotBound");
+ message = message.replace("{0}", value.getNamespaceURI());
+ throw new IllegalArgumentException(message);
} else if (XMLConstants.DEFAULT_NS_PREFIX.equals(prefix)) {
return value.getLocalPart();
} else {
diff --git a/sca-java-2.x/trunk/modules/databinding/src/main/resources/org/apache/tuscany/sca/databinding/databinding-validation-messages.properties b/sca-java-2.x/trunk/modules/databinding/src/main/resources/org/apache/tuscany/sca/databinding/databinding-validation-messages.properties
new file mode 100644
index 0000000000..0697b8b346
--- /dev/null
+++ b/sca-java-2.x/trunk/modules/databinding/src/main/resources/org/apache/tuscany/sca/databinding/databinding-validation-messages.properties
@@ -0,0 +1,35 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+NotBase64Encoded = The character sequence is not base64 encoded
+HexBinaryUnevenLength = A HexBinary string must have even length
+InvalidHexDigit = Invalid hex digit:
+BadDate = Failed to parse date {0} at {1}
+BadDateTime = Failed to parse dateTime {0} at {1}
+DefaultPrefixNotBound = The default prefix is not bound
+NoColonForPrefix = Default prefix must be indicated by not using a colon:
+PrefixNotBound = The prefix {0} is not bound.
+BadTime = Failed to parse time {0} at {1}
+BadUnsignedIntNegative = Failed to parse UnsignedInt {0} result is negative"
+BadUnsignedIntMax = "Failed to parse UnsignedInt {0} result exceeds maximum value {1}
+BadUnsignedShortNegative = Failed to parse UnsignedShort {0} result is negative"
+BadUnsignedShortMax = "Failed to parse UnsignedShort {0} result exceeds maximum value {1}
+NamespaceNotBound = The namespace URI {0} is not bound
+