cziegeler 01/05/23 02:03:57
Modified: src/org/apache/cocoon/sitemap Handler.java
Log:
Avoid recreation of URLResolver
Revision Changes Path
1.4 +14 -5 xml-cocoon2/src/org/apache/cocoon/sitemap/Handler.java
Index: Handler.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/Handler.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Handler.java 2001/05/22 19:23:16 1.3
+++ Handler.java 2001/05/23 09:03:56 1.4
@@ -30,6 +30,8 @@
import org.apache.cocoon.components.pipeline.StreamPipeline;
import org.apache.cocoon.components.url.URLFactory;
import org.apache.cocoon.environment.Environment;
+import org.apache.cocoon.environment.FactoryURLResolver;
+import org.apache.cocoon.environment.URLResolver;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -39,9 +41,11 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Stefano Mazzocchi</a>
- * @version CVS $Revision: 1.3 $ $Date: 2001/05/22 19:23:16 $
+ * @version CVS $Revision: 1.4 $ $Date: 2001/05/23 09:03:56 $
*/
-public class Handler extends AbstractLoggable implements Runnable,
Configurable, Composable, Contextualizable, Processor, Disposable {
+public class Handler extends AbstractLoggable
+implements Runnable, Configurable, Composable, Contextualizable, Processor,
Disposable {
+
private Context context;
/** the configuration */
@@ -57,6 +61,9 @@
/** the URLFactory */
private URLFactory urlFactory;
+ /** The URLResolver for the sitemap components */
+ private URLResolver urlResolver;
+
/** the last error */
private Exception exception;
@@ -77,6 +84,7 @@
this.manager = manager;
try {
urlFactory = (URLFactory) manager.lookup(Roles.URL_FACTORY);
+ this.urlResolver = new FactoryURLResolver(urlFactory);
} catch (Exception e) {
getLogger().error ("cannot obtain URLFactory", e);
}
@@ -123,7 +131,7 @@
s = this.source;
}
try {
- environment.setURLResolver(new
org.apache.cocoon.environment.FactoryURLResolver(urlFactory));
+ environment.setURLResolver(this.urlResolver);
this.sourceFile = environment.resolve(s).getFile();
} finally {
environment.setURLResolver(null);
@@ -163,7 +171,7 @@
throws Exception {
checkSanity();
try {
- environment.setURLResolver(new
org.apache.cocoon.environment.FactoryURLResolver(urlFactory));
+ environment.setURLResolver(this.urlResolver);
return sitemap.process(environment);
} finally {
environment.setURLResolver(null);
@@ -174,7 +182,7 @@
throws Exception {
checkSanity();
try {
- environment.setURLResolver(new
org.apache.cocoon.environment.FactoryURLResolver(urlFactory));
+ environment.setURLResolver(this.urlResolver);
return sitemap.process(environment, pipeline, eventPipeline);
} finally {
environment.setURLResolver(null);
@@ -252,5 +260,6 @@
*/
public void dispose() {
if(urlFactory != null) manager.release((Component)urlFactory);
+ this.urlResolver = null;
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]