You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/12/25 23:46:48 UTC
svn commit: r490196 -
/cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/AbstractJaxpParser.java
Author: cziegeler
Date: Mon Dec 25 14:46:48 2006
New Revision: 490196
URL: http://svn.apache.org/viewvc?view=rev&rev=490196
Log:
Search for resolver by default
Modified:
cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/AbstractJaxpParser.java
Modified: cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/AbstractJaxpParser.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/AbstractJaxpParser.java?view=diff&rev=490196&r1=490195&r2=490196
==============================================================================
--- cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/AbstractJaxpParser.java (original)
+++ cocoon/trunk/core/cocoon-xml/cocoon-xml-impl/src/main/java/org/apache/cocoon/core/xml/impl/AbstractJaxpParser.java Mon Dec 25 14:46:48 2006
@@ -18,6 +18,9 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
import org.xml.sax.EntityResolver;
/**
@@ -29,7 +32,10 @@
* @version $Id$
* @since 2.2
*/
-public abstract class AbstractJaxpParser {
+public abstract class AbstractJaxpParser implements BeanFactoryAware {
+
+ /** By default we use the logger for this class. */
+ private Log logger = LogFactory.getLog(getClass());
/** the Entity Resolver */
protected EntityResolver resolver;
@@ -37,10 +43,10 @@
/** Do we want to validate? */
protected boolean validate = false;
- /** By default we use the logger for this class. */
- private Log logger = LogFactory.getLog(getClass());
+ /** Do we search for a resolver if it is not configured? */
+ protected boolean searchResolver = true;
- public Log getLogger() {
+ protected Log getLogger() {
return this.logger;
}
@@ -71,6 +77,14 @@
this.validate = validate;
}
+ public boolean isSearchResolver() {
+ return searchResolver;
+ }
+
+ public void setSearchResolver(boolean searchResolver) {
+ this.searchResolver = searchResolver;
+ }
+
/**
* Load a class
*/
@@ -80,5 +94,23 @@
loader = getClass().getClassLoader();
}
return loader.loadClass( name );
+ }
+
+ /**
+ * @see org.springframework.beans.factory.BeanFactoryAware#setBeanFactory(org.springframework.beans.factory.BeanFactory)
+ */
+ public void setBeanFactory(BeanFactory factory) throws BeansException {
+ // we search for a resolver if we don't have one already
+ if ( this.resolver == null && this.searchResolver ) {
+ if ( this.getLogger().isDebugEnabled() ) {
+ this.getLogger().debug("Searching for entity resolver in factory: " + factory);
+ }
+ if ( factory.containsBean(EntityResolver.class.getName()) ) {
+ this.resolver = (EntityResolver) factory.getBean(EntityResolver.class.getName());
+ if ( this.getLogger().isDebugEnabled() ) {
+ this.getLogger().debug("Set resolver to: " + this.resolver);
+ }
+ }
+ }
}
}