vgritsenko 2003/01/24 18:58:58
Modified: src/java/org/apache/cocoon/generation
LinkStatusGenerator.java ServerPagesGenerator.java
src/java/org/apache/cocoon/transformation
EncodeURLTransformer.java I18nTransformer.java
SourceWritingTransformer.java TraxTransformer.java
Log:
conf is not null. remove some dead code. realign i18n transformer.
Revision Changes Path
1.8 +2 -2
xml-cocoon2/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java
Index: LinkStatusGenerator.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/generation/LinkStatusGenerator.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- LinkStatusGenerator.java 17 Aug 2002 03:49:51 -0000 1.7
+++ LinkStatusGenerator.java 25 Jan 2003 02:58:57 -0000 1.8
@@ -266,7 +266,7 @@
Configuration[] children;
children = configuration.getChildren(INCLUDE_CONFIG);
- if (children != null && children.length > 0) {
+ if (children.length > 0) {
includeCrawlingURL = new HashSet();
for (int i = 0; i < children.length; i++) {
String pattern = children[i].getValue();
@@ -284,7 +284,7 @@
}
children = configuration.getChildren(EXCLUDE_CONFIG);
- if (children != null && children.length > 0) {
+ if (children.length > 0) {
excludeCrawlingURL = new HashSet();
for (int i = 0; i < children.length; i++) {
String pattern = children[i].getValue();
1.25 +2 -4
xml-cocoon2/src/java/org/apache/cocoon/generation/ServerPagesGenerator.java
Index: ServerPagesGenerator.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/generation/ServerPagesGenerator.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- ServerPagesGenerator.java 9 Jan 2003 18:47:47 -0000 1.24
+++ ServerPagesGenerator.java 25 Jan 2003 02:58:57 -0000 1.25
@@ -216,9 +216,7 @@
}
// Give our own logger to the generator so that logs go in the correct
category
- if (generator instanceof LogEnabled) {
- ((LogEnabled) generator).enableLogging(getLogger());
- }
+ generator.enableLogging(getLogger());
generator.setup(super.resolver, super.objectModel, super.source,
super.parameters);
}
1.5 +8 -10
xml-cocoon2/src/java/org/apache/cocoon/transformation/EncodeURLTransformer.java
Index: EncodeURLTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/EncodeURLTransformer.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EncodeURLTransformer.java 10 Nov 2002 22:39:08 -0000 1.4
+++ EncodeURLTransformer.java 25 Jan 2003 02:58:58 -0000 1.5
@@ -122,7 +122,6 @@
* description="RE pattern for including attributes from encode URL rewriting"
*
*/
-
public class EncodeURLTransformer
extends AbstractTransformer
implements Configurable, CacheableProcessingComponent {
@@ -215,15 +214,14 @@
* @since
*/
public void configure(Configuration configuration) throws
ConfigurationException {
- if (configuration != null) {
- Configuration child;
+ Configuration child;
- child = configuration.getChild(INCLUDE_NAME);
- this.includeNameConfigure = child.getValue(INCLUDE_NAME_DEFAULT);
+ child = configuration.getChild(INCLUDE_NAME);
+ this.includeNameConfigure = child.getValue(INCLUDE_NAME_DEFAULT);
+
+ child = configuration.getChild(EXCLUDE_NAME);
+ this.excludeNameConfigure = child.getValue(EXCLUDE_NAME_DEFAULT);
- child = configuration.getChild(EXCLUDE_NAME);
- this.excludeNameConfigure = child.getValue(EXCLUDE_NAME_DEFAULT);
- }
if (this.includeNameConfigure == null) {
String message = "Configure " + INCLUDE_NAME + "!";
throw new ConfigurationException(message);
1.28 +429 -459
xml-cocoon2/src/java/org/apache/cocoon/transformation/I18nTransformer.java
Index: I18nTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/I18nTransformer.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- I18nTransformer.java 22 Jan 2003 12:42:24 -0000 1.27
+++ I18nTransformer.java 25 Jan 2003 02:58:58 -0000 1.28
@@ -212,21 +212,21 @@
* $Id$
*/
public class I18nTransformer extends AbstractTransformer
- implements CacheableProcessingComponent,
- Composable, Configurable, Disposable {
+ implements CacheableProcessingComponent,
+ Composable, Configurable, Disposable {
/**
* The namespace for i18n is "http://apache.org/cocoon/i18n/2.1".
*/
public static final String I18N_NAMESPACE_URI =
- "http://apache.org/cocoon/i18n/2.1";
+ "http://apache.org/cocoon/i18n/2.1";
/**
* The old namespace for i18n is "http://apache.org/cocoon/i18n/2.0".
*/
public static final String I18N_OLD_NAMESPACE_URI =
- "http://apache.org/cocoon/i18n/2.0";
+ "http://apache.org/cocoon/i18n/2.0";
//
// i18n elements
@@ -489,15 +489,15 @@
/** integer currency element */
public static final String I18N_INT_CURRENCY_ELEMENT
- = "int-currency";
+ = "int-currency";
/** currency without unit element */
public static final String I18N_CURRENCY_NO_UNIT_ELEMENT =
- "currency-no-unit";
+ "currency-no-unit";
/** integer currency without unit element */
public static final String I18N_INT_CURRENCY_NO_UNIT_ELEMENT =
- "int-currency-no-unit";
+ "int-currency-no-unit";
// i18n general attributes
@@ -652,17 +652,13 @@
// FIXME (KP): Cache validity should be generated by
// Bundle implementations.
private static final SourceValidity I18N_NOP_VALIDITY =
- new org.apache.excalibur.source.impl.validity.NOPValidity();
+ new org.apache.excalibur.source.impl.validity.NOPValidity();
// States of the transformer
private static final int STATE_OUTSIDE = 0;
private static final int STATE_INSIDE_TEXT = 10;
private static final int STATE_INSIDE_PARAM = 20;
- private static final int STATE_INSIDE_PARAM_NODE = 21;
private static final int STATE_INSIDE_TRANSLATE = 30;
- private static final int STATE_INSIDE_TRANSLATE_TEXT = 31;
- private static final int STATE_TRANSLATE_KEY = 40;
- private static final int STATE_TRANSLATE_TEXT_KEY = 41;
private static final int STATE_INSIDE_CHOOSE = 50;
private static final int STATE_INSIDE_WHEN = 51;
private static final int STATE_INSIDE_OTHERWISE = 52;
@@ -835,38 +831,36 @@
if (factory == null) {
throw new ConfigurationException("BundleFactory component is not
found.");
}
- if (conf != null) {
- // read in the config options from the transformer definition
+ // read in the config options from the transformer definition
- // obtain the base name of the message catalogue
- Configuration child = conf.getChild(I18N_CATALOGUE_NAME);
- catalogueName = child.getValue(null);
- debug("Default catalogue name is " + catalogueName);
-
- // obtain the directory location of message catalogues
- child = conf.getChild(I18N_CATALOGUE_LOCATION);
- catalogueLocation = child.getValue(null);
- debug("Default catalogue location is " + catalogueLocation);
-
- // check our mandatory parameters
- if (catalogueName == null || catalogueLocation == null)
- throw new ConfigurationException(
+ // obtain the base name of the message catalogue
+ Configuration child = conf.getChild(I18N_CATALOGUE_NAME);
+ catalogueName = child.getValue(null);
+ debug("Default catalogue name is " + catalogueName);
+
+ // obtain the directory location of message catalogues
+ child = conf.getChild(I18N_CATALOGUE_LOCATION);
+ catalogueLocation = child.getValue(null);
+ debug("Default catalogue location is " + catalogueLocation);
+
+ // check our mandatory parameters
+ if (catalogueName == null || catalogueLocation == null)
+ throw new ConfigurationException(
"I18nTransformer requires the name and location of " +
"the message catalogues"
- );
-
- // obtain default text to use for untranslated messages
- child = conf.getChild(I18N_UNTRANSLATED);
- untranslated = child.getValue(null);
- debug("Default untranslated text is '" + untranslated + "'");
-
- // obtain config option, whether to cache messages at startup time
- child = conf.getChild(I18N_CACHE_STARTUP);
- cacheAtStartup = child.getValueAsBoolean(false);
- debug((cacheAtStartup ? "will" : "won't") +
- " cache messages during startup, by default"
);
- }
+
+ // obtain default text to use for untranslated messages
+ child = conf.getChild(I18N_UNTRANSLATED);
+ untranslated = child.getValue(null);
+ debug("Default untranslated text is '" + untranslated + "'");
+
+ // obtain config option, whether to cache messages at startup time
+ child = conf.getChild(I18N_CACHE_STARTUP);
+ cacheAtStartup = child.getValueAsBoolean(false);
+ debug((cacheAtStartup ? "will" : "won't") +
+ " cache messages during startup, by default"
+ );
}
/**
@@ -874,7 +868,7 @@
*/
public void setup(SourceResolver resolver, Map objectModel, String source,
Parameters parameters)
- throws ProcessingException, SAXException, IOException {
+ throws ProcessingException, SAXException, IOException {
try {
// check parameters to see if anything has been locally overloaded
@@ -885,11 +879,11 @@
if (parameters != null) {
localCatLocation =
- parameters.getParameter(I18N_CATALOGUE_LOCATION, null);
+ parameters.getParameter(I18N_CATALOGUE_LOCATION, null);
localCatName =
- parameters.getParameter(I18N_CATALOGUE_NAME, null);
+ parameters.getParameter(I18N_CATALOGUE_NAME, null);
localUntranslated =
- parameters.getParameter(I18N_UNTRANSLATED, null);
+ parameters.getParameter(I18N_UNTRANSLATED, null);
lc = parameters.getParameter(I18N_LOCALE, null);
}
@@ -902,7 +896,7 @@
// configure the factory
_setup(resolver, localCatLocation == null ? catalogueLocation
- : localCatLocation);
+ : localCatLocation);
// Get current locale
Locale locale = I18nUtils.parseLocale(lc);
@@ -910,8 +904,8 @@
// setup everything for the current locale
dictionary = (Bundle)factory.select(
- localCatName == null ? catalogueName : localCatName,
- locale
+ localCatName == null ? catalogueName : localCatName,
+ locale
);
debug( "selected dictionary " + dictionary );
@@ -921,14 +915,14 @@
this.current_state = STATE_OUTSIDE;
this.prev_state = STATE_OUTSIDE;
this.current_key = null;
- this.translate_copy = false;
- this.tr_text_recorder = null;
+ this.translate_copy = false;
+ this.tr_text_recorder = null;
this.text_recorder = new MirrorRecorder();
- this.param_count = 0;
- this.param_name = null;
+ this.param_count = 0;
+ this.param_name = null;
this.param_value = null;
this.param_recorder = null;
- this.indexedParams = new HashMap(3);
+ this.indexedParams = new HashMap(3);
this.formattingParams = null;
this.strBuffer = null;
@@ -949,25 +943,25 @@
* configuration object directly to XMLResourceBundle.
*/
private void _setup(SourceResolver resolver, String location)
- throws Exception {
+ throws Exception {
// configure the factory to log correctly and cache catalogues
DefaultConfiguration configuration =
- new DefaultConfiguration("name", "location");
+ new DefaultConfiguration("name", "location");
DefaultConfiguration cacheConf =
- new DefaultConfiguration(
- BundleFactory.ConfigurationKeys.CACHE_AT_STARTUP,
- "location"
- );
+ new DefaultConfiguration(
+ BundleFactory.ConfigurationKeys.CACHE_AT_STARTUP,
+ "location"
+ );
cacheConf.setValue(new Boolean(cacheAtStartup).toString());
configuration.addChild(cacheConf);
// set the root location for message catalogues
DefaultConfiguration dirConf =
- new DefaultConfiguration(
- BundleFactory.ConfigurationKeys.ROOT_DIRECTORY,
- "location"
- );
+ new DefaultConfiguration(
+ BundleFactory.ConfigurationKeys.ROOT_DIRECTORY,
+ "location"
+ );
debug("catalog location:" + location);
Source source = null;
@@ -999,36 +993,36 @@
strBuffer = null;
}
- if (I18N_OLD_NAMESPACE_URI.equals(uri)) {
- this.getLogger().warn("The namespace "
- + I18N_OLD_NAMESPACE_URI
- + " for i18n is not supported any more, use: "
- + I18N_NAMESPACE_URI);
- }
+ if (I18N_OLD_NAMESPACE_URI.equals(uri)) {
+ this.getLogger().warn("The namespace "
+ + I18N_OLD_NAMESPACE_URI
+ + " for i18n is not supported any more, use: "
+ + I18N_NAMESPACE_URI);
+ }
// Process start element event
if (I18N_NAMESPACE_URI.equals(uri)) {
debug("Starting i18n element: " + name);
- startI18NElement(name, attr);
+ startI18NElement(name, attr);
} else { // We have a non i18n element event
- if (current_state == STATE_OUTSIDE) {
- super.startElement(uri, name, raw,
+ if (current_state == STATE_OUTSIDE) {
+ super.startElement(uri, name, raw,
translateAttributes(name, attr));
- } else if (current_state == STATE_INSIDE_PARAM) {
- param_recorder.startElement(uri, name, raw, attr);
- } else if (current_state == STATE_INSIDE_TEXT) {
- text_recorder.startElement(uri, name, raw, attr);
- } else if ((current_state == STATE_INSIDE_WHEN ||
- current_state == STATE_INSIDE_OTHERWISE)
- && translate_copy) {
-
- super.startElement(uri, name, raw, attr);
- }
- }
+ } else if (current_state == STATE_INSIDE_PARAM) {
+ param_recorder.startElement(uri, name, raw, attr);
+ } else if (current_state == STATE_INSIDE_TEXT) {
+ text_recorder.startElement(uri, name, raw, attr);
+ } else if ((current_state == STATE_INSIDE_WHEN ||
+ current_state == STATE_INSIDE_OTHERWISE)
+ && translate_copy) {
+
+ super.startElement(uri, name, raw, attr);
+ }
+ }
}
public void endElement(String uri, String name, String raw)
- throws SAXException {
+ throws SAXException {
// Handle previously buffered characters
if (current_state != STATE_OUTSIDE && strBuffer != null) {
@@ -1039,13 +1033,13 @@
if (I18N_NAMESPACE_URI.equals(uri)) {
endI18NElement(name);
} else if (current_state == STATE_INSIDE_PARAM) {
- param_recorder.endElement(uri, name, raw);
+ param_recorder.endElement(uri, name, raw);
} else if (current_state == STATE_INSIDE_TEXT) {
- text_recorder.endElement(uri, name, raw);
- } else if (current_state == STATE_INSIDE_CHOOSE ||
- (current_state == STATE_INSIDE_WHEN ||
- current_state == STATE_INSIDE_OTHERWISE)
- && !translate_copy) {
+ text_recorder.endElement(uri, name, raw);
+ } else if (current_state == STATE_INSIDE_CHOOSE ||
+ (current_state == STATE_INSIDE_WHEN ||
+ current_state == STATE_INSIDE_OTHERWISE)
+ && !translate_copy) {
; // Output nothing
} else {
@@ -1054,11 +1048,11 @@
}
public void characters(char[] ch, int start, int len)
- throws SAXException {
+ throws SAXException {
- if (current_state == STATE_OUTSIDE ||
- ((current_state == STATE_INSIDE_WHEN ||
- current_state == STATE_INSIDE_OTHERWISE) && translate_copy)) {
+ if (current_state == STATE_OUTSIDE ||
+ ((current_state == STATE_INSIDE_WHEN ||
+ current_state == STATE_INSIDE_OTHERWISE) && translate_copy)) {
super.characters(ch, start, len);
} else {
@@ -1075,204 +1069,204 @@
//
private void startI18NElement(String name, Attributes attr)
- throws SAXException {
+ throws SAXException {
debug("Start i18n element: " + name);
if (I18N_TEXT_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE
- && current_state != STATE_INSIDE_PARAM
- && current_state != STATE_INSIDE_TRANSLATE) {
+ && current_state != STATE_INSIDE_PARAM
+ && current_state != STATE_INSIDE_TRANSLATE) {
throw new SAXException(
- this.getClass().getName()
- + ": nested i18n:text elements are not allowed."
- + " Current state: " + current_state
+ this.getClass().getName()
+ + ": nested i18n:text elements are not allowed."
+ + " Current state: " + current_state
);
}
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_TEXT;
current_key = attr.getValue(I18N_NAMESPACE_URI, I18N_KEY_ATTRIBUTE);
- if (prev_state != STATE_INSIDE_PARAM)
- tr_text_recorder = null;
+ if (prev_state != STATE_INSIDE_PARAM)
+ tr_text_recorder = null;
- // Better send an exception to prevent users from this?
- if (current_key == null && prev_state == STATE_INSIDE_TRANSLATE) {
- debug("WARNING: no key for text in translate! Don't do this!");
- /*throw new SAXException(this.getClass().getName()
- + ": you must provide a key when using i18n:text"
- + " within i18n:translate"
- + " Current state: " + current_state);
- */
- }
- else if (current_key != null) {
- tr_text_recorder = getMirrorRecorder(current_key, null);
- //debug("Got translation: " + tr_text_recorder);
- }
+ // Better send an exception to prevent users from this?
+ if (current_key == null && prev_state == STATE_INSIDE_TRANSLATE) {
+ debug("WARNING: no key for text in translate! Don't do this!");
+ /*throw new SAXException(this.getClass().getName()
+ + ": you must provide a key when using i18n:text"
+ + " within i18n:translate"
+ + " Current state: " + current_state);
+ */
+ }
+ else if (current_key != null) {
+ tr_text_recorder = getMirrorRecorder(current_key, null);
+ //debug("Got translation: " + tr_text_recorder);
+ }
} else if (I18N_TRANSLATE_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:translate element must be used "
- + "outside of other i18n elements. Current state: "
- + current_state
+ this.getClass().getName()
+ + ": i18n:translate element must be used "
+ + "outside of other i18n elements. Current state: "
+ + current_state
);
}
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_TRANSLATE;
} else if (I18N_PARAM_ELEMENT.equals(name)) {
if (current_state != STATE_INSIDE_TRANSLATE) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:param element can be used only inside "
- + "i18n:translate element. Current state: "
- + current_state
+ this.getClass().getName()
+ + ": i18n:param element can be used only inside "
+ + "i18n:translate element. Current state: "
+ + current_state
);
}
- param_name = attr.getValue(I18N_PARAM_NAME_ATTRIBUTE);
- if (param_name == null) {
- param_name = String.valueOf(param_count++);
+ param_name = attr.getValue(I18N_PARAM_NAME_ATTRIBUTE);
+ if (param_name == null) {
+ param_name = String.valueOf(param_count++);
}
- param_recorder = new MirrorRecorder();
+ param_recorder = new MirrorRecorder();
setFormattingParams(attr);
current_state = STATE_INSIDE_PARAM;
} else if (I18N_CHOOSE_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:choose elements cannot be used"
- + "inside of other i18n elements."
+ this.getClass().getName()
+ + ": i18n:choose elements cannot be used"
+ + "inside of other i18n elements."
);
}
- translate_copy = false;
+ translate_copy = false;
translate_end = false;
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_CHOOSE;
} else if (I18N_WHEN_ELEMENT.equals(name) ||
- I18N_IF_ELEMENT.equals(name)) {
+ I18N_IF_ELEMENT.equals(name)) {
if (I18N_WHEN_ELEMENT.equals(name) &&
- current_state != STATE_INSIDE_CHOOSE) {
+ current_state != STATE_INSIDE_CHOOSE) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:when elements are can be used only"
- + "inside of i18n:choose elements."
+ this.getClass().getName()
+ + ": i18n:when elements are can be used only"
+ + "inside of i18n:choose elements."
);
}
if (I18N_IF_ELEMENT.equals(name) &&
- current_state != STATE_OUTSIDE) {
+ current_state != STATE_OUTSIDE) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:if elements cannot be nested."
+ this.getClass().getName()
+ + ": i18n:if elements cannot be nested."
);
}
- String locale = attr.getValue(I18N_LOCALE_ATTRIBUTE);
- if (locale == null)
- throw new SAXException(
- this.getClass().getName()
- + ": i18n:" + name
- + " element cannot be used without 'locale' attribute."
+ String locale = attr.getValue(I18N_LOCALE_ATTRIBUTE);
+ if (locale == null)
+ throw new SAXException(
+ this.getClass().getName()
+ + ": i18n:" + name
+ + " element cannot be used without 'locale' attribute."
);
- if ((!translate_end && current_state == STATE_INSIDE_CHOOSE)
- || current_state == STATE_OUTSIDE) {
+ if ((!translate_end && current_state == STATE_INSIDE_CHOOSE)
+ || current_state == STATE_OUTSIDE) {
// Perform soft locale matching
- if (this.locale.toString().startsWith(locale)) {
- debug("Locale matching: " + locale);
- translate_copy = true;
- }
- }
+ if (this.locale.toString().startsWith(locale)) {
+ debug("Locale matching: " + locale);
+ translate_copy = true;
+ }
+ }
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_WHEN;
} else if (I18N_OTHERWISE_ELEMENT.equals(name)) {
if (current_state != STATE_INSIDE_CHOOSE) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:otherwise elements are not allowed "
- + "only inside i18n:choose."
+ this.getClass().getName()
+ + ": i18n:otherwise elements are not allowed "
+ + "only inside i18n:choose."
);
- }
+ }
- debug("Matching any locale");
- if (!translate_end)
- translate_copy = true;
+ debug("Matching any locale");
+ if (!translate_end)
+ translate_copy = true;
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_OTHERWISE;
- } else if (I18N_DATE_ELEMENT.equals(name)) {
+ } else if (I18N_DATE_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE
- && current_state != STATE_INSIDE_TEXT
- && current_state != STATE_INSIDE_PARAM) {
+ && current_state != STATE_INSIDE_TEXT
+ && current_state != STATE_INSIDE_PARAM) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:date elements are not allowed "
- + "inside of other i18n elements."
+ this.getClass().getName()
+ + ": i18n:date elements are not allowed "
+ + "inside of other i18n elements."
);
}
setFormattingParams(attr);
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_DATE;
} else if (I18N_DATE_TIME_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE
- && current_state != STATE_INSIDE_TEXT
- && current_state != STATE_INSIDE_PARAM) {
+ && current_state != STATE_INSIDE_TEXT
+ && current_state != STATE_INSIDE_PARAM) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:date-time elements are not allowed "
- + "inside of other i18n elements."
+ this.getClass().getName()
+ + ": i18n:date-time elements are not allowed "
+ + "inside of other i18n elements."
);
}
setFormattingParams(attr);
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_DATE_TIME;
} else if (I18N_TIME_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE
- && current_state != STATE_INSIDE_TEXT
- && current_state != STATE_INSIDE_PARAM) {
+ && current_state != STATE_INSIDE_TEXT
+ && current_state != STATE_INSIDE_PARAM) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:date elements are not allowed "
- + "inside of other i18n elements."
+ this.getClass().getName()
+ + ": i18n:date elements are not allowed "
+ + "inside of other i18n elements."
);
}
setFormattingParams(attr);
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_TIME;
} else if (I18N_NUMBER_ELEMENT.equals(name)) {
if (current_state != STATE_OUTSIDE
- && current_state != STATE_INSIDE_TEXT
- && current_state != STATE_INSIDE_PARAM) {
+ && current_state != STATE_INSIDE_TEXT
+ && current_state != STATE_INSIDE_PARAM) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:number elements are not allowed "
- + "inside of other i18n elements."
+ this.getClass().getName()
+ + ": i18n:number elements are not allowed "
+ + "inside of other i18n elements."
);
}
setFormattingParams(attr);
- prev_state = current_state;
+ prev_state = current_state;
current_state = STATE_INSIDE_NUMBER;
}
}
// Get all possible i18n formatting attribute values and store in a Map
- private void setFormattingParams(Attributes attr) throws SAXException {
+ private void setFormattingParams(Attributes attr) {
formattingParams = new HashMap(3); // average number of attributes is 3
String attr_value = attr.getValue(I18N_SRC_PATTERN_ATTRIBUTE);
@@ -1305,52 +1299,52 @@
formattingParams.put(I18N_TYPE_ATTRIBUTE, attr_value);
}
- attr_value = attr.getValue(I18N_FRACTION_DIGITS_ATTRIBUTE);
+ attr_value = attr.getValue(I18N_FRACTION_DIGITS_ATTRIBUTE);
if (attr_value != null) {
formattingParams.put(I18N_FRACTION_DIGITS_ATTRIBUTE, attr_value);
- }
+ }
}
private void endI18NElement(String name) throws SAXException {
debug("End i18n element: " + name);
switch (current_state) {
- case STATE_INSIDE_TEXT:
- endTextElement();
- break;
-
- case STATE_INSIDE_TRANSLATE:
- endTranslateElement();
- break;
-
- case STATE_INSIDE_CHOOSE:
- endChooseElement();
- break;
-
- case STATE_INSIDE_WHEN:
- case STATE_INSIDE_OTHERWISE:
- endWhenElement();
- break;
-
- case STATE_INSIDE_PARAM:
- endParamElement();
- break;
-
- case STATE_INSIDE_DATE:
- case STATE_INSIDE_DATE_TIME:
- case STATE_INSIDE_TIME:
- endDate_TimeElement();
- break;
-
- case STATE_INSIDE_NUMBER:
- endNumberElement();
- break;
+ case STATE_INSIDE_TEXT:
+ endTextElement();
+ break;
+
+ case STATE_INSIDE_TRANSLATE:
+ endTranslateElement();
+ break;
+
+ case STATE_INSIDE_CHOOSE:
+ endChooseElement();
+ break;
+
+ case STATE_INSIDE_WHEN:
+ case STATE_INSIDE_OTHERWISE:
+ endWhenElement();
+ break;
+
+ case STATE_INSIDE_PARAM:
+ endParamElement();
+ break;
+
+ case STATE_INSIDE_DATE:
+ case STATE_INSIDE_DATE_TIME:
+ case STATE_INSIDE_TIME:
+ endDate_TimeElement();
+ break;
+
+ case STATE_INSIDE_NUMBER:
+ endNumberElement();
+ break;
}
}
private void i18nCharacters(String textValue)
- throws SAXException {
+ throws SAXException {
- if (textValue == null) {
+ if (textValue == null) {
return;
}
// Trim text values to avoid parsing errors.
@@ -1359,81 +1353,80 @@
debug( "i18n message text = '" + textValue + "'" );
switch (current_state) {
- case STATE_INSIDE_TEXT:
- text_recorder.characters(textValue);
- break;
-
- case STATE_INSIDE_PARAM:
- param_recorder.characters(textValue);
- break;
-
- case STATE_INSIDE_WHEN:
- case STATE_INSIDE_OTHERWISE:
- // Previously handeld to avoid the String() conversion.
- break;
-
- case STATE_INSIDE_TRANSLATE:
- if(tr_text_recorder == null) {
- tr_text_recorder = new MirrorRecorder();
- }
- tr_text_recorder.characters(textValue);
- break;
-
- case STATE_INSIDE_CHOOSE:
- // No characters allowed. Send an exception ?
- debug("No characters allowed inside <i18n:choose> tags");
- break;
-
- case STATE_INSIDE_DATE:
- case STATE_INSIDE_DATE_TIME:
- case STATE_INSIDE_TIME:
- case STATE_INSIDE_NUMBER:
- if (formattingParams.get(I18N_VALUE_ATTRIBUTE) == null) {
- formattingParams.put(I18N_VALUE_ATTRIBUTE, textValue);
- } else {
- ; // ignore the text inside of date element
- }
- break;
+ case STATE_INSIDE_TEXT:
+ text_recorder.characters(textValue);
+ break;
+
+ case STATE_INSIDE_PARAM:
+ param_recorder.characters(textValue);
+ break;
+
+ case STATE_INSIDE_WHEN:
+ case STATE_INSIDE_OTHERWISE:
+ // Previously handeld to avoid the String() conversion.
+ break;
+
+ case STATE_INSIDE_TRANSLATE:
+ if(tr_text_recorder == null) {
+ tr_text_recorder = new MirrorRecorder();
+ }
+ tr_text_recorder.characters(textValue);
+ break;
+
+ case STATE_INSIDE_CHOOSE:
+ // No characters allowed. Send an exception ?
+ debug("No characters allowed inside <i18n:choose> tags");
+ break;
+
+ case STATE_INSIDE_DATE:
+ case STATE_INSIDE_DATE_TIME:
+ case STATE_INSIDE_TIME:
+ case STATE_INSIDE_NUMBER:
+ if (formattingParams.get(I18N_VALUE_ATTRIBUTE) == null) {
+ formattingParams.put(I18N_VALUE_ATTRIBUTE, textValue);
+ } else {
+ ; // ignore the text inside of date element
+ }
+ break;
- default:
- throw new IllegalStateException(
- this.getClass().getName()
- + " developer's fault: characters not handled"
- + "Current state: " + current_state);
+ default:
+ throw new IllegalStateException(
+ this.getClass().getName()
+ + " developer's fault: characters not handled"
+ + "Current state: " + current_state);
}
}
// Translate all attributes that are listed in i18n:attr attribute
- private Attributes translateAttributes(String name, Attributes attr)
- throws SAXException {
+ private Attributes translateAttributes(String name, Attributes attr) {
- if(attr == null)
- return attr;
+ if(attr == null)
+ return attr;
AttributesImpl temp_attr = new AttributesImpl(attr);
// Translate all attributes from i18n:attr="name1 name2 ..."
// using their values as keys
int i18n_attr_index =
- temp_attr.getIndex(I18N_NAMESPACE_URI,I18N_ATTR_ATTRIBUTE);
+ temp_attr.getIndex(I18N_NAMESPACE_URI,I18N_ATTR_ATTRIBUTE);
- if (i18n_attr_index != -1) {
- StringTokenizer st =
- new StringTokenizer(temp_attr.getValue(i18n_attr_index));
- // remove the i18n:attr attribute - we don't need it anymore
+ if (i18n_attr_index != -1) {
+ StringTokenizer st =
+ new StringTokenizer(temp_attr.getValue(i18n_attr_index));
+ // remove the i18n:attr attribute - we don't need it anymore
temp_attr.removeAttribute(i18n_attr_index);
// iterate through listed attributes and translate them
while (st.hasMoreElements()) {
String attr_name = st.nextToken();
- int attr_index = temp_attr.getIndex(attr_name);
+ int attr_index = temp_attr.getIndex(attr_name);
if (attr_index != -1) {
String text2translate = temp_attr.getValue(attr_index);
String result =
- getString(text2translate, (untranslated == null)
- ? text2translate
- : untranslated);
+ getString(text2translate, (untranslated == null)
+ ? text2translate
+ : untranslated);
// set the translated value
if (result != null) {
@@ -1444,7 +1437,7 @@
}
} else {
getLogger().warn("i18n attribute '" + attr_name
- + "' not found in element: " + name);
+ + "' not found in element: " + name);
}
}
@@ -1457,54 +1450,51 @@
private void endTextElement() throws SAXException {
switch (prev_state) {
- case STATE_OUTSIDE:
- if (tr_text_recorder == null) {
- if (current_key == null) {
- // Use the text as key
- // Really not recommended for big strings, moreover if they
- // include markup.
- tr_text_recorder = getMirrorRecorder(text_recorder.text(),
- (MirrorRecorder) text_recorder);
- } else {
- // We have the key, but couldn't find a transltation
- debug("translation not found for key " + current_key);
- tr_text_recorder = text_recorder;
- }
- }
-
- if (tr_text_recorder != null) {
- tr_text_recorder.send(this.contentHandler);
- }
-
- text_recorder.recycle();
- tr_text_recorder = null;
- current_key = null;
- break;
-
- case STATE_INSIDE_TRANSLATE:
- if (tr_text_recorder == null) {
- if (!text_recorder.empty()) {
- tr_text_recorder = (MirrorRecorder) text_recorder.clone();
- }
- }
-
- text_recorder.recycle();
- break;
-
- case STATE_INSIDE_PARAM:
- // We send the translated text to the param recorder,after trying to
translate it.
- // Remember you can't give a key when inside a param, that'll be nonsense!
- // No need to clone. We just send the events.
- if (!text_recorder.empty()) {
- getMirrorRecorder(text_recorder.text(),
- (MirrorRecorder) text_recorder).send(param_recorder);
-
- text_recorder.recycle();
- }
- break;
- }
+ case STATE_OUTSIDE:
+ if (tr_text_recorder == null) {
+ if (current_key == null) {
+ // Use the text as key
+ // Really not recommended for big strings, moreover if they
+ // include markup.
+ tr_text_recorder = getMirrorRecorder(text_recorder.text(),
text_recorder);
+ } else {
+ // We have the key, but couldn't find a transltation
+ debug("translation not found for key " + current_key);
+ tr_text_recorder = text_recorder;
+ }
+ }
- current_state = prev_state;
+ if (tr_text_recorder != null) {
+ tr_text_recorder.send(this.contentHandler);
+ }
+
+ text_recorder.recycle();
+ tr_text_recorder = null;
+ current_key = null;
+ break;
+
+ case STATE_INSIDE_TRANSLATE:
+ if (tr_text_recorder == null) {
+ if (!text_recorder.empty()) {
+ tr_text_recorder = (MirrorRecorder) text_recorder.clone();
+ }
+ }
+
+ text_recorder.recycle();
+ break;
+
+ case STATE_INSIDE_PARAM:
+ // We send the translated text to the param recorder,after trying
to translate it.
+ // Remember you can't give a key when inside a param, that'll be
nonsense!
+ // No need to clone. We just send the events.
+ if (!text_recorder.empty()) {
+ getMirrorRecorder(text_recorder.text(),
text_recorder).send(param_recorder);
+ text_recorder.recycle();
+ }
+ break;
+ }
+
+ current_state = prev_state;
prev_state = STATE_OUTSIDE;
}
@@ -1516,7 +1506,7 @@
debug("Param type: " + paramType);
if (formattingParams.get(I18N_VALUE_ATTRIBUTE) == null &&
- param_value != null) {
+ param_value != null) {
debug("Put param value: " + param_value);
formattingParams.put(I18N_VALUE_ATTRIBUTE, param_value);
@@ -1530,60 +1520,59 @@
debug("Formatting number param: " + formattingParams);
param_value = formatNumber(formattingParams);
}
- debug("Added substitution param: " + param_value);
+ debug("Added substitution param: " + param_value);
}
- param_value = null;
+ param_value = null;
current_state = STATE_INSIDE_TRANSLATE;
- if(param_recorder == null)
- return;
+ if(param_recorder == null)
+ return;
- indexedParams.put(param_name, ((MirrorRecorder) param_recorder).clone());
+ indexedParams.put(param_name, param_recorder.clone());
}
private void endTranslateElement() throws SAXException {
- String result;
- if (indexedParams.size() > 0 && tr_text_recorder != null) {
- debug("End of translate with params");
- debug("Fragment for substitution : " + tr_text_recorder.text());
- tr_text_recorder.send(super.contentHandler, indexedParams);
- tr_text_recorder = null;
- text_recorder.recycle();
- }
-
- indexedParams.clear();
- param_count = 0;
- current_state = STATE_OUTSIDE;
- }
-
- private void endChooseElement() throws SAXException {
- current_state = STATE_OUTSIDE;
- }
-
- private void endWhenElement() throws SAXException {
- current_state = prev_state;
- if (translate_copy) {
- translate_copy = false;
- translate_end = true;
- }
+ if (indexedParams.size() > 0 && tr_text_recorder != null) {
+ debug("End of translate with params");
+ debug("Fragment for substitution : " + tr_text_recorder.text());
+ tr_text_recorder.send(super.contentHandler, indexedParams);
+ tr_text_recorder = null;
+ text_recorder.recycle();
+ }
+
+ indexedParams.clear();
+ param_count = 0;
+ current_state = STATE_OUTSIDE;
+ }
+
+ private void endChooseElement() {
+ current_state = STATE_OUTSIDE;
+ }
+
+ private void endWhenElement() {
+ current_state = prev_state;
+ if (translate_copy) {
+ translate_copy = false;
+ translate_end = true;
+ }
}
private void endDate_TimeElement() throws SAXException {
String result = formatDate_Time(formattingParams);
- switch(prev_state) {
- case STATE_OUTSIDE:
- super.contentHandler.characters(result.toCharArray(), 0,
- result.length());
- break;
- case STATE_INSIDE_PARAM:
- param_recorder.characters(result.toCharArray(), 0, result.length());
- break;
- case STATE_INSIDE_TEXT:
- text_recorder.characters(result.toCharArray(), 0, result.length());
- break;
- }
- current_state = prev_state;
+ switch(prev_state) {
+ case STATE_OUTSIDE:
+ super.contentHandler.characters(result.toCharArray(), 0,
+ result.length());
+ break;
+ case STATE_INSIDE_PARAM:
+ param_recorder.characters(result.toCharArray(), 0, result.length());
+ break;
+ case STATE_INSIDE_TEXT:
+ text_recorder.characters(result.toCharArray(), 0, result.length());
+ break;
+ }
+ current_state = prev_state;
}
// Helper method: creates Locale object from a string value in a map
@@ -1649,31 +1638,31 @@
// Initializing date formatters
if (current_state == STATE_INSIDE_DATE ||
- I18N_DATE_ELEMENT.equals(paramType)) {
+ I18N_DATE_ELEMENT.equals(paramType)) {
to_fmt = (SimpleDateFormat)DateFormat.getDateInstance(style, loc);
from_fmt = (SimpleDateFormat)DateFormat.getDateInstance(
- srcStyle,
- srcLoc
+ srcStyle,
+ srcLoc
);
} else if (current_state == STATE_INSIDE_DATE_TIME ||
- I18N_DATE_TIME_ELEMENT.equals(paramType)) {
+ I18N_DATE_TIME_ELEMENT.equals(paramType)) {
to_fmt = (SimpleDateFormat)DateFormat.getDateTimeInstance(
- style,
- style,
- loc
+ style,
+ style,
+ loc
);
from_fmt = (SimpleDateFormat)DateFormat.getDateTimeInstance(
- srcStyle,
- srcStyle,
- srcLoc
+ srcStyle,
+ srcStyle,
+ srcLoc
);
} else {
// STATE_INSIDE_TIME or param type='time'
to_fmt = (SimpleDateFormat)DateFormat.getTimeInstance(style, loc);
from_fmt = (SimpleDateFormat)DateFormat.getTimeInstance(
- srcStyle,
- srcLoc
+ srcStyle,
+ srcLoc
);
}
@@ -1697,39 +1686,39 @@
dateValue = from_fmt.parse(value);
} catch (ParseException pe) {
throw new SAXException(
- this.getClass().getName()
- + "i18n:date - parsing error.", pe
+ this.getClass().getName()
+ + "i18n:date - parsing error.", pe
);
}
}
// we have all necessary data here: do formatting.
debug("### Formatting date: " + dateValue + " with localized pattern "
- + to_fmt.toLocalizedPattern() + " for locale: " + locale);
+ + to_fmt.toLocalizedPattern() + " for locale: " + locale);
return to_fmt.format(dateValue);
}
private void endNumberElement() throws SAXException {
String result = formatNumber(formattingParams);
- switch(prev_state) {
- case STATE_OUTSIDE:
- super.contentHandler.characters(result.toCharArray(), 0, result.length());
- break;
- case STATE_INSIDE_PARAM:
- param_recorder.characters(result.toCharArray(), 0, result.length());
- break;
- case STATE_INSIDE_TEXT:
- text_recorder.characters(result.toCharArray(), 0, result.length());
- break;
- }
- current_state = prev_state;
+ switch(prev_state) {
+ case STATE_OUTSIDE:
+ super.contentHandler.characters(result.toCharArray(), 0,
result.length());
+ break;
+ case STATE_INSIDE_PARAM:
+ param_recorder.characters(result.toCharArray(), 0, result.length());
+ break;
+ case STATE_INSIDE_TEXT:
+ text_recorder.characters(result.toCharArray(), 0, result.length());
+ break;
+ }
+ current_state = prev_state;
}
private String formatNumber(Map params) throws SAXException {
if (params == null) {
throw new SAXException(
- this.getClass().getName()
- + ": i18n:number - error in element attributes."
+ this.getClass().getName()
+ + ": i18n:number - error in element attributes."
);
}
@@ -1747,7 +1736,7 @@
int fractionDigits = -1;
try {
fractionDigits = Integer.parseInt((String)
- params.get(I18N_FRACTION_DIGITS_ATTRIBUTE));
+ params.get(I18N_FRACTION_DIGITS_ATTRIBUTE));
}
catch(NumberFormatException nfe) {
getLogger().warn("Error in number format", nfe);
@@ -1795,8 +1784,8 @@
if (value.charAt(value.length() - 1) == dec) {
appendDec = true;
}
- } else if (type.equals( I18N_CURRENCY_ELEMENT )) {
- to_fmt = (DecimalFormat)NumberFormat.getCurrencyInstance(loc);
+ } else if (type.equals( I18N_CURRENCY_ELEMENT )) {
+ to_fmt = (DecimalFormat)NumberFormat.getCurrencyInstance(loc);
} else if (type.equals( I18N_INT_CURRENCY_ELEMENT )) {
to_fmt = (DecimalFormat)NumberFormat.getCurrencyInstance(loc);
int_currency = 1;
@@ -1804,9 +1793,9 @@
int_currency *= 10;
}
} else if ( type.equals( I18N_CURRENCY_NO_UNIT_ELEMENT ) ) {
- DecimalFormat tmp = (DecimalFormat) NumberFormat.getCurrencyInstance( loc
);
- to_fmt = (DecimalFormat) NumberFormat.getInstance( loc );
- to_fmt.setMinimumFractionDigits(tmp.getMinimumFractionDigits());
+ DecimalFormat tmp = (DecimalFormat) NumberFormat.getCurrencyInstance(
loc );
+ to_fmt = (DecimalFormat) NumberFormat.getInstance( loc );
+ to_fmt.setMinimumFractionDigits(tmp.getMinimumFractionDigits());
to_fmt.setMaximumFractionDigits(tmp.getMaximumFractionDigits());
} else if ( type.equals( I18N_INT_CURRENCY_NO_UNIT_ELEMENT ) ) {
DecimalFormat tmp = (DecimalFormat) NumberFormat.getCurrencyInstance(
loc );
@@ -1820,11 +1809,11 @@
to_fmt = (DecimalFormat)NumberFormat.getPercentInstance(loc);
} else {
throw new SAXException("<i18n:number>: unknown type: " + type);
- }
+ }
- if(fractionDigits > -1) {
- to_fmt.setMinimumFractionDigits(fractionDigits);
- to_fmt.setMaximumFractionDigits(fractionDigits);
+ if(fractionDigits > -1) {
+ to_fmt.setMinimumFractionDigits(fractionDigits);
+ to_fmt.setMaximumFractionDigits(fractionDigits);
}
// pattern overwrites locale format
@@ -1845,8 +1834,8 @@
}
} catch (ParseException pe) {
throw new SAXException(
- this.getClass().getName()
- + "i18n:number - parsing error.", pe
+ this.getClass().getName()
+ + "i18n:number - parsing error.", pe
);
}
}
@@ -1860,22 +1849,16 @@
//-- Dictionary handling routins
- // Helper method to retrieve a message from the dictionary
- // Returnes null if no message is found
- private String getString(String key) {
- return getString(key, null);
- }
-
// Helper method to retrieve a message from the dictionary.
// mattam: now only used for i:attr.
// A default value is returned if message is not found
private String getString(String key, String defaultValue) {
- try {
- Node res = (Node)dictionary.getObject(
- I18N_CATALOGUE_PREFIX + "[@key='" + key + "']");
+ try {
+ Node res = (Node)dictionary.getObject(
+ I18N_CATALOGUE_PREFIX + "[@key='" + key + "']");
String value = getTextValue(res);
- return value != null ? value : defaultValue;
+ return value != null ? value : defaultValue;
} catch (MissingResourceException e) {
return defaultValue;
}
@@ -1893,7 +1876,7 @@
item = list.item(i);
// only TEXT and CDATA nodes are processed
if (item.getNodeType() == Node.TEXT_NODE
- || item.getNodeType() == Node.CDATA_SECTION_NODE) {
+ || item.getNodeType() == Node.CDATA_SECTION_NODE) {
itemValue.append(item.getNodeValue());
}
@@ -1902,35 +1885,25 @@
return itemValue.toString();
}
- // Helper method to retrieve a message from the dictionary
- // Returns null if no message is found
- private MirrorRecorder getMirrorRecorder(String key) {
- return getMirrorRecorder(key, null);
- }
-
// Helper method to retrieve a message from the dictionary.
// A default value is returned if message is not found
private MirrorRecorder getMirrorRecorder(String key, MirrorRecorder
defaultValue) {
try {
- MirrorRecorder value = new MirrorRecorder (
- (Node)dictionary.getObject(
- I18N_CATALOGUE_PREFIX + "[@key='" + key + "']"));
+ MirrorRecorder value = new MirrorRecorder (
+ (Node)dictionary.getObject(
+ I18N_CATALOGUE_PREFIX + "[@key='" + key + "']"));
- if (value == null)
- return defaultValue;
+ if (value == null)
+ return defaultValue;
- return value;
+ return value;
} catch (MissingResourceException e) {
- debug("Untraslated key: '" + key + "'");
+ debug("Untraslated key: '" + key + "'");
return defaultValue;
}
}
- private void setLocale(Locale locale) {
- this.locale = locale;
- }
-
// Helper method to debug messages
private void debug(String msg) {
getLogger().debug("I18nTransformer: " + msg);
@@ -1939,7 +1912,7 @@
public void recycle() {
// restore untranslated-text if necessary
if (globalUntranslated != null &&
- !untranslated.equals(globalUntranslated)) {
+ !untranslated.equals(globalUntranslated)) {
untranslated = globalUntranslated;
}
@@ -1957,35 +1930,32 @@
}
/*
- //
static public void main(String[] args) {
-
Locale locale = null;
Locale[] locales = Locale.getAvailableLocales();
for (int i = 0; i < locales.length; i++) {
locale = locales[i];n
SimpleDateFormat fmt =
- (SimpleDateFormat)DateFormat.getDateTimeInstance(
- DateFormat.DEFAULT,
- DateFormat.DEFAULT,
- locale
- );
-
- String localized = fmt.format(new Date());
- NumberFormat n_fmt = NumberFormat.getCurrencyInstance(locale);
- String money = n_fmt.format(1210.5);
-
- System.out.println(
- "Locale ["
- + locale.getLanguage() + ", "
- + locale.getCountry() + ", "
- + locale.getVariant() + "] : "
- + locale.getDisplayName()
- + " \t Date: " + localized
- + " \t Money: " + money);
+ (SimpleDateFormat)DateFormat.getDateTimeInstance(
+ DateFormat.DEFAULT,
+ DateFormat.DEFAULT,
+ locale
+ );
+
+ String localized = fmt.format(new Date());
+ NumberFormat n_fmt = NumberFormat.getCurrencyInstance(locale);
+ String money = n_fmt.format(1210.5);
+
+ System.out.println(
+ "Locale ["
+ + locale.getLanguage() + ", "
+ + locale.getCountry() + ", "
+ + locale.getVariant() + "] : "
+ + locale.getDisplayName()
+ + " \t Date: " + localized
+ + " \t Money: " + money);
}
}
*/
}
-
1.14 +4 -5
xml-cocoon2/src/java/org/apache/cocoon/transformation/SourceWritingTransformer.java
Index: SourceWritingTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/SourceWritingTransformer.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- SourceWritingTransformer.java 15 Jan 2003 10:39:34 -0000 1.13
+++ SourceWritingTransformer.java 25 Jan 2003 02:58:58 -0000 1.14
@@ -286,7 +286,6 @@
/** The current state */
private static final int STATE_OUTSIDE = 0;
private static final int STATE_INSERT = 1;
- private static final int STATE_RESOURCE = 2;
private static final int STATE_PATH = 3;
private static final int STATE_FRAGMENT = 4;
private static final int STATE_REPLACE = 5;
@@ -335,12 +334,12 @@
* @param uri The Namespace URI, or the empty string if the element has no
* Namespace URI or if Namespace
* processing is not being performed.
- * @param loc The local name (without prefix), or the empty string if
+ * @param name The local name (without prefix), or the empty string if
* Namespace processing is not being performed.
* @param raw The raw XML 1.0 name (with prefix), or the empty string if
* raw names are not available.
- * @param a The attributes attached to the element. If there are no
- * attributes, it shall be an empty Attributes object.
+ * @param attr The attributes attached to the element. If there are no
+ * attributes, it shall be an empty Attributes object.
*/
public void startTransformingElement(String uri, String name, String raw,
Attributes attr)
throws SAXException, IOException, ProcessingException {
@@ -434,7 +433,7 @@
* @param uri The Namespace URI, or the empty string if the element has no
* Namespace URI or if Namespace
* processing is not being performed.
- * @param loc The local name (without prefix), or the empty string if
+ * @param name The local name (without prefix), or the empty string if
* Namespace processing is not being performed.
* @param raw The raw XML 1.0 name (with prefix), or the empty string if
* raw names are not available.
1.40 +47 -49
xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java
Index: TraxTransformer.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/TraxTransformer.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- TraxTransformer.java 22 Jan 2003 05:19:18 -0000 1.39
+++ TraxTransformer.java 25 Jan 2003 02:58:58 -0000 1.40
@@ -227,58 +227,56 @@
*/
public void configure(Configuration conf)
throws ConfigurationException {
- if (conf != null) {
- Configuration child;
+ Configuration child;
- child = conf.getChild("use-request-parameters");
- this.useParameters = child.getValueAsBoolean(false);
- this._useParameters = this.useParameters;
-
- child = conf.getChild("use-cookies");
- this.useCookies = child.getValueAsBoolean(false);
- this._useCookies = this.useCookies;
-
- child = conf.getChild("use-browser-capabilities-db");
- this.useBrowserCap = child.getValueAsBoolean(false);
- this._useBrowserCap = this.useBrowserCap;
-
- child = conf.getChild("use-session-info");
- this.useSessionInfo = child.getValueAsBoolean(false);
- this._useSessionInfo = this.useSessionInfo;
-
- child = conf.getChild("use-deli");
- this.useDeli = child.getValueAsBoolean(false);
- this._useDeli = this.useDeli;
-
- child = conf.getChild("transformer-factory");
-
- // traxFactory is null, if transformer-factory config is unspecified
- this.traxFactory = child.getValue(null);
-
- if (this.getLogger().isDebugEnabled()) {
- this.getLogger().debug("Use parameters is " + this.useParameters +
" for " + this);
- this.getLogger().debug("Use cookies is " + this.useCookies + " for
" + this);
- this.getLogger().debug("Use browser capabilities is " +
this.useBrowserCap + " for " + this);
- this.getLogger().debug("Use session info is " + this.useSessionInfo
+ " for " + this);
- this.getLogger().debug("Use DELI is " + this.useDeli + " for " +
this);
-
- if (this.traxFactory != null) {
- this.getLogger().debug("Use TrAX Transformer Factory " +
this.traxFactory);
- } else {
- this.getLogger().debug("Use default TrAX Transformer Factory.");
- }
+ child = conf.getChild("use-request-parameters");
+ this.useParameters = child.getValueAsBoolean(false);
+ this._useParameters = this.useParameters;
+
+ child = conf.getChild("use-cookies");
+ this.useCookies = child.getValueAsBoolean(false);
+ this._useCookies = this.useCookies;
+
+ child = conf.getChild("use-browser-capabilities-db");
+ this.useBrowserCap = child.getValueAsBoolean(false);
+ this._useBrowserCap = this.useBrowserCap;
+
+ child = conf.getChild("use-session-info");
+ this.useSessionInfo = child.getValueAsBoolean(false);
+ this._useSessionInfo = this.useSessionInfo;
+
+ child = conf.getChild("use-deli");
+ this.useDeli = child.getValueAsBoolean(false);
+ this._useDeli = this.useDeli;
+
+ child = conf.getChild("transformer-factory");
+
+ // traxFactory is null, if transformer-factory config is unspecified
+ this.traxFactory = child.getValue(null);
+
+ if (this.getLogger().isDebugEnabled()) {
+ this.getLogger().debug("Use parameters is " + this.useParameters + "
for " + this);
+ this.getLogger().debug("Use cookies is " + this.useCookies + " for " +
this);
+ this.getLogger().debug("Use browser capabilities is " +
this.useBrowserCap + " for " + this);
+ this.getLogger().debug("Use session info is " + this.useSessionInfo + "
for " + this);
+ this.getLogger().debug("Use DELI is " + this.useDeli + " for " + this);
+
+ if (this.traxFactory != null) {
+ this.getLogger().debug("Use TrAX Transformer Factory " +
this.traxFactory);
+ } else {
+ this.getLogger().debug("Use default TrAX Transformer Factory.");
}
+ }
- try {
- this.xsltProcessor = (XSLTProcessor)
this.manager.lookup(XSLTProcessor.ROLE);
- // override xsltProcessor setting only, in case of
- // transformer-factory config is specified
- if (this.traxFactory != null) {
- this.xsltProcessor.setTransformerFactory(this.traxFactory);
- }
- } catch (ComponentException e) {
- throw new ConfigurationException("Cannot load XSLT processor", e);
+ try {
+ this.xsltProcessor = (XSLTProcessor)
this.manager.lookup(XSLTProcessor.ROLE);
+ // override xsltProcessor setting only, in case of
+ // transformer-factory config is specified
+ if (this.traxFactory != null) {
+ this.xsltProcessor.setTransformerFactory(this.traxFactory);
}
+ } catch (ComponentException e) {
+ throw new ConfigurationException("Cannot load XSLT processor", e);
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]