You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/01/10 12:20:32 UTC
svn commit: r124789 - /lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
Author: andreas
Date: Mon Jan 10 03:20:30 2005
New Revision: 124789
URL: http://svn.apache.org/viewcvs?view=rev&rev=124789
Log:
refactored exception handling in URIParameterizer
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java?view=diff&rev=124789&p1=lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java&r1=124788&p2=lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java&r2=124789
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java Mon Jan 10 03:20:30 2005
@@ -38,9 +38,8 @@
/**
* Default mplementation of the {@link URIParameterizer}.
*/
-public class URIParameterizerImpl
- extends AbstractLogEnabled
- implements URIParameterizer, Serviceable {
+public class URIParameterizerImpl extends AbstractLogEnabled implements URIParameterizer,
+ Serviceable {
/**
* Consumer to handle URIParameterizer events.
@@ -60,7 +59,8 @@
}
/**
- * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
+ * @see org.xml.sax.ContentHandler#startElement(java.lang.String,
+ * java.lang.String, java.lang.String, org.xml.sax.Attributes)
*/
public void startElement(String uri, String loc, String raw, Attributes a) {
if (loc.equals("parameter")) {
@@ -72,7 +72,8 @@
}
/**
- * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
+ * @see org.xml.sax.ContentHandler#endElement(java.lang.String,
+ * java.lang.String, java.lang.String)
*/
public void endElement(String uri, String loc, String raw, Attributes a) {
if (loc.equals("parameter")) {
@@ -124,10 +125,11 @@
* @throws URIParameterizerException when something went wrong.
*/
public Map parameterize(String uri, String src, Parameters parameters)
- throws URIParameterizerException {
+ throws URIParameterizerException {
Map uriParameters = new HashMap();
SourceResolver resolver = null;
+ Source inputSource = null;
try {
resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
@@ -138,26 +140,18 @@
for (int i = 0; i < parameterNames.length; i++) {
String key = uri + "_" + parameterNames[i];
-
String value = (String) cache.get(key);
if (value == null) {
String parameterSrc = parameters.getParameter(parameterNames[i]) + "/" + src;
- Source inputSource = null;
- try {
- inputSource = resolver.resolveURI(parameterSrc);
-
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("File resolved to " + inputSource.getURI());
- }
-
- SourceUtil.toSAX(inputSource, xmlConsumer);
- } finally {
- if (inputSource != null) {
- resolver.release(inputSource);
- }
+ inputSource = resolver.resolveURI(parameterSrc);
+
+ if (getLogger().isDebugEnabled()) {
+ getLogger().debug("File resolved to " + inputSource.getURI());
}
+
+ SourceUtil.toSAX(inputSource, xmlConsumer);
value = xmlConsumer.getParameter();
cache.put(key, value);
}
@@ -169,6 +163,9 @@
throw new URIParameterizerException(e);
} finally {
if (resolver != null) {
+ if (inputSource != null) {
+ resolver.release(inputSource);
+ }
manager.release(resolver);
}
}
@@ -188,4 +185,4 @@
this.manager = manager;
}
-}
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org