001: /*
002: * Copyright 1999,2004 The Apache Software Foundation.
003: *
004: * Licensed under the Apache License, Version 2.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.apache.org/licenses/LICENSE-2.0
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016:
017: package com.icesoft.jasper.compiler;
018:
019: import org.apache.commons.logging.Log;
020: import org.apache.commons.logging.LogFactory;
021:
022: import java.text.MessageFormat;
023: import java.util.MissingResourceException;
024:
025: /**
026: * Class responsible for converting error codes to corresponding localized error
027: * messages.
028: *
029: * @author Jan Luehe
030: */
031: public class Localizer {
032:
033: /*
034: private static final ResourceBundle bundle = ResourceBundle.getBundle(
035: "org.apache.jasper.resources.messages");
036: */
037:
038: private static final Log log = LogFactory.getLog(Localizer.class);
039:
040: /*
041: * Returns the localized error message corresponding to the given error
042: * code.
043: *
044: * If the given error code is not defined in the resource bundle for
045: * localized error messages, it is used as the error message.
046: *
047: * @param errCode Error code to localize
048: *
049: * @return Localized error message
050: */
051: public static String getMessage(String errCode) {
052: String errMsg = errCode;
053: /*
054: try {
055: errMsg = bundle.getString(errCode);
056: } catch (MissingResourceException e) {
057: }
058: */
059: return errMsg;
060: }
061:
062: /*
063: * Returns the localized error message corresponding to the given error
064: * code.
065: *
066: * If the given error code is not defined in the resource bundle for
067: * localized error messages, it is used as the error message.
068: *
069: * @param errCode Error code to localize
070: * @param arg Argument for parametric replacement
071: *
072: * @return Localized error message
073: */
074: public static String getMessage(String errCode, String arg) {
075: return getMessage(errCode, new Object[] { arg });
076: }
077:
078: /*
079: * Returns the localized error message corresponding to the given error
080: * code.
081: *
082: * If the given error code is not defined in the resource bundle for
083: * localized error messages, it is used as the error message.
084: *
085: * @param errCode Error code to localize
086: * @param arg1 First argument for parametric replacement
087: * @param arg2 Second argument for parametric replacement
088: *
089: * @return Localized error message
090: */
091: public static String getMessage(String errCode, String arg1,
092: String arg2) {
093: return getMessage(errCode, new Object[] { arg1, arg2 });
094: }
095:
096: /*
097: * Returns the localized error message corresponding to the given error
098: * code.
099: *
100: * If the given error code is not defined in the resource bundle for
101: * localized error messages, it is used as the error message.
102: *
103: * @param errCode Error code to localize
104: * @param arg1 First argument for parametric replacement
105: * @param arg2 Second argument for parametric replacement
106: * @param arg3 Third argument for parametric replacement
107: *
108: * @return Localized error message
109: */
110: public static String getMessage(String errCode, String arg1,
111: String arg2, String arg3) {
112: return getMessage(errCode, new Object[] { arg1, arg2, arg3 });
113: }
114:
115: /*
116: * Returns the localized error message corresponding to the given error
117: * code.
118: *
119: * If the given error code is not defined in the resource bundle for
120: * localized error messages, it is used as the error message.
121: *
122: * @param errCode Error code to localize
123: * @param arg1 First argument for parametric replacement
124: * @param arg2 Second argument for parametric replacement
125: * @param arg3 Third argument for parametric replacement
126: * @param arg4 Fourth argument for parametric replacement
127: *
128: * @return Localized error message
129: */
130: public static String getMessage(String errCode, String arg1,
131: String arg2, String arg3, String arg4) {
132: return getMessage(errCode, new Object[] { arg1, arg2, arg3,
133: arg4 });
134: }
135:
136: /*
137: * Returns the localized error message corresponding to the given error
138: * code.
139: *
140: * If the given error code is not defined in the resource bundle for
141: * localized error messages, it is used as the error message.
142: *
143: * @param errCode Error code to localize
144: * @param args Arguments for parametric replacement
145: *
146: * @return Localized error message
147: */
148: public static String getMessage(String errCode, Object[] args) {
149: String errMsg = errCode;
150: try {
151: // errMsg = bundle.getString(errCode);
152: if (args != null) {
153: MessageFormat formatter = new MessageFormat(errMsg);
154: errMsg = formatter.format(args);
155: }
156: } catch (MissingResourceException e) {
157: if (log.isDebugEnabled()) {
158: log.debug(e.getMessage(), e);
159: }
160: }
161:
162: return errMsg;
163: }
164: }
|