cziegeler 02/02/05 05:43:52
Modified: src/java/org/apache/cocoon/sitemap Manager.java
SitemapManager.java
Log:
Removed debug output to standard error
Revision Changes Path
1.7 +131 -103 xml-cocoon2/src/java/org/apache/cocoon/sitemap/Manager.java
Index: Manager.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/Manager.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Manager.java 4 Feb 2002 14:05:18 -0000 1.6
+++ Manager.java 5 Feb 2002 13:43:51 -0000 1.7
@@ -86,11 +86,17 @@
* checking regeneration of the sub <code>Sitemap</code>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a>
- * @version CVS $Id: Manager.java,v 1.6 2002/02/04 14:05:18 cziegeler Exp $
+ * @version CVS $Id: Manager.java,v 1.7 2002/02/05 13:43:51 cziegeler Exp $
*/
-public class Manager extends AbstractLoggable
- implements Component, Configurable, Composable, Contextualizable,
- ThreadSafe, LogKitManageable, Disposable
+public class Manager
+ extends AbstractLoggable
+ implements Component,
+ Configurable,
+ Composable,
+ Contextualizable,
+ ThreadSafe,
+ LogKitManageable,
+ Disposable
{
protected Context context;
@@ -128,18 +134,18 @@
/** get a configuration
* @param conf the configuration
*/
- public void configure(Configuration conf) throws ConfigurationException {
+ public void configure(Configuration conf)
+ throws ConfigurationException {
this.conf = conf;
String value = conf.getAttribute("handler-class", null);
if (value != null) {
- try {
- handlerClass = Class.forName(value);
- }
- catch (ClassNotFoundException ex) {
- throw new ConfigurationException("Cannot find Handler class "
+ try {
+ handlerClass = Class.forName(value);
+ } catch (ClassNotFoundException ex) {
+ throw new ConfigurationException("Cannot find Handler class "
+ value);
- }
+ }
}
}
@@ -166,20 +172,25 @@
* @throws Exception there may be several excpetions thrown
* @return states if the requested resource was produced
*/
- public boolean invoke(ComponentManager newManager, Environment environment,
String uri_prefix, String source, boolean check_reload,
- boolean reload_asynchron) throws Exception {
- // get a sitemap handler
- Handler sitemapHandler = getHandler(newManager, environment, source,
check_reload, reload_asynchron);
- // setup to invoke the processing
- setupProcessing(environment, sitemapHandler, uri_prefix, source);
- String prefix = environment.getURIPrefix();
- String uri = environment.getURI();
- try {
- environment.changeContext(uri_prefix, source);
- return sitemapHandler.process(environment);
- } finally{
- environment.setContext(prefix, uri);
- }
+ public boolean invoke(ComponentManager newManager,
+ Environment environment,
+ String uri_prefix,
+ String source,
+ boolean check_reload,
+ boolean reload_asynchron)
+ throws Exception {
+ // get a sitemap handler
+ Handler sitemapHandler = getHandler(newManager, environment, source,
check_reload, reload_asynchron);
+ // setup to invoke the processing
+ setupProcessing(environment, sitemapHandler, uri_prefix, source);
+ String prefix = environment.getURIPrefix();
+ String uri = environment.getURI();
+ try {
+ environment.changeContext(uri_prefix, source);
+ return sitemapHandler.process(environment);
+ } finally{
+ environment.setContext(prefix, uri);
+ }
}
/** invokes the sitemap handler to process a request
@@ -191,20 +202,27 @@
* @throws Exception there may be several excpetions thrown
* @return states if the requested resource was produced
*/
- public boolean invoke(ComponentManager newManager, Environment environment,
String uri_prefix, String source, boolean check_reload,
- boolean reload_asynchron, StreamPipeline pipeline, EventPipeline
eventPipeline) throws Exception {
- // get a sitemap handler
- Handler sitemapHandler = getHandler(newManager, environment, source,
check_reload, reload_asynchron);
- // setup to invoke the processing
- setupProcessing(environment, sitemapHandler, uri_prefix, source);
- String prefix = environment.getURIPrefix();
- String uri = environment.getURI();
- try {
- environment.changeContext(uri_prefix, source);
- return sitemapHandler.process(environment, pipeline, eventPipeline);
- } finally{
- environment.setContext(prefix, uri);
- }
+ public boolean invoke(ComponentManager newManager,
+ Environment environment,
+ String uri_prefix,
+ String source,
+ boolean check_reload,
+ boolean reload_asynchron,
+ StreamPipeline pipeline,
+ EventPipeline eventPipeline)
+ throws Exception {
+ // get a sitemap handler
+ Handler sitemapHandler = getHandler(newManager, environment, source,
check_reload, reload_asynchron);
+ // setup to invoke the processing
+ setupProcessing(environment, sitemapHandler, uri_prefix, source);
+ String prefix = environment.getURIPrefix();
+ String uri = environment.getURI();
+ try {
+ environment.changeContext(uri_prefix, source);
+ return sitemapHandler.process(environment, pipeline, eventPipeline);
+ } finally{
+ environment.setContext(prefix, uri);
+ }
}
/** has the sitemap changed
@@ -222,85 +240,95 @@
return false;
}
- private Handler getHandler(final ComponentManager newManager, final Environment
environment, final String source, final boolean check_reload,
- final boolean reload_asynchron) throws Exception {
- Handler sitemapHandler = (Handler)sitemaps.get(source);
- if (sitemapHandler != null) {
- // The following is a little bit complicated:
- // If the sitemap handler is not available, it is regenerated
- // If it is available:
- // The handler is only queried if it has changed if
- // the check_reload flag is true
- if (sitemapHandler.available()) {
- if (check_reload && sitemapHandler.hasChanged()) {
- // The sitemap has been changed.
- if (reload_asynchron) {
- // In asynchron mode the first request entering this
- // starts the regeneration. All other request comming
- // in, use the old sitemap until the new is generated.
- if (!sitemapHandler.isRegenerating()) {
-
sitemapHandler.regenerateAsynchronously(environment);
+ private Handler getHandler(final ComponentManager newManager,
+ final Environment environment,
+ final String source,
+ final boolean check_reload,
+ final boolean reload_asynchron)
+ throws Exception {
+ Handler sitemapHandler = (Handler)sitemaps.get(source);
+ if (sitemapHandler != null) {
+ // The following is a little bit complicated:
+ // If the sitemap handler is not available, it is regenerated
+ // If it is available:
+ // The handler is only queried if it has changed if
+ // the check_reload flag is true
+ if (sitemapHandler.available()) {
+ if (check_reload && sitemapHandler.hasChanged()) {
+ // The sitemap has been changed.
+ if (reload_asynchron) {
+ // In asynchron mode the first request entering this
+ // starts the regeneration. All other request comming
+ // in, use the old sitemap until the new is generated.
+ if (!sitemapHandler.isRegenerating()) {
+ sitemapHandler.regenerateAsynchronously(environment);
+ }
+ } else {
+ // In synchron mode the first request starts the
+ // regeneration, all other requests are blocked
+ // until the regeneration is finished. This is done
+ // by the synchronized statement
+ if (!sitemapHandler.isRegenerating()) {
+ synchronized (this) {
+ sitemapHandler.regenerate(environment);
}
} else {
- // In synchron mode the first request starts the
- // regeneration, all other requests are blocked
- // until the regeneration is finished. This is done
- // by the synchronized statement
- if (!sitemapHandler.isRegenerating()) {
- synchronized (this) {
- sitemapHandler.regenerate(environment);
- }
- } else {
- synchronized (this) {
- // Dummy statement
- this.hashCode();
- }
+ synchronized (this) {
+ // Dummy statement
+ this.hashCode();
}
}
}
- } else {
- sitemapHandler.regenerate(environment);
}
} else {
- // Also this looks a little bit strange, it should work
- // if no handler is available, the generation of the new
- // handler is synchronized.
- // The first incoming request creates the handler and blocks
- // all incoming requests. When the generation is finished
- // all other requests enter (one after the other) this method
- // and get the new created handler with the first get
- // statement
- synchronized (this) {
- sitemapHandler = (Handler)sitemaps.get(source);
- if (sitemapHandler == null) {
- sitemapHandler = (Handler)handlerClass.newInstance();
- sitemapHandler.setSourceFileName(source);
- sitemapHandler.setCheckReload(check_reload);
- sitemapHandler.setLogger(getLogger());
- sitemapHandler.compose(newManager);
- sitemapHandler.contextualize(this.context);
- if (sitemapHandler instanceof Configurable)
- ((Configurable)sitemapHandler).configure(conf);
- sitemapHandler.regenerate(environment);
- sitemaps.put(source, sitemapHandler);
- }
+ sitemapHandler.regenerate(environment);
+ }
+ } else {
+ // Also this looks a little bit strange, it should work
+ // if no handler is available, the generation of the new
+ // handler is synchronized.
+ // The first incoming request creates the handler and blocks
+ // all incoming requests. When the generation is finished
+ // all other requests enter (one after the other) this method
+ // and get the new created handler with the first get
+ // statement
+ synchronized (this) {
+ sitemapHandler = (Handler)sitemaps.get(source);
+ if (sitemapHandler == null) {
+ sitemapHandler = (Handler)handlerClass.newInstance();
+ sitemapHandler.setSourceFileName(source);
+ sitemapHandler.setCheckReload(check_reload);
+ sitemapHandler.setLogger(getLogger());
+ sitemapHandler.compose(newManager);
+ sitemapHandler.contextualize(this.context);
+ if (sitemapHandler instanceof Configurable)
+ ((Configurable)sitemapHandler).configure(conf);
+ sitemapHandler.regenerate(environment);
+ sitemaps.put(source, sitemapHandler);
}
}
- return sitemapHandler;
+ }
+ return sitemapHandler;
}
- private void setupProcessing(Environment environment, Handler sitemapHandler,
String uri_prefix,
- String source) throws Exception {
- if (!sitemapHandler.available()) {
- if (sitemapHandler.getException() != null) {
- throw sitemapHandler.getException();
- } else {
- throw new ProcessingException("The sitemap handler's sitemap is
not available. " +
+ private void setupProcessing(Environment environment,
+ Handler sitemapHandler,
+ String uri_prefix,
+ String source)
+ throws Exception {
+ if (!sitemapHandler.available()) {
+ if (sitemapHandler.getException() != null) {
+ throw sitemapHandler.getException();
+ } else {
+ throw new ProcessingException("The sitemap handler's sitemap is not
available. " +
"Please check logs for the exact error.");
- }
}
+ }
}
+ /**
+ * Disposable
+ */
public void dispose() {
context = null;
for (Iterator i = sitemaps.values().iterator(); i.hasNext();) {
1.7 +15 -13
xml-cocoon2/src/java/org/apache/cocoon/sitemap/SitemapManager.java
Index: SitemapManager.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/sitemap/SitemapManager.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SitemapManager.java 4 Feb 2002 14:05:18 -0000 1.6
+++ SitemapManager.java 5 Feb 2002 13:43:51 -0000 1.7
@@ -85,7 +85,7 @@
* to Java code.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Sylvain Wallez</a>
- * @version CVS $Id: SitemapManager.java,v 1.6 2002/02/04 14:05:18 cziegeler Exp $
+ * @version CVS $Id: SitemapManager.java,v 1.7 2002/02/05 13:43:51 cziegeler Exp $
*/
public class SitemapManager extends Manager implements Processor, Configurable {
@@ -113,15 +113,12 @@
long checkDelay = sconf.getAttributeAsLong("check-delay", 1L);
Handler.setSitemapCheckDelay(checkDelay * 1000L);
- getLogger().debug("Sitemap location = " + this.sitemapFileName);
- getLogger().debug("Checking sitemap reload = " + this.checkSitemapReload);
- getLogger().debug("Reloading sitemap asynchron = " +
this.reloadSitemapAsynchron);
- getLogger().debug("Sitemap check delay = " + checkDelay + " sec");
-
- System.err.println("Sitemap location = " + this.sitemapFileName);
- System.err.println("Checking sitemap reload = " + this.checkSitemapReload);
- System.err.println("Reloading sitemap asynchron = " +
this.reloadSitemapAsynchron);
- System.err.println("Sitemap check delay = " + checkDelay + " sec");
+ if (this.getLogger().isDebugEnabled()) {
+ getLogger().debug("Sitemap location = " + this.sitemapFileName);
+ getLogger().debug("Checking sitemap reload = " +
this.checkSitemapReload);
+ getLogger().debug("Reloading sitemap asynchron = " +
this.reloadSitemapAsynchron);
+ getLogger().debug("Sitemap check delay = " + checkDelay + " sec");
+ }
// Read sitemap roles
Parser p = null;
@@ -188,14 +185,19 @@
* Process the given <code>Environment</code> producing the output.
*/
public boolean process(Environment environment) throws Exception {
- return this.invoke(this.manager, environment, "", this.sitemapFileName,
this.checkSitemapReload, this.reloadSitemapAsynchron);
+ return this.invoke(this.manager, environment, "", this.sitemapFileName,
+ this.checkSitemapReload, this.reloadSitemapAsynchron);
}
/**
* Process the given <code>Environment</code> to assemble
* a <code>StreamPipeline</code> and an <code>EventPipeline</code>.
*/
- public boolean process(Environment environment, StreamPipeline pipeline,
EventPipeline eventPipeline) throws Exception {
- return this.invoke(this.manager, environment, "", this.sitemapFileName,
this.checkSitemapReload, this.reloadSitemapAsynchron, pipeline, eventPipeline);
+ public boolean process(Environment environment,
+ StreamPipeline pipeline,
+ EventPipeline eventPipeline)
+ throws Exception {
+ return this.invoke(this.manager, environment, "", this.sitemapFileName,
+ this.checkSitemapReload, this.reloadSitemapAsynchron,
pipeline, eventPipeline);
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]