You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by gi...@apache.org on 2007/09/28 13:33:18 UTC

svn commit: r580312 [2/5] - in /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl: ./ src/main/java/org/apache/cocoon/forms/ src/main/java/org/apache/cocoon/forms/binding/ src/main/java/org/apache/cocoon/forms/binding/library/ src/main/java/org/apache...

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -23,8 +23,6 @@
 import java.util.List;
 import java.util.Set;
 
-import org.apache.avalon.framework.logger.Logger;
-
 import org.apache.cocoon.forms.datatype.convertor.ConversionResult;
 import org.apache.cocoon.forms.formmodel.Repeater;
 import org.apache.cocoon.forms.formmodel.Widget;
@@ -32,6 +30,8 @@
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.jxpath.JXPathContext;
 import org.apache.commons.jxpath.Pointer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * RepeaterJXPathBinding provides an implementation of a {@link Binding}
@@ -42,6 +42,8 @@
  */
 public class RepeaterJXPathBinding extends JXPathBindingBase {
 
+    private static Log LOG = LogFactory.getLog( RepeaterJXPathBinding.class );
+    
     private final String repeaterId;
     private final String repeaterPath;
     private final String rowPath;
@@ -100,20 +102,6 @@
             this.identityBinding = null;
     }
 
-    public void enableLogging(Logger logger) {
-        super.enableLogging(logger);
-        if (this.deleteRowBinding != null) {
-            this.deleteRowBinding.enableLogging(logger);
-        }
-        if (this.insertRowBinding != null) {
-            this.insertRowBinding.enableLogging(logger);
-        }
-        this.rowBinding.enableLogging(logger);
-        if (this.identityBinding != null) {
-            this.identityBinding.enableLogging(logger);
-        }
-    }
-
     public String getId() { return repeaterId; }
     public String getRepeaterPath() { return repeaterPath; }
     public String getRowPath() { return rowPath; }
@@ -167,8 +155,8 @@
                 this.rowBinding.loadFormFromModel(thisRow, rowContext);
             }
         }
-        if (getLogger().isDebugEnabled())
-            getLogger().debug("done loading rows " + this);
+        if (LOG.isDebugEnabled())
+            LOG.debug("done loading rows " + this);
     }
 
     /**
@@ -274,12 +262,14 @@
                             this.rowPathForInsert + "[" + indexCount + "]");
                     JXPathContext newRowContext =
                         repeaterContext.getRelativeContext(newRowContextPointer);
-                    if (getLogger().isDebugEnabled()) {
-                        getLogger().debug("inserted row at " + newRowContextPointer.asPath());
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("inserted row at " + newRowContextPointer.asPath());
                     }
                     //    + rebind to children for update
                     this.rowBinding.saveFormToModel(thisRow, newRowContext);
-                    getLogger().debug("bound new row");
+                    if (LOG.isDebugEnabled()) {
+                        LOG.debug("bound new row");
+                    }
                     indexCount++;
                 }
 //            } else {
@@ -289,8 +279,8 @@
 //                }
 //            }
         }
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("done saving rows " + this);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("done saving rows " + this);
         }
     }
 
@@ -353,8 +343,8 @@
                         else
                             value = null;
                     } else {
-                        if (getLogger().isWarnEnabled()) {
-                            getLogger().warn("Convertor ignored on backend-value " +
+                        if (LOG.isWarnEnabled()) {
+                            LOG.warn("Convertor ignored on backend-value " +
                             "which isn't of type String.");
                         }
                     }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -19,6 +19,8 @@
 import org.apache.cocoon.forms.formmodel.Widget;
 
 import org.apache.commons.jxpath.JXPathContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * SetAttributeJXPathBinding provides an implementation of a {@link Binding}
@@ -32,6 +34,7 @@
  */
 public class SetAttributeJXPathBinding extends JXPathBindingBase {
 
+    private static Log LOG = LogFactory.getLog( SetAttributeJXPathBinding.class );
     private final String name;
     private final String value;
 
@@ -62,8 +65,8 @@
      */
     public void doSave(Widget frmModel, JXPathContext jxpc) {
         jxpc.setValue("@" + this.name, this.value);
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("done saving " + this);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("done saving " + this);
         }
     }
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -18,13 +18,13 @@
 
 import java.util.Iterator;
 
-import org.apache.avalon.framework.logger.Logger;
-
 import org.apache.cocoon.forms.formmodel.Repeater;
 import org.apache.cocoon.forms.formmodel.Widget;
 
 import org.apache.commons.jxpath.JXPathContext;
 import org.apache.commons.jxpath.Pointer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * Simple binding for repeaters: on save, first deletes the target data
@@ -37,6 +37,7 @@
  */
 public class SimpleRepeaterJXPathBinding extends JXPathBindingBase {
 
+    private static Log LOG = LogFactory.getLog( SimpleRepeaterJXPathBinding.class );
     private final String repeaterId;
     private final String repeaterPath;
     private final String rowPath;
@@ -62,11 +63,6 @@
         this.deleteIfEmpty = deleteIfEmpty;
     }
 
-    public void enableLogging(Logger logger) {
-        super.enableLogging(logger);
-        this.rowBinding.enableLogging(logger);
-    }
-
     public String getId() { return repeaterId; }
     public String getRepeaterPath() { return repeaterPath; }
     public String getRowPath() { return rowPath; }
@@ -111,8 +107,8 @@
                 this.rowBinding.loadFormFromModel(thisRow, rowContext);
             }
         }
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("done loading rows " + this);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("done loading rows " + this);
         }
     }
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -18,13 +18,13 @@
 
 import java.util.Iterator;
 
-import org.apache.avalon.framework.logger.Logger;
-
 import org.apache.cocoon.forms.formmodel.Repeater;
 import org.apache.cocoon.forms.formmodel.Widget;
 
 import org.apache.commons.jxpath.JXPathContext;
 import org.apache.commons.jxpath.Pointer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -41,6 +41,7 @@
  */
 public class TempRepeaterJXPathBinding extends JXPathBindingBase {
 
+    private static Log LOG = LogFactory.getLog( TempRepeaterJXPathBinding.class );
     private final String repeaterId;
     private final String repeaterPath;
     private final String rowPath;
@@ -76,14 +77,6 @@
         this.deleteIfEmpty = deleteIfEmpty;
     }
 
-    public void enableLogging(Logger logger) {
-        super.enableLogging(logger);
-        if (this.insertRowBinding != null) {
-            this.insertRowBinding.enableLogging(logger);
-        }
-        this.rowBinding.enableLogging(logger);
-    }
-
     public String getId() { return repeaterId; }
     public String getRepeaterPath() { return repeaterPath; }
     public String getRowPath() { return rowPath; }
@@ -175,8 +168,8 @@
             }
         }
 
-        if (getLogger().isDebugEnabled())
-            getLogger().debug("done loading rows " + this);
+        if (LOG.isDebugEnabled())
+            LOG.debug("done loading rows " + this);
     }
 
     public void doSave(Widget frmModel, JXPathContext jctx) throws BindingException {
@@ -246,10 +239,12 @@
                                 rowNode.appendChild(list.item(0));
                             }
                         }
-                        getLogger().debug("bound new row");
+                        if (LOG.isDebugEnabled()) {
+                            LOG.debug("bound new row");
+                        }
                     }
                 } else {
-                    getLogger().warn("TempRepeaterBinding has detected rows to insert, " +
+                    LOG.warn("TempRepeaterBinding has detected rows to insert, " +
                         "but misses the <on-insert-row> binding to do it.");
                 }
             }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -20,6 +20,8 @@
 import org.apache.cocoon.forms.formmodel.Widget;
 
 import org.apache.commons.jxpath.JXPathContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * UnionJXPathBinding provides an implementation of a {@link Binding}
@@ -34,6 +36,7 @@
  */
 public class UnionJXPathBinding extends ComposedJXPathBindingBase {
 
+    private static Log LOG = LogFactory.getLog( UnionJXPathBinding.class );
     private final String xpath;
 
     private final String widgetId;
@@ -77,8 +80,8 @@
                 subBindings[i].loadFormFromModel(unionWidget, subContext);
             }
         }
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("done loading " + this);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("done loading " + this);
         }
     }
 
@@ -97,8 +100,8 @@
                 subBindings[i].saveFormToModel(unionWidget, subContext);
             }
         }
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("done saving " + this);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("done saving " + this);
         }
     }
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -18,14 +18,14 @@
 
 import java.util.Locale;
 
-import org.apache.avalon.framework.logger.Logger;
-
 import org.apache.cocoon.forms.datatype.convertor.ConversionResult;
 import org.apache.cocoon.forms.datatype.convertor.Convertor;
 import org.apache.cocoon.forms.formmodel.Widget;
 
 import org.apache.commons.jxpath.JXPathContext;
 import org.apache.commons.jxpath.JXPathException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * ValueJXPathBinding provides an implementation of a {@link Binding}
@@ -37,6 +37,8 @@
  */
 public class ValueJXPathBinding extends JXPathBindingBase {
 
+    private static Log LOG = LogFactory.getLog( ValueJXPathBinding.class );
+
     /**
      * The xpath expression to the objectModel property
      */
@@ -84,11 +86,6 @@
         this.convertorLocale = convertorLocale;
     }
 
-    public void enableLogging(Logger logger) {
-        super.enableLogging(logger);
-        this.updateBinding.enableLogging(logger);
-    }
-
     public String getId() { return fieldId; }
     public ComposedJXPathBindingBase getUpdateBinding() { return (ComposedJXPathBindingBase)updateBinding; }
 
@@ -112,13 +109,13 @@
                 else
                     value = null;
             } else {
-                getLogger().warn("Convertor ignored on backend-value which isn't of type String.");
+                LOG.warn("Convertor ignored on backend-value which isn't of type String.");
             }
         }
 
         widget.setValue(value);
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("Done loading " + this + " -- value= " + value);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Done loading " + this + " -- value= " + value);
         }
     }
 
@@ -134,8 +131,8 @@
         }
 
         Object oldValue = jxpc.getValue(this.xpath);
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("value= " + value + " -- oldvalue=" + oldValue);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("value= " + value + " -- oldvalue=" + oldValue);
         }
 
         boolean update = false;
@@ -151,8 +148,8 @@
             } catch (JXPathException e) {
                 // if the value has been set to null and the underlying model is a bean, then
                 // JXPath will not be able to create a relative context
-                if (getLogger().isDebugEnabled()) {
-                    getLogger().debug("(Ignorable) problem binding field " + widget.getRequestParameterName(), e);
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("(Ignorable) problem binding field " + widget.getRequestParameterName(), e);
                 }
             }
             if (subContext != null) {
@@ -162,8 +159,8 @@
             update = true;
         }
 
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("done saving " + this + " -- value= " + value + " -- on-update == " + update);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("done saving " + this + " -- value= " + value + " -- on-update == " + update);
         }
     }
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/Library.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/Library.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/Library.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/Library.java Fri Sep 28 04:33:12 2007
@@ -20,8 +20,6 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-
 import org.apache.cocoon.forms.binding.Binding;
 import org.apache.cocoon.forms.binding.BindingManager;
 import org.apache.cocoon.forms.binding.JXPathBindingManager;
@@ -29,6 +27,8 @@
 import org.apache.cocoon.util.location.LocationAttributes;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.w3c.dom.Element;
 
 /**
@@ -36,8 +36,9 @@
  *
  * @version $Id$
  */
-public class Library extends AbstractLogEnabled {
+public class Library {
 
+    private static Log LOG = LogFactory.getLog( Library.class );
 	public static final String SEPARATOR = ":";
 
 	// own references
@@ -151,8 +152,8 @@
         binding.setEnclosingLibrary(this);
 
         definitions.put(binding.getId(), binding);
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug(this + ": Added binding '" + binding.getId() + "'");
+        if (LOG.isDebugEnabled()) {
+            LOG.debug(this + ": Added binding '" + binding.getId() + "'");
         }
     }
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/LibraryManagerImpl.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/LibraryManagerImpl.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/LibraryManagerImpl.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/LibraryManagerImpl.java Fri Sep 28 04:33:12 2007
@@ -16,23 +16,16 @@
  */
 package org.apache.cocoon.forms.binding.library;
 
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.component.Component;
-import org.apache.avalon.framework.configuration.Configurable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
-import org.apache.avalon.framework.thread.ThreadSafe;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
 
+import org.apache.cocoon.core.xml.SAXParser;
 import org.apache.cocoon.forms.CacheManager;
 import org.apache.cocoon.forms.binding.JXPathBindingManager;
 import org.apache.cocoon.forms.util.DomHelper;
 import org.apache.cocoon.util.location.LocationImpl;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 import org.w3c.dom.Document;
 import org.xml.sax.InputSource;
@@ -40,26 +33,19 @@
 /**
  * @version $Id$
  */
-public class LibraryManagerImpl extends AbstractLogEnabled
-                                implements LibraryManager, Serviceable, Configurable,
-                                           Disposable, ThreadSafe, Component {
+public class LibraryManagerImpl implements LibraryManager {
 
+    private static Log LOG = LogFactory.getLog( LibraryManagerImpl.class );
+    
 	protected static final String PREFIX = "CocoonFormBindingLibrary:";
 
-	private ServiceManager manager;
     private CacheManager cacheManager;
 
     private JXPathBindingManager bindingManager;
 
+    private SourceResolver sourceResolver;
 
-    public void configure(Configuration configuration) throws ConfigurationException {
-        // TODO Read config to "preload" libraries
-    }
-
-    public void service(ServiceManager serviceManager) throws ServiceException {
-        this.manager = serviceManager;
-        this.cacheManager = (CacheManager)serviceManager.lookup(CacheManager.ROLE);
-    }
+    private SAXParser parser;
 
     public void setBindingManager(JXPathBindingManager bindingManager) {
     	this.bindingManager = bindingManager;
@@ -70,11 +56,9 @@
     }
 
     public Library get(String sourceURI, String baseURI) throws LibraryException {
-    	SourceResolver sourceResolver = null;
         Source source = null;
         try {
             try {
-                sourceResolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
                 source = sourceResolver.resolveURI(sourceURI, baseURI, null);
             } catch (Exception e) {
                 throw new LibraryException("Unable to resolve library.",
@@ -83,18 +67,18 @@
 
             Library lib = (Library) this.cacheManager.get(source, PREFIX);
             if (lib != null && lib.dependenciesHaveChanged()) {
-                if (getLogger().isDebugEnabled()) {
-                    getLogger().debug("Library IS REMOVED from cache: '" + sourceURI + "' relative to '" + baseURI + "'");
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Library IS REMOVED from cache: '" + sourceURI + "' relative to '" + baseURI + "'");
                 }
                 this.cacheManager.remove(source, PREFIX); // evict?
                 return null;
             }
 
-            if (getLogger().isDebugEnabled()) {
+            if (LOG.isDebugEnabled()) {
                 if (lib != null) {
-                    getLogger().debug("Library IS in cache: '" + sourceURI + "' relative to '" + baseURI + "'");
+                    LOG.debug("Library IS in cache: '" + sourceURI + "' relative to '" + baseURI + "'");
                 } else {
-                    getLogger().debug("Library IS NOT in cache: '" + sourceURI + "' relative to '" + baseURI + "'");
+                    LOG.debug("Library IS NOT in cache: '" + sourceURI + "' relative to '" + baseURI + "'");
                 }
             }
 
@@ -103,9 +87,6 @@
             if (source != null) {
                 sourceResolver.release(source);
             }
-            if (sourceResolver != null) {
-                manager.release(sourceResolver);
-            }
         }
     }
 
@@ -114,16 +95,14 @@
     }
 
 	public Library load(String sourceURI, String baseURI) throws LibraryException {
-		SourceResolver sourceResolver = null;
         Source source = null;
 
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("Loading library: '" + sourceURI + "' relative to '" + baseURI + "'");
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Loading library: '" + sourceURI + "' relative to '" + baseURI + "'");
         }
 
         try {
             try {
-                sourceResolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
                 source = sourceResolver.resolveURI(sourceURI, baseURI, null);
             } catch (Exception e) {
                 throw new LibraryException("Unable to resolve library.",
@@ -132,22 +111,22 @@
 
             Library lib = (Library) this.cacheManager.get(source, PREFIX);
             if (lib != null && lib.dependenciesHaveChanged()) {
-                if (getLogger().isDebugEnabled()) {
-                    getLogger().debug("Library IS EXPIRED in cache: '" + sourceURI + "' relative to '" + baseURI + "'");
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Library IS EXPIRED in cache: '" + sourceURI + "' relative to '" + baseURI + "'");
                 }
                 lib = null;
             }
 
             if (lib == null) {
-                if (getLogger().isDebugEnabled()) {
-                    getLogger().debug("Library IS NOT in cache, loading: '" + sourceURI + "' relative to '" + baseURI + "'");
+                if (LOG.isDebugEnabled()) {
+                    LOG.debug("Library IS NOT in cache, loading: '" + sourceURI + "' relative to '" + baseURI + "'");
                 }
 
             	try {
                     InputSource inputSource = new InputSource(source.getInputStream());
                     inputSource.setSystemId(source.getURI());
 
-                    Document doc = DomHelper.parse(inputSource, this.manager);
+                    Document doc = DomHelper.parse(inputSource, parser);
                     lib = newLibrary();
                     lib.buildLibrary(doc.getDocumentElement());
 
@@ -163,31 +142,36 @@
             if (source != null) {
                 sourceResolver.release(source);
             }
-            if (sourceResolver != null) {
-                manager.release(sourceResolver);
-            }
         }
 	}
 
 	public Library newLibrary() {
 		Library lib = new Library(this, bindingManager.getBuilderAssistant());
-        lib.enableLogging(getLogger());
-        if (getLogger().isDebugEnabled()) {
-            getLogger().debug("Created new library! " + lib);
+        if (LOG.isDebugEnabled()) {
+            LOG.debug("Created new library! " + lib);
         }
 
         return lib;
 	}
 
-	public void dispose() {
-		this.manager.release(this.cacheManager);
-	    this.cacheManager = null;
-	    this.manager = null;
-	}
-
 	public void debug(String msg) {
-		if(getLogger().isDebugEnabled()) {
-			getLogger().debug(msg);
+		if(LOG.isDebugEnabled()) {
+			LOG.debug(msg);
 		}
 	}
+
+    public void setCacheManager( CacheManager cacheManager )
+    {
+        this.cacheManager = cacheManager;
+    }
+
+    public void setSourceResolver( SourceResolver sourceResolver )
+    {
+        this.sourceResolver = sourceResolver;
+    }
+
+    public void setParser( SAXParser parser )
+    {
+        this.parser = parser;
+    }
 }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java Fri Sep 28 04:33:12 2007
@@ -22,9 +22,6 @@
 import java.util.List;
 import java.util.Locale;
 
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
 import org.apache.cocoon.forms.FormsConstants;
 import org.apache.cocoon.forms.datatype.convertor.Convertor;
 import org.apache.cocoon.forms.datatype.convertor.DefaultFormatCache;
@@ -37,11 +34,9 @@
 /**
  * Abstract implementation of a JavaSelectionList
  */
-public abstract class AbstractJavaSelectionList implements JavaSelectionList,
-                                                           Serviceable {
+public abstract class AbstractJavaSelectionList implements JavaSelectionList {
 
     protected Datatype datatype;
-    protected ServiceManager manager;
 
     private HashMap attributes;
     private List items;
@@ -51,10 +46,6 @@
     public AbstractJavaSelectionList() {
         this.items = new ArrayList();
         this.rebuild = true;
-    }
-
-    public void service(ServiceManager manager) throws ServiceException {
-        this.manager = manager;
     }
 
     public String getAttribute(String name) {

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DatatypeBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DatatypeBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DatatypeBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DatatypeBuilder.java Fri Sep 28 04:33:12 2007
@@ -23,11 +23,8 @@
  * Implementations of this class build a Datatype from an XML description
  * (a DOM Element).
  *
- * <p>These builders should be threadsafe, only one instance of them will be created.
+ * <p>These builders should be threadsafe (Spring scope="singleton").
  *
- * <p>Implementations may implement Avalon's Serviceable interface to get access to
- * other components.
- * 
  * @version $Id$
  */
 public interface DatatypeBuilder {

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java Fri Sep 28 04:33:12 2007
@@ -16,25 +16,12 @@
  */
 package org.apache.cocoon.forms.datatype;
 
-import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.avalon.framework.configuration.Configurable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.Serviceable;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.activity.Initializable;
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.CascadingException;
-import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
 import org.apache.cocoon.forms.datatype.convertor.Convertor;
 import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.forms.util.SimpleServiceSelector;
 import org.w3c.dom.Element;
 
+import java.util.Map;
+
 /**
  * Implementation of the {@link DatatypeManager} component.
  *
@@ -46,71 +33,43 @@
  * @version $Id$
  *
  */
-public class DefaultDatatypeManager extends AbstractLogEnabled implements DatatypeManager, ThreadSafe, Serviceable,
-        Configurable, Initializable, Disposable, Contextualizable {
-    private SimpleServiceSelector typeBuilderSelector;
-    private SimpleServiceSelector validationRuleBuilderSelector;
-    private ServiceManager serviceManager;
-    private Configuration configuration;
-    private Context context;
-
-    public void contextualize(Context context) throws ContextException {
-        this.context = context;
-    }
-
-    public void configure(Configuration configuration) throws ConfigurationException {
-        this.configuration = configuration;
-    }
-
-    public void service(ServiceManager serviceManager) throws ServiceException {
-        this.serviceManager = serviceManager;
-    }
-
-    public void initialize() throws Exception {
-        typeBuilderSelector = new SimpleServiceSelector("datatype", DatatypeBuilder.class);
-        typeBuilderSelector.enableLogging(getLogger());
-        typeBuilderSelector.contextualize(context);
-        typeBuilderSelector.service(serviceManager);
-        typeBuilderSelector.configure(configuration.getChild("datatypes"));
-
-        validationRuleBuilderSelector = new SimpleServiceSelector("validation-rule", ValidationRuleBuilder.class);
-        validationRuleBuilderSelector.enableLogging(getLogger());
-        validationRuleBuilderSelector.contextualize(context);
-        validationRuleBuilderSelector.service(serviceManager);
-        validationRuleBuilderSelector.configure(configuration.getChild("validation-rules"));
-
-        configuration = null;
-    }
+public class DefaultDatatypeManager implements DatatypeManager {
+    private Map datatypeBuilders;
+    private Map validatorRuleBuilders;
 
     public Datatype createDatatype(Element datatypeElement, boolean arrayType) throws Exception {
         String typeName = DomHelper.getAttribute(datatypeElement, "base");
-        DatatypeBuilder builder;
-        try {
-            builder = (DatatypeBuilder) typeBuilderSelector.select(typeName);
-        } catch (ServiceException e) {
-            throw new CascadingException("Unknown datatype '" + typeName + "' specified at " + DomHelper.getLocation(datatypeElement), e);
+        DatatypeBuilder builder = (DatatypeBuilder) datatypeBuilders.get(typeName);
+        if (builder == null) {
+            throw new Exception("Unknown datatype '" + typeName + "' specified at " + DomHelper.getLocation(datatypeElement));
         }
         return builder.build(datatypeElement, arrayType, this);
     }
 
     public ValidationRule createValidationRule(Element validationRuleElement) throws Exception {
         String name  = validationRuleElement.getLocalName();
-        ValidationRuleBuilder builder;
-        try {
-            builder = (ValidationRuleBuilder) validationRuleBuilderSelector.select(name);
-        } catch (ServiceException e) {
-            throw new CascadingException("Unknown validation rule \"" + name + "\" specified at " + DomHelper.getLocation(validationRuleElement), e);
+        ValidationRuleBuilder builder = (ValidationRuleBuilder) validatorRuleBuilders.get(name);
+        if (builder == null) {
+            throw new Exception("Unknown validation rule \"" + name + "\" specified at " + DomHelper.getLocation(validationRuleElement));
         }
         return builder.build(validationRuleElement);
     }
 
     public Convertor createConvertor(String dataTypeName, Element convertorElement) throws Exception {
-        DatatypeBuilder datatypeBulder = (DatatypeBuilder)typeBuilderSelector.select(dataTypeName);
-        return datatypeBulder.buildConvertor(convertorElement);
+        DatatypeBuilder builder = (DatatypeBuilder)datatypeBuilders.get(dataTypeName);
+        if (builder == null) {
+            throw new Exception("Unknown datatype '" + dataTypeName + "' specified for " + DomHelper.getLocation(convertorElement));
+        }
+        return builder.buildConvertor(convertorElement);
+    }
+
+    public void setDatatypeBuilders( Map datatypeBuilders )
+    {
+        this.datatypeBuilders = datatypeBuilders;
     }
 
-    public void dispose() {
-        typeBuilderSelector.dispose();
-        validationRuleBuilderSelector.dispose();
+    public void setValidatorRuleBuilders( Map validatorRuleBuilders )
+    {
+        this.validatorRuleBuilders = validatorRuleBuilders;
     }
 }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java Fri Sep 28 04:33:12 2007
@@ -20,22 +20,19 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.Node;
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
+import org.apache.cocoon.core.xml.SAXParser;
 import org.apache.cocoon.forms.FormsConstants;
 import org.apache.cocoon.forms.datatype.convertor.Convertor;
 import org.apache.cocoon.forms.datatype.convertor.DefaultFormatCache;
 import org.apache.cocoon.forms.datatype.convertor.ConversionResult;
 import org.apache.cocoon.forms.util.DomHelper;
+import org.apache.cocoon.processing.ProcessInfoProvider;
 import org.apache.cocoon.util.Deprecation;
 import org.apache.cocoon.util.location.LocationAttributes;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.excalibur.xml.sax.XMLizable;
+import org.apache.excalibur.xmlizer.XMLizer;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
@@ -51,18 +48,12 @@
  *
  * @version $Id$
  */
-public class DefaultSelectionListBuilder implements SelectionListBuilder, Serviceable, Contextualizable {
+public class DefaultSelectionListBuilder implements SelectionListBuilder {
 
-    private ServiceManager serviceManager;
-    private Context context;
-
-    public void contextualize(Context context) throws ContextException {
-        this.context = context;
-    }
-
-    public void service(ServiceManager manager) throws ServiceException {
-        this.serviceManager = manager;
-    }
+    private SourceResolver sourceResolver;
+    private XMLizer xmlizer;
+    private ProcessInfoProvider processInfoProvider;
+    private SAXParser parser;
 
     public SelectionList build(Element selectionListElement, Datatype datatype) throws Exception {
         SelectionList selectionList;
@@ -90,7 +81,7 @@
             }
             // Create SelectionList
             if (dynamic) {
-                selectionList = new DynamicSelectionList(datatype, src, usePerRequestCache, serviceManager, context);
+                selectionList = new DynamicSelectionList(datatype, src, usePerRequestCache, xmlizer, sourceResolver, processInfoProvider);
             } else {
                 selectionListElement = readSelectionList(src);
                 selectionList = buildStaticList(selectionListElement, datatype);                
@@ -153,14 +144,12 @@
     }
 
     private Element readSelectionList(String src) throws Exception {
-        SourceResolver resolver = null;
         Source source = null;
         try {
-            resolver = (SourceResolver)serviceManager.lookup(SourceResolver.ROLE);
-            source = resolver.resolveURI(src);
+            source = sourceResolver.resolveURI(src);
             InputSource inputSource = new InputSource(source.getInputStream());
             inputSource.setSystemId(source.getURI());
-            Document document = DomHelper.parse(inputSource, this.serviceManager);
+            Document document = DomHelper.parse(inputSource, parser);
             Element selectionListElement = document.getDocumentElement();
             if (!FormsConstants.DEFINITION_NS.equals(selectionListElement.getNamespaceURI()) ||
                     !"selection-list".equals(selectionListElement.getLocalName())) {
@@ -170,12 +159,29 @@
 
             return selectionListElement;
         } finally {
-            if (resolver != null) {
-                if (source != null) {
-                    resolver.release(source);
-                }
-                serviceManager.release(resolver);
+            if (source != null) {
+                sourceResolver.release(source);
             }
         }
+    }
+
+    public void setSourceResolver( SourceResolver sourceResolver )
+    {
+        this.sourceResolver = sourceResolver;
+    }
+
+    public void setXmlizer( XMLizer xmlizer )
+    {
+        this.xmlizer = xmlizer;
+    }
+
+    public void setProcessInfoProvider( ProcessInfoProvider processInfoProvider )
+    {
+        this.processInfoProvider = processInfoProvider;
+    }
+
+    public void setParser( SAXParser parser )
+    {
+        this.parser = parser;
     }
 }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DynamicSelectionList.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DynamicSelectionList.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DynamicSelectionList.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DynamicSelectionList.java Fri Sep 28 04:33:12 2007
@@ -20,16 +20,15 @@
 import java.io.UnsupportedEncodingException;
 import java.util.Locale;
 
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.service.ServiceManager;
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.components.source.SourceUtil;
-import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.forms.FormsConstants;
 import org.apache.cocoon.forms.datatype.convertor.ConversionResult;
 import org.apache.cocoon.forms.datatype.convertor.Convertor;
 import org.apache.cocoon.forms.datatype.convertor.DefaultFormatCache;
+import org.apache.cocoon.processing.ProcessInfoProvider;
 import org.apache.cocoon.util.NetUtils;
 import org.apache.cocoon.xml.AbstractXMLPipe;
 import org.apache.cocoon.xml.AttributesImpl;
@@ -38,6 +37,7 @@
 import org.apache.cocoon.xml.dom.DOMBuilder;
 import org.apache.excalibur.source.Source;
 import org.apache.excalibur.source.SourceResolver;
+import org.apache.excalibur.xmlizer.XMLizer;
 import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 import org.xml.sax.ContentHandler;
@@ -61,8 +61,9 @@
     private String src;
     private boolean usePerRequestCache;
     private Datatype datatype;
-    private ServiceManager serviceManager;
-    private Context context;
+    private XMLizer xmlizer;
+    private SourceResolver sourceResolver;
+    private ProcessInfoProvider processInfoProvider;
 
     /**
      * @param datatype
@@ -71,12 +72,13 @@
      * @param serviceManager
      * @param context
      */
-    public DynamicSelectionList(Datatype datatype, String src, boolean usePerRequestCache, ServiceManager serviceManager, Context context) {
+    public DynamicSelectionList(Datatype datatype, String src, boolean usePerRequestCache, XMLizer xmlizer, SourceResolver sourceResolver, ProcessInfoProvider processInfoProvider) {
         this.datatype = datatype;
         this.src = src;
-        this.serviceManager = serviceManager;
         this.usePerRequestCache = usePerRequestCache;
-        this.context = context;
+        this.xmlizer = xmlizer;
+        this.sourceResolver = sourceResolver;
+        this.processInfoProvider = processInfoProvider;
     }
 
     /**
@@ -85,12 +87,8 @@
      * @param src - 
      * @param serviceManager -
      */
-    public DynamicSelectionList(Datatype datatype, String src, ServiceManager serviceManager) {
-        this.usePerRequestCache = false;
-        this.context = null;
-        this.datatype = datatype;
-        this.src = src;
-        this.serviceManager = serviceManager;
+    public DynamicSelectionList(Datatype datatype, String src, XMLizer xmlizer, SourceResolver sourceResolver, ProcessInfoProvider processInfoProvider) {
+        this(datatype, src, false, xmlizer, sourceResolver, processInfoProvider);
     }
 
     public Datatype getDatatype() {
@@ -105,17 +103,15 @@
     throws ProcessingException, SAXException, IOException {
         SelectionListHandler handler = new SelectionListHandler(locale);
         handler.setContentHandler(contentHandler);
-        SourceUtil.toSAX(serviceManager, source, null, handler);
+        SourceUtil.toSAX(xmlizer, source, null, handler);
     }
     
     /*
      * This method generate SaxFragment directly from source.
      */
     private void generateSaxFragmentFromSrc(String url, ContentHandler contentHandler, Locale locale) throws SAXException {
-        SourceResolver sourceResolver = null;
         Source source = null;
         try {
-            sourceResolver = (SourceResolver)serviceManager.lookup(SourceResolver.ROLE);
             source = sourceResolver.resolveURI(url);
             generateSaxFragment(contentHandler, locale, source);
         } catch (SAXException e) {
@@ -127,7 +123,6 @@
                 if (source != null) {
                     try { sourceResolver.release(source); } catch (Exception e) {}
                 }
-                serviceManager.release(sourceResolver);
             }
         }
     }
@@ -153,7 +148,7 @@
 
         if (usePerRequestCache) {
             // Search the sax buffer in request attributes
-            Request request = ContextHelper.getRequest(this.context);
+            HttpServletRequest request = processInfoProvider.getRequest();
             String attributeName = "DynamicSelectionListCache/" + url;
             SaxBuffer saxBuffer = (SaxBuffer)request.getAttribute(attributeName);
             

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java Fri Sep 28 04:33:12 2007
@@ -19,11 +19,10 @@
 import java.util.Iterator;
 import java.util.Locale;
 
-import org.apache.avalon.framework.context.Context;
-import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.components.flow.FlowHelper;
 import org.apache.cocoon.forms.FormsConstants;
 import org.apache.cocoon.forms.util.I18nMessage;
+import org.apache.cocoon.processing.ProcessInfoProvider;
 import org.apache.cocoon.xml.AttributesImpl;
 import org.apache.cocoon.xml.XMLUtils;
 import org.apache.commons.jxpath.JXPathContext;
@@ -41,7 +40,7 @@
  */
 public class FlowJXPathSelectionList implements SelectionList {
 
-    private Context context;
+    private ProcessInfoProvider processInfoProvider;
     private String listPath;
     private String valuePath;
     private String labelPath;
@@ -53,7 +52,7 @@
     private String i18nCatalog;
     private boolean labelIsI18nKey = false;
 
-    public FlowJXPathSelectionList(Context context, 
+    public FlowJXPathSelectionList(ProcessInfoProvider processInfoProvider, 
                                    String listPath, 
                                    String valuePath, 
                                    String labelPath, 
@@ -62,7 +61,7 @@
                                    boolean nullTextIsI18nKey, 
                                    String i18nCatalog, 
                                    boolean labelIsI18nKey) {
-        this.context = context;
+        this.processInfoProvider = processInfoProvider;
         this.listPath = listPath;
         this.valuePath = valuePath;
         this.labelPath = labelPath;
@@ -99,7 +98,7 @@
         JXPathContext ctx = null;
         Iterator iter = null;
         if (model == null) {
-            Object flowData = FlowHelper.getContextObject(ContextHelper.getObjectModel(this.context));
+            Object flowData = FlowHelper.getContextObject(processInfoProvider.getObjectModel());
             if (flowData == null) {
                 throw new SAXException("No flow data to produce selection list");
             }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionListBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionListBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionListBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionListBuilder.java Fri Sep 28 04:33:12 2007
@@ -16,11 +16,9 @@
  */
 package org.apache.cocoon.forms.datatype;
 
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
 import org.apache.cocoon.forms.FormsConstants;
 import org.apache.cocoon.forms.util.DomHelper;
+import org.apache.cocoon.processing.ProcessInfoProvider;
 import org.w3c.dom.Element;
 
 import java.util.Map;
@@ -48,13 +46,9 @@
  * @see org.apache.cocoon.forms.datatype.FlowJXPathSelectionList
  * @version $Id$
  */
-public class FlowJXPathSelectionListBuilder implements SelectionListBuilder, Contextualizable {
+public class FlowJXPathSelectionListBuilder implements SelectionListBuilder {
 
-    private Context context;
-
-    public void contextualize(Context context) throws ContextException {
-        this.context = context;
-    }
+    private ProcessInfoProvider processInfoProvider;
 
     public SelectionList build(Element selectionListElement, Datatype datatype) throws Exception {
 
@@ -88,7 +82,7 @@
 
         String i18nCatalog = DomHelper.getAttribute(selectionListElement, "catalogue", null);
 
-        return new FlowJXPathSelectionList(context,
+        return new FlowJXPathSelectionList(processInfoProvider,
                                            listPath,
                                            valuePath,
                                            labelPath,
@@ -97,6 +91,11 @@
                                            nullTextIsI18nKey,
                                            i18nCatalog,
                                            labelIsI18nKey);
+    }
+
+    public void setProcessInfoProvider( ProcessInfoProvider processInfoProvider )
+    {
+        this.processInfoProvider = processInfoProvider;
     }
 
 }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionList.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionList.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionList.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionList.java Fri Sep 28 04:33:12 2007
@@ -19,11 +19,10 @@
 import java.util.Locale;
 import java.util.Map;
 
-import org.apache.avalon.framework.context.Context;
-import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.forms.FormsConstants;
 import org.apache.cocoon.forms.util.I18nMessage;
 import org.apache.cocoon.forms.util.JavaScriptHelper;
+import org.apache.cocoon.processing.ProcessInfoProvider;
 import org.apache.cocoon.util.location.Locatable;
 import org.apache.cocoon.util.location.LocatedRuntimeException;
 import org.apache.cocoon.util.location.Location;
@@ -45,15 +44,15 @@
  */
 public class JavaScriptSelectionList implements FilterableSelectionList, Locatable {
 
-    private Context context;
+    private ProcessInfoProvider processInfoProvider;
     private Datatype type;
     private Function function;
     private Location location = null;
     private boolean labelIsI18nKey = false;
     private String i18nCatalog = null;
     
-    public JavaScriptSelectionList(Context context, Datatype type, Function function, String catalogue, Location location) {
-        this.context = context;
+    public JavaScriptSelectionList(ProcessInfoProvider processInfoProvider, Datatype type, Function function, String catalogue, Location location) {
+        this.processInfoProvider = processInfoProvider;
         this.type = type;
         this.function = function;
         this.location = location;
@@ -74,7 +73,7 @@
     }
 
     public void generateSaxFragment(ContentHandler contentHandler, Locale locale, String filter) throws SAXException {
-        Map objectModel = ContextHelper.getObjectModel(this.context);
+        Map objectModel = processInfoProvider.getObjectModel();
         Object result;
         try {
             result = JavaScriptHelper.callFunction(function, null /*this*/, new Object[] {filter}, objectModel);

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionListBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionListBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionListBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionListBuilder.java Fri Sep 28 04:33:12 2007
@@ -16,11 +16,9 @@
  */
 package org.apache.cocoon.forms.datatype;
 
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
 import org.apache.cocoon.forms.util.DomHelper;
 import org.apache.cocoon.forms.util.JavaScriptHelper;
+import org.apache.cocoon.processing.ProcessInfoProvider;
 import org.mozilla.javascript.Function;
 import org.w3c.dom.Element;
 
@@ -45,20 +43,21 @@
  * @since 2.1.9
  * @version $Id$
  */
-public class JavaScriptSelectionListBuilder implements SelectionListBuilder, Contextualizable {
-
-    private Context context;
-
-    public void contextualize(Context context) throws ContextException {
-        this.context = context;
-    }
+public class JavaScriptSelectionListBuilder implements SelectionListBuilder {
 
+    private ProcessInfoProvider processInfoProvider;
+    
     public SelectionList build(Element selectionListElement, Datatype datatype) throws Exception {
 
         String i18nCatalog = DomHelper.getAttribute(selectionListElement, "catalogue", null);
         
         Function function = JavaScriptHelper.buildFunction(selectionListElement, "buildSelectionList", new String[] { "filter" });
 
-        return new JavaScriptSelectionList(context, datatype, function, i18nCatalog, DomHelper.getLocationObject(selectionListElement));
+        return new JavaScriptSelectionList(processInfoProvider, datatype, function, i18nCatalog, DomHelper.getLocationObject(selectionListElement));
+    }
+
+    public void setProcessInfoProvider( ProcessInfoProvider processInfoProvider )
+    {
+        this.processInfoProvider = processInfoProvider;
     }
 }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java Fri Sep 28 04:33:12 2007
@@ -16,59 +16,49 @@
  */
 package org.apache.cocoon.forms.datatype;
 
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
-import org.apache.avalon.framework.service.Serviceable;
-import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.avalon.framework.component.Component;
-
-import org.apache.cocoon.components.LifecycleHelper;
 import org.apache.cocoon.forms.util.DomHelper;
+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.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
 /**
- * Builds {@link SelectionList}s from a JavaSelectionList class
+ * Builds {@link SelectionList}s from a JavaSelectionList classes configured in Spring context
  *
  * @version $Id$
  */
-public class JavaSelectionListBuilder extends AbstractLogEnabled
-                                      implements SelectionListBuilder,
-                                                 Contextualizable, Serviceable, ThreadSafe, Component {
-
-    /**
-     * The Avalon Context
-     */
-    private Context context;
-
-    /**
-     * The Service Manager
-     */
-	private ServiceManager manager;
+public class JavaSelectionListBuilder implements SelectionListBuilder, BeanFactoryAware {
 
-    public void contextualize(Context context) throws ContextException {
-        this.context = context;
-    }
+    private static Log LOG = LogFactory.getLog( JavaSelectionListBuilder.class );
+    private BeanFactory beanFactory;
 
-    public void service(ServiceManager manager) throws ServiceException {
-        this.manager = manager;
+    public void setBeanFactory( BeanFactory beanFactory )
+                                                  throws BeansException
+    {
+        this.beanFactory = beanFactory;
     }
-
+    
 	public SelectionList build(Element selectionListElement, Datatype datatype)
     throws Exception {
-		String className = DomHelper.getAttribute(selectionListElement, "class");
+        
+        // hard way deprecation
+        if (DomHelper.getAttribute(selectionListElement, "class", null) != null) {
+            throw new RuntimeException("The 'class' attribute is not supported anymore at " 
+                                       + DomHelper.getLocationObject( selectionListElement )
+                                       + ". Use a 'ref' attribute to address a Spring bean");
+        }
+
+        String beanRef = DomHelper.getAttribute(selectionListElement, "ref");
 		boolean nullable = DomHelper.getAttributeAsBoolean(selectionListElement, "nullable", true);
 
 		try {
-			Class clasz = Thread.currentThread().getContextClassLoader().loadClass(className);
-			if (JavaSelectionList.class.isAssignableFrom(clasz)) {
-				JavaSelectionList list = (JavaSelectionList) clasz.newInstance();
-				LifecycleHelper.setupComponent(list, getLogger(), this.context, this.manager, null, true);
+			Object bean = beanFactory.getBean(beanRef);
+			if (bean != null && bean instanceof JavaSelectionList) {
+				JavaSelectionList list = (JavaSelectionList) bean;
 				list.setDatatype(datatype);
 				list.setNullable(nullable);
 
@@ -83,12 +73,19 @@
 
 				return list;
 			} else {
-                getLogger().warn("Class " + className + " does not implement JavaSelectionList, returning empty selection list.");
+                LOG.warn("Spring bean reference " + beanRef + " is not a " 
+                         + JavaSelectionList.class.getName() + ", , returning empty selection list: " 
+                         + DomHelper.getLocationObject( selectionListElement ).getDescription());
 				return new StaticSelectionList(datatype);
 			}
+		} catch (BeansException be) {
+            LOG.warn("Spring bean reference " + beanRef 
+                     + " does not exist, returning empty selection list: "
+                     + DomHelper.getLocationObject( selectionListElement ).getDescription());
+            return new StaticSelectionList(datatype);
 		} catch (Exception e) {
-            if (getLogger().isDebugEnabled()) {
-                getLogger().debug("Got exception in build, re-throwing", e);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Got exception in build, re-throwing", e);
             }
 			throw e;
 		}

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertor.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertor.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertor.java Fri Sep 28 04:33:12 2007
@@ -16,7 +16,6 @@
  */
 package org.apache.cocoon.forms.datatype.convertor;
 
-import org.apache.avalon.framework.CascadingRuntimeException;
 import org.apache.commons.collections.map.ReferenceMap;
 import org.apache.commons.jxpath.JXPathContext;
 
@@ -64,7 +63,7 @@
         try {
             m_class = Thread.currentThread().getContextClassLoader().loadClass(className);
         } catch (ClassNotFoundException e) {
-            throw new CascadingRuntimeException("Class " + className + " not found", e);
+            throw new RuntimeException("Class " + className + " not found", e);
         }
 
         m_idPath = idPath;

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -5,9 +5,9 @@
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- *
+ * 
  *      http://www.apache.org/licenses/LICENSE-2.0
- *
+ * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,64 +16,7 @@
  */
 package org.apache.cocoon.forms.datatype.convertor;
 
-import org.apache.cocoon.forms.FormsConstants;
-import org.apache.cocoon.forms.util.DomHelper;
-
-import org.w3c.dom.Element;
-
-
-/**
- * Creates {@link BeanConvertor}s
- * 
- * <p>
- * The optional &lt;fd:bean&gt;FQCN&lt;/fd:bean&gt; attribute is used to give 
- * this convertor a hint of which concrete bean class we are going to work with.
- * If this attribute is not specified java.lang.Object is used.
- * <p>
- * Sometimes the toString() method doesn't give a good representation of a
- * Java Bean suited for selection list IDs. For this an optional  
- * &lt;fd:id-path&gt;jx-path&lt;/fd:id-path&gt; attribute can be specified to 
- * have this convertor to use a different string representation.
- * </p>
- *
- * @version $Id$
- */
-public class BeanConvertorBuilder
-    implements ConvertorBuilder
+public interface BeanConvertorBuilder
+    extends ConvertorBuilder
 {
-    //~ Methods ----------------------------------------------------------------
-
-    /**
-     * Build a {@link BeanConvertor}
-     *
-     * @param configElement The configuration element
-     *
-     * @return An initialized {@link Convertor}
-     *
-     * @throws Exception In case of failure
-     */
-    public Convertor build( final Element configElement )
-        throws Exception
-    {
-        if( configElement == null )
-        {
-            return null;
-        }
-
-        final Element beanEl =
-            DomHelper.getChildElement( configElement, FormsConstants.DEFINITION_NS,
-                                       "bean", false );
-        final String clazz =
-            ( ( beanEl == null ) ? Object.class.getName(  )
-              : beanEl.getFirstChild(  ).getNodeValue(  ) );
-        final Element idPathEl =
-            DomHelper.getChildElement( configElement, FormsConstants.DEFINITION_NS,
-                                       "id-path", false );
-        final String idPath =
-            ( ( idPathEl != null )
-              ? idPathEl.getFirstChild(  ).getNodeValue(  ) : null );
-        final BeanConvertor convertor = new BeanConvertor( clazz, idPath );
-
-        return convertor;
-    }
 }

Added: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java?rev=580312&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java (added)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.datatype.convertor;
+
+public interface BooleanConvertorBuilder
+    extends ConvertorBuilder
+{
+}

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Id

Added: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java?rev=580312&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java (added)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.datatype.convertor;
+
+public interface DateConvertorBuilder
+    extends ConvertorBuilder
+{
+}

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Id

Added: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java?rev=580312&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java (added)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.datatype.convertor;
+
+public interface DecimalConvertorBuilder
+    extends ConvertorBuilder
+{
+}

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Id

Added: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java?rev=580312&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java (added)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.datatype.convertor;
+
+public interface DoubleConvertorBuilder
+    extends ConvertorBuilder
+{
+}

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -23,7 +23,7 @@
  *
  * @version $Id$
  */
-public class DummyStringConvertorBuilder implements ConvertorBuilder {
+public class DummyStringConvertorBuilder implements StringConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {
         return new DummyStringConvertor();
     }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java Fri Sep 28 04:33:12 2007
@@ -21,7 +21,6 @@
 import java.lang.reflect.Modifier;
 import java.util.Locale;
 
-import org.apache.avalon.framework.CascadingRuntimeException;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
 
@@ -48,7 +47,7 @@
             clazz = Thread.currentThread().getContextClassLoader().loadClass(className);
         }
         catch (ClassNotFoundException e) {
-            throw new CascadingRuntimeException("Class " + className + " not found", e);
+            throw new RuntimeException("Class " + className + " not found", e);
         }
     }
 
@@ -77,7 +76,7 @@
                 return new ConversionResult(field.get(null));
             }
         } catch (Exception e) {
-            throw new CascadingRuntimeException("Got exception trying to convert " + value, e);
+            throw new RuntimeException("Got exception trying to convert " + value, e);
         }
     }
 
@@ -99,7 +98,7 @@
                     return clazz.getName() + "." + fields[i].getName();
                 }
             } catch (Exception e) {
-                throw new CascadingRuntimeException("Got exception trying to get value of field " + fields[i], e);
+                throw new RuntimeException("Got exception trying to get value of field " + fields[i], e);
             }
         }
         // Fall back on toString

Added: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java?rev=580312&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java (added)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -0,0 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.forms.datatype.convertor;
+
+public interface FloatConvertorBuilder
+    extends ConvertorBuilder
+{
+}

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -29,7 +29,7 @@
  *
  * @version $Id$
  */
-public class FormattingDateConvertorBuilder implements ConvertorBuilder {
+public class FormattingDateConvertorBuilder implements DateConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {
         FormattingDateConvertor convertor = new FormattingDateConvertor();
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -28,7 +28,7 @@
  *
  * @version $Id$
  */
-public class FormattingDecimalConvertorBuilder implements ConvertorBuilder {
+public class FormattingDecimalConvertorBuilder implements DecimalConvertorBuilder {
     public Convertor build(Element configElement) throws Exception {
         FormattingDecimalConvertor convertor = createConvertor();
 

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -21,7 +21,7 @@
  *
  * @version $Id$
  */
-public class FormattingDoubleConvertorBuilder extends FormattingDecimalConvertorBuilder {
+public class FormattingDoubleConvertorBuilder extends FormattingDecimalConvertorBuilder implements DoubleConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {
         return new FormattingDoubleConvertor();
     }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -21,7 +21,7 @@
  *
  * @version $Id$
  */
-public class FormattingFloatConvertorBuilder extends FormattingDecimalConvertorBuilder {
+public class FormattingFloatConvertorBuilder extends FormattingDecimalConvertorBuilder implements FloatConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {
         return new FormattingFloatConvertor();
     }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -21,7 +21,7 @@
  * 
  * @version $Id$
  */
-public class FormattingIntegerConvertorBuilder extends FormattingDecimalConvertorBuilder {
+public class FormattingIntegerConvertorBuilder extends FormattingDecimalConvertorBuilder implements IntegerConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {
         return new FormattingIntegerConvertor();
     }

Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java Fri Sep 28 04:33:12 2007
@@ -21,7 +21,7 @@
  *
  * @version $Id$
  */
-public class FormattingLongConvertorBuilder extends FormattingDecimalConvertorBuilder {
+public class FormattingLongConvertorBuilder extends FormattingDecimalConvertorBuilder implements LongConvertorBuilder {
     protected FormattingDecimalConvertor createConvertor() {
         return new FormattingLongConvertor();
     }