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 [1/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...
Author: giacomo
Date: Fri Sep 28 04:33:12 2007
New Revision: 580312
URL: http://svn.apache.org/viewvc?rev=580312&view=rev
Log:
Springified CForms (as much as possible)
Added:
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BooleanConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DateConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DecimalConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DoubleConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FloatConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/IntegerConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/LongConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainBeanConvertorBuilder.java
- copied, changed from r574825, cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainCharConvertorBuilder.java
- copied, changed from r574825, cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/CharConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainEnumConvertorBuilder.java
- copied, changed from r574825, cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/StringConvertorBuilder.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/event/ConfigurableWidgetListener.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/ConfigurableWidgetValidator.java (with props)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/META-INF/cocoon/spring/cocoon-forms.xml (with props)
Removed:
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/CharConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/samples/
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/util/SimpleServiceSelector.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/META-INF/cocoon/avalon/
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/resources/org/apache/cocoon/forms/forms.roles
Modified:
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/ (props changed)
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/pom.xml
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultCacheManager.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultFormManager.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/EnhancedRepeaterJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBindingBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/RepeaterJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SetAttributeJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/SimpleRepeaterJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/TempRepeaterJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/UnionJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ValueJXPathBinding.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/Library.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/library/LibraryManagerImpl.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/AbstractJavaSelectionList.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DatatypeBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultDatatypeManager.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DefaultSelectionListBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/DynamicSelectionList.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionListBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionList.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaScriptSelectionListBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/JavaSelectionListBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertor.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/BeanConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/DummyStringConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertor.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDateConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDecimalConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingDoubleConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingFloatConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingIntegerConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/FormattingLongConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/HtmlCleaningConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/Icu4jDateConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/MillisDateConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainBooleanConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainDecimalConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainDoubleConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainFloatConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainIntegerConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/convertor/PlainLongConvertorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/typeimpl/AbstractDatatypeBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRuleBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/event/impl/JavaClassWidgetListenerBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListener.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/event/impl/JavaScriptWidgetListenerBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/event/impl/RequiredControl.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/expression/DefaultExpressionManager.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/AbstractDatatypeWidgetDefinition.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/AbstractDatatypeWidgetDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/AbstractWidgetDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/CalculatedFieldDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/CaptchaDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/CaptchaField.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/CaptchaFieldDefinition.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/FormDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/RepeaterActionDefinition.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/RepeaterFilterField.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/AbstractBaseAlgorithm.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/AbstractBaseAlgorithmBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/JavaAlgorithmBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/JavaScript.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/RepeatedFormula.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/SimpleFormula.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/algorithms/SimpleFormulaBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/library/Library.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/library/LibraryManagerImpl.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/DefaultTreeModel.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/JavaTreeModelDefinition.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/SourceTreeModel.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/builder/JavaTreeModelDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/builder/SourceTreeModelDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/formmodel/tree/builder/TreeDefinitionBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/util/DomHelper.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/util/JavaScriptHelper.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/AbstractJavaValidator.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/CaptchaValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/JavaClassValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidator.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/test/java/org/apache/cocoon/forms/datatype/convertor/EnumConvertorBuilderTestCase.java
cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/status.xml
Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Sep 28 04:33:12 2007
@@ -7,3 +7,4 @@
*.iml
*.iws
.settings
+.springBeans
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/pom.xml?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/pom.xml (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/pom.xml Fri Sep 28 04:33:12 2007
@@ -33,7 +33,7 @@
</parent>
<artifactId>cocoon-forms-impl</artifactId>
<name>Cocoon Forms Block Implementation</name>
- <version>1.0.0-RC2-SNAPSHOT</version>
+ <version>1.1.0-SNAPSHOT</version>
<url>http://cocoon.apache.org/${docs.m.forms.relPath}</url>
<build>
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultCacheManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultCacheManager.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultCacheManager.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultCacheManager.java Fri Sep 28 04:33:12 2007
@@ -18,10 +18,6 @@
import java.util.Map;
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.component.Component;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceValidity;
@@ -32,8 +28,7 @@
*
* @version $Id$
*/
-public class DefaultCacheManager extends AbstractLogEnabled
- implements CacheManager, Disposable, ThreadSafe, Component {
+public class DefaultCacheManager implements CacheManager {
// NOTE: Component is there to allow this block to also run in the 2.1 branch
// FIXME Unbounded map - the road to OOME
@@ -42,10 +37,6 @@
public DefaultCacheManager() {
this.cache = new FastHashMap();
- }
-
- public void dispose() {
- this.cache = null;
}
public Object get(Source source, String prefix) {
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultFormManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultFormManager.java?rev=580312&r1=580311&r2=580312&view=diff
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultFormManager.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/DefaultFormManager.java Fri Sep 28 04:33:12 2007
@@ -16,138 +16,51 @@
*/
package org.apache.cocoon.forms;
-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.container.ContainerUtil;
-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.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.Logger;
-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.avalon.framework.context.Context;
+import org.apache.cocoon.core.xml.SAXParser;
import org.apache.cocoon.forms.formmodel.Form;
import org.apache.cocoon.forms.formmodel.FormDefinition;
import org.apache.cocoon.forms.formmodel.FormDefinitionBuilder;
-import org.apache.cocoon.forms.formmodel.WidgetDefinitionBuilder;
-import org.apache.cocoon.forms.formmodel.library.LibraryManager;
-import org.apache.cocoon.forms.formmodel.library.LibraryManagerImpl;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.forms.util.SimpleServiceSelector;
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.w3c.dom.Element;
import org.xml.sax.InputSource;
+import java.util.Map;
+
/**
* Component implementing the {@link FormManager} role.
*
* @version $Id$
*/
-public class DefaultFormManager extends AbstractLogEnabled
- implements FormManager, Contextualizable, Serviceable, Configurable,
- Disposable, ThreadSafe, Component {
+public class DefaultFormManager implements FormManager {
// NOTE: Component is there to allow this block to run in the 2.1 branch
private static final String PREFIX = "CocoonForms:";
-
- private Context avalonContext;
- protected ServiceManager manager;
- protected SimpleServiceSelector widgetDefinitionBuilderSelector;
+ private static Log LOG = LogFactory.getLog( DefaultFormManager.class );
+ protected Map widgetDefinitionBuilders;
protected CacheManager cacheManager;
+ private Context avalonContext;
- protected LibraryManager libraryManager;
-
- //
- // Lifecycle
- //
-
- public DefaultFormManager() {
- widgetDefinitionBuilderSelector = new SimpleServiceSelector("widget", WidgetDefinitionBuilder.class);
- this.libraryManager = new LibraryManagerImpl();
- }
-
- /**
- * @see org.apache.avalon.framework.logger.AbstractLogEnabled#enableLogging(org.apache.avalon.framework.logger.Logger)
- */
- public void enableLogging(Logger logger) {
- super.enableLogging(logger);
- widgetDefinitionBuilderSelector.enableLogging(getLogger());
- ContainerUtil.enableLogging(this.libraryManager, getLogger().getChildLogger("library"));
- }
-
- /**
- * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
- */
- public void contextualize(Context context) throws ContextException {
- this.avalonContext = context;
- widgetDefinitionBuilderSelector.contextualize(avalonContext);
- ContainerUtil.contextualize(this.libraryManager, avalonContext);
- }
-
- /** Temporary internal method, don't rely on it's existence! Needed to access the context from flowscript. */
- // FIXME (SW). Extending the FOM is needed.
- public Context getAvalonContext() {
- return this.avalonContext;
- }
-
- /**
- * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
- */
- public void service(ServiceManager manager) throws ServiceException {
- this.manager = manager;
- this.cacheManager = (CacheManager) manager.lookup(CacheManager.ROLE);
- widgetDefinitionBuilderSelector.service(new FormServiceManager());
- ContainerUtil.service(this.libraryManager, new FormServiceManager());
- }
-
- /**
- * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
- */
- public void configure(Configuration configuration) throws ConfigurationException {
- ContainerUtil.configure(this.libraryManager, configuration.getChild("libraries"));
- widgetDefinitionBuilderSelector.configure(configuration.getChild("widgets"));
- }
-
- /**
- * @see org.apache.avalon.framework.activity.Disposable#dispose()
- */
- public void dispose() {
- if (this.widgetDefinitionBuilderSelector != null) {
- this.widgetDefinitionBuilderSelector.dispose();
- this.widgetDefinitionBuilderSelector = null;
- }
- if (this.libraryManager != null) {
- ContainerUtil.dispose(this.libraryManager);
- this.libraryManager = null;
- }
- if (this.cacheManager != null) {
- this.manager.release(this.cacheManager);
- this.cacheManager = null;
- }
- this.manager = null;
- }
+ private SourceResolver sourceResolver;
+ private SAXParser parser;
//
// Business Methods
//
public Form createForm(String uri) throws Exception {
- SourceResolver resolver = null;
Source source = null;
try {
try {
- resolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
- source = resolver.resolveURI(uri);
+ source = sourceResolver.resolveURI(uri);
} catch (Exception e) {
throw new FormsException("Could not resolve form definition URI.",
e, new LocationImpl("[FormManager]", uri));
@@ -155,10 +68,7 @@
return createForm(source);
} finally {
if (source != null) {
- resolver.release(source);
- }
- if (resolver != null) {
- manager.release(resolver);
+ sourceResolver.release(source);
}
}
}
@@ -177,11 +87,9 @@
}
public FormDefinition createFormDefinition(String uri) throws Exception {
- SourceResolver sourceResolver = null;
Source source = null;
try {
try {
- sourceResolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
source = sourceResolver.resolveURI(uri);
} catch (Exception e) {
throw new FormsException("Could not resolve form definition.",
@@ -192,9 +100,6 @@
if (source != null) {
sourceResolver.release(source);
}
- if (sourceResolver != null) {
- manager.release(sourceResolver);
- }
}
}
@@ -205,15 +110,15 @@
}
if (formDefinition == null) {
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("Building Form: " + source.getURI());
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Building Form: " + source.getURI());
}
Document formDocument;
try {
InputSource inputSource = new InputSource(source.getInputStream());
inputSource.setSystemId(source.getURI());
- formDocument = DomHelper.parse(inputSource, this.manager);
+ formDocument = DomHelper.parse(inputSource, parser);
} catch (Exception e) {
throw new FormsException("Could not parse form definition.",
e, new LocationImpl("[FormManager]", source.getURI()));
@@ -233,39 +138,41 @@
DomHelper.getLocationObject(formElement));
}
- FormDefinitionBuilder builder = (FormDefinitionBuilder) widgetDefinitionBuilderSelector.select("form");
+ FormDefinitionBuilder builder = (FormDefinitionBuilder) widgetDefinitionBuilders.get("form");
+ if (builder == null) {
+ throw new Exception("Cannot find FormDefinitionBuilder 'form'");
+ }
return (FormDefinition) builder.buildWidgetDefinition(formElement);
}
- private class FormServiceManager implements ServiceManager {
- final String WIDGET_DEFINITION_BUILDER_SELECTOR_ROLE = WidgetDefinitionBuilder.class.getName() + "Selector";
- final String LIBRARY_MANAGER_ROLE = LibraryManager.ROLE;
+ public void setWidgetDefinitionBuilders( Map widgetDefinitionBuilders )
+ {
+ this.widgetDefinitionBuilders = widgetDefinitionBuilders;
+ }
- public Object lookup(String name) throws ServiceException {
- if (WIDGET_DEFINITION_BUILDER_SELECTOR_ROLE.equals(name)) {
- return widgetDefinitionBuilderSelector;
- } else if(LIBRARY_MANAGER_ROLE.equals(name)) {
- return libraryManager;
- } else {
- return manager.lookup(name);
- }
- }
+ public void setCacheManager( CacheManager cacheManager )
+ {
+ this.cacheManager = cacheManager;
+ }
- public boolean hasService(String name) {
- if (WIDGET_DEFINITION_BUILDER_SELECTOR_ROLE.equals(name)) {
- return true;
- } else if(LIBRARY_MANAGER_ROLE.equals(name)) {
- return true;
- } else {
- return manager.hasService(name);
- }
- }
+ public void setParser( SAXParser parser )
+ {
+ this.parser = parser;
+ }
- public void release(Object service) {
- if (service != widgetDefinitionBuilderSelector && service != libraryManager) {
- manager.release(service);
- }
- }
+ public void setSourceResolver( SourceResolver sourceResolver )
+ {
+ this.sourceResolver = sourceResolver;
+ }
+
+ public void setAvalonContext( Context avalonContext )
+ {
+ this.avalonContext = avalonContext;
+ }
+
+ public Context getAvalonContext()
+ {
+ return avalonContext;
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.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/AggregateJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/AggregateJXPathBinding.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;
/**
* AggregateJXPathBinding provides an implementation of a {@link Binding}
@@ -34,6 +36,7 @@
*/
public class AggregateJXPathBinding extends ComposedJXPathBindingBase {
+ private static Log LOG = LogFactory.getLog( AggregateJXPathBinding.class );
private final String xpath;
private final String widgetId;
@@ -69,8 +72,8 @@
jxpc.getRelativeContext(jxpc.getPointer(this.xpath));
super.doLoad(aggregate, subContext);
aggregate.combineFields();
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("Done loading " + this);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Done loading " + this);
}
}
@@ -86,8 +89,8 @@
JXPathContext subContext =
jxpc.getRelativeContext(jxpc.getPointer(this.xpath));
super.doSave(aggregate, 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/CaseJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.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/CaseJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CaseJXPathBinding.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;
/**
* CaseJXPathBinding provides an implementation of a {@link Binding}
@@ -34,6 +36,7 @@
*/
public class CaseJXPathBinding extends ComposedJXPathBindingBase {
+ private static Log LOG = LogFactory.getLog( CaseJXPathBinding.class );
private final String xpath;
private final String widgetId;
@@ -72,8 +75,8 @@
subBindings[i].loadFormFromModel(unionWidget, jxpc);
}
}
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("done loading " + this);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("done loading " + this);
}
}
}
@@ -94,8 +97,8 @@
subBindings[i].saveFormToModel(unionWidget, jxpc);
}
}
- 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/ComposedJXPathBindingBase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.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/ComposedJXPathBindingBase.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ComposedJXPathBindingBase.java Fri Sep 28 04:33:12 2007
@@ -19,8 +19,6 @@
import java.util.Collections;
import java.util.HashMap;
-import org.apache.avalon.framework.logger.Logger;
-
import org.apache.cocoon.forms.formmodel.Widget;
import org.apache.commons.jxpath.JXPathContext;
@@ -49,19 +47,6 @@
if (this.subBindings != null) {
for (int i = 0; i < this.subBindings.length; i++) {
this.subBindings[i].setParent(this);
- }
- }
- }
-
- /**
- * Receives the logger to use for logging activity, and hands it over to
- * the nested children.
- */
- public void enableLogging(Logger logger) {
- super.enableLogging(logger);
- if (this.subBindings != null) {
- for (int i = 0; i < this.subBindings.length; i++) {
- this.subBindings[i].enableLogging(logger);
}
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.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/ContextJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/ContextJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -16,14 +16,14 @@
*/
package org.apache.cocoon.forms.binding;
-import org.apache.avalon.framework.CascadingRuntimeException;
-
import org.apache.cocoon.forms.formmodel.Widget;
import org.apache.cocoon.util.ClassUtils;
import org.apache.commons.jxpath.AbstractFactory;
import org.apache.commons.jxpath.JXPathContext;
import org.apache.commons.jxpath.Pointer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* ContextJXPathBinding provides an implementation of a {@link Binding}
@@ -34,6 +34,8 @@
*/
public class ContextJXPathBinding extends ComposedJXPathBindingBase {
+ private static Log LOG = LogFactory.getLog( ContextJXPathBinding.class );
+
/**
* the relative contextPath for the sub-bindings of this context
*/
@@ -68,7 +70,7 @@
try {
this.factory = (AbstractFactory) ClassUtils.newInstance(factoryClassName);
} catch (Exception e) {
- throw new CascadingRuntimeException("Cannot create an instance of " + factoryClassName, e);
+ throw new RuntimeException("Cannot create an instance of " + factoryClassName, e);
}
}
}
@@ -86,12 +88,12 @@
if (ptr.getNode() != null) {
JXPathContext subContext = jxpc.getRelativeContext(ptr);
super.doLoad(frmModel, subContext);
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("done loading " + this);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("done loading " + this);
}
} else {
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("non-existent path: skipping " + this);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("non-existent path: skipping " + this);
}
}
}
@@ -112,8 +114,8 @@
}
JXPathContext subContext = jxpc.getRelativeContext(ptr);
super.doSave(frmModel, 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/CustomJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBinding.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/CustomJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -16,10 +16,6 @@
*/
package org.apache.cocoon.forms.binding;
-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.binding.JXPathBindingBuilderBase.CommonAttributes;
import org.apache.cocoon.forms.formmodel.Widget;
@@ -28,8 +24,7 @@
/**
* CustomJXPathBinding
*/
-public class CustomJXPathBinding extends JXPathBindingBase
- implements Serviceable {
+public class CustomJXPathBinding extends JXPathBindingBase {
/**
* The id of the cforms widget
@@ -91,14 +86,5 @@
public void doSave(Widget frmModel, JXPathContext jxpc) throws BindingException {
Widget selectedWidget = selectWidget(frmModel, this.widgetId);
this.wrappedBinding.saveFormToModel(selectedWidget, jxpc);
- }
-
- /**
- * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
- */
- public void service(ServiceManager manager) throws ServiceException {
- if (wrappedBinding instanceof Serviceable) {
- ((Serviceable) wrappedBinding).service(manager);
- }
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.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/CustomJXPathBindingBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/CustomJXPathBindingBuilder.java Fri Sep 28 04:33:12 2007
@@ -18,10 +18,14 @@
import java.lang.reflect.Method;
-import org.apache.cocoon.components.LifecycleHelper;
import org.apache.cocoon.forms.binding.JXPathBindingManager.Assistant;
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;
/**
@@ -51,8 +55,11 @@
*
* @version $Id$
*/
-public class CustomJXPathBindingBuilder extends JXPathBindingBuilderBase {
+public class CustomJXPathBindingBuilder extends JXPathBindingBuilderBase implements BeanFactoryAware {
+ private BeanFactory beanFactory;
+
+ private static Log LOG = LogFactory.getLog( ValueJXPathBinding.class );
private static final Class[] DOMELEMENT_METHODARGS;
private static final Class[] EMPTY_METHODARGS;
@@ -61,6 +68,12 @@
DOMELEMENT_METHODARGS[0] = Element.class;
EMPTY_METHODARGS = null;
}
+
+ public void setBeanFactory( BeanFactory beanFactory )
+ throws BeansException
+ {
+ this.beanFactory = beanFactory;
+ }
/**
* Builds the custom Binding class and wraps it into a CustomJXPathBinding
@@ -74,6 +87,18 @@
throws BindingException {
try {
+ // hard way deprecation
+ if (DomHelper.getAttribute(bindingElm, "class", null) != null) {
+ throw new RuntimeException("The 'class' attribute is not supported anymore at "
+ + DomHelper.getLocationObject( bindingElm )
+ + ". Use a 'ref' attribute to address a Spring bean");
+ }
+ if (DomHelper.getAttribute(bindingElm, "builderclass", null) != null) {
+ throw new RuntimeException("The 'builderclass' attribute is not supported anymore at "
+ + DomHelper.getLocationObject( bindingElm )
+ + ". Use a 'builderref' attribute to address a Spring bean");
+ }
+
CommonAttributes commonAtts =
JXPathBindingBuilderBase.getCommonAttributes(bindingElm);
String xpath = DomHelper.getAttribute(bindingElm, "path", ".");
@@ -81,26 +106,26 @@
Object bindingInstance = null;
- String className = DomHelper.getAttribute(bindingElm, "class", null);
- if(className != null) {
- Class clazz = Thread.currentThread().getContextClassLoader().loadClass(className);
- bindingInstance = clazz.newInstance();
+
+ String beanRef = DomHelper.getAttribute(bindingElm, "ref", null);
+ if(beanRef != null) {
+ bindingInstance = beanFactory.getBean( beanRef );
} else {
- String builderClassName =
- DomHelper.getAttribute(bindingElm, "builderclass", null);
+ String builderRefName =
+ DomHelper.getAttribute(bindingElm, "builderref", null);
String factoryMethodName =
DomHelper.getAttribute(bindingElm, "factorymethod", null);
Element configNode =
DomHelper.getChildElement(bindingElm, BindingManager.NAMESPACE, "config");
// only do it if attributes exist
- if (builderClassName != null && factoryMethodName != null) {
- Class builderClass = Class.forName(builderClassName);
+ if (builderRefName != null && factoryMethodName != null) {
+ Object builder = beanFactory.getBean( builderRefName );
Method factoryMethod;
Object[] args = null;
try {
- factoryMethod = builderClass.getMethod(factoryMethodName, DOMELEMENT_METHODARGS);
+ factoryMethod = builder.getClass().getMethod(factoryMethodName, DOMELEMENT_METHODARGS);
args = new Object[1];
args[0] = configNode;
} catch (NoSuchMethodException e) {
@@ -108,7 +133,7 @@
}
if (factoryMethod == null) {
- factoryMethod = builderClass.getMethod(factoryMethodName, EMPTY_METHODARGS);
+ factoryMethod = builder.getClass().getMethod(factoryMethodName, EMPTY_METHODARGS);
args = null;
}
@@ -135,9 +160,6 @@
CustomJXPathBinding customBinding =
new CustomJXPathBinding(commonAtts, widgetId, xpath, (AbstractCustomBinding)bindingInstance);
-
- // Fire Avalon-setup for the custom binding
- LifecycleHelper.setupComponent(customBinding, getLogger(), null, assistant.getServiceManager(), null);
return customBinding;
} catch (BindingException e) {
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/EnhancedRepeaterJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/EnhancedRepeaterJXPathBinding.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/EnhancedRepeaterJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/EnhancedRepeaterJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -18,8 +18,6 @@
import java.util.Iterator;
-import org.apache.avalon.framework.CascadingRuntimeException;
-
import org.apache.cocoon.forms.binding.JXPathBindingBuilderBase.CommonAttributes;
import org.apache.cocoon.forms.formmodel.EnhancedRepeater;
import org.apache.cocoon.forms.formmodel.Repeater;
@@ -60,7 +58,7 @@
try {
adapter = (RepeaterAdapter) Thread.currentThread().getContextClassLoader().loadClass(this.adapterClass).newInstance();
} catch (Exception e) {
- throw new CascadingRuntimeException("Cannot instantiate adapter class for advanced repeater binding", e);
+ throw new RuntimeException("Cannot instantiate adapter class for advanced repeater binding", e);
}
} else {
adapter = new RepeaterJXPathAdapter();
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.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/InsertBeanJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertBeanJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -18,11 +18,11 @@
import java.lang.reflect.Method;
-import org.apache.avalon.framework.CascadingRuntimeException;
-
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;
/**
* InsertBeanJXPathBinding provides an implementation of a {@link Binding}
@@ -38,6 +38,8 @@
*/
public class InsertBeanJXPathBinding extends JXPathBindingBase {
+ private static Log LOG = LogFactory.getLog( InsertBeanJXPathBinding.class );
+
private final String className;
private final String addMethodName;
@@ -93,11 +95,11 @@
// invoke this method with this new beast.
addMethod.invoke(parent, args);
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("InsertBean performed.");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("InsertBean performed.");
}
} catch (Exception e) {
- throw new CascadingRuntimeException("InsertBean failed.", e);
+ throw new RuntimeException("InsertBean failed.", e);
}
// jxpc.setFactory(new AbstractFactory() {
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.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/InsertNodeJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBinding.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;
import org.w3c.dom.Document;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Node;
@@ -37,6 +39,8 @@
*/
public class InsertNodeJXPathBinding extends JXPathBindingBase {
+ private static Log LOG = LogFactory.getLog( InsertNodeJXPathBinding.class );
+
private final DocumentFragment template;
/**
@@ -70,8 +74,8 @@
Node toInsert = targetDoc.importNode(this.template, true);
parentNode.appendChild(toInsert);
- if (getLogger().isDebugEnabled())
- getLogger().debug("InsertNode executed.");
+ if (LOG.isDebugEnabled())
+ LOG.debug("InsertNode executed.");
// jxpc.setFactory(new AbstractFactory() {
// public boolean createObject(JXPathContext context, Pointer pointer,
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.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/InsertNodeJXPathBindingBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/InsertNodeJXPathBindingBuilder.java Fri Sep 28 04:33:12 2007
@@ -16,7 +16,6 @@
*/
package org.apache.cocoon.forms.binding;
-import org.apache.avalon.framework.service.ServiceManager;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.xml.xpath.XPathProcessor;
@@ -47,6 +46,9 @@
*/
public class InsertNodeJXPathBindingBuilder extends JXPathBindingBuilderBase {
+ private SourceResolver sourceResolver;
+ private XPathProcessor xpathProcessor;
+
/**
* Creates an instance of {@link InsertNodeJXPathBinding} configured
* with the nested template of the bindingElm.
@@ -62,8 +64,6 @@
String src = DomHelper.getAttribute(bindingElm, "src", null);
if (src != null) {
- ServiceManager manager = assistant.getServiceManager();
- SourceResolver sourceResolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
Source source = null;
try {
source = sourceResolver.resolveURI(src);
@@ -72,21 +72,16 @@
String xpath = DomHelper.getAttribute(bindingElm, "xpath", null);
if (xpath != null) {
- XPathProcessor xpathProcessor = (XPathProcessor) manager.lookup(XPathProcessor.ROLE);
- try {
- Node node = xpathProcessor.selectSingleNode(document, xpath);
- if (node == null) {
- throw new BindingException("XPath expression '" + xpath + "' didn't return a result.",
- DomHelper.getLocationObject(bindingElm));
- }
- if (!(node instanceof Element)) {
- throw new BindingException("XPath expression '" + xpath + "' did not return an element node.",
- DomHelper.getLocationObject(bindingElm));
- }
- element = (Element) node;
- } finally {
- manager.release(xpathProcessor);
+ Node node = xpathProcessor.selectSingleNode(document, xpath);
+ if (node == null) {
+ throw new BindingException("XPath expression '" + xpath + "' didn't return a result.",
+ DomHelper.getLocationObject(bindingElm));
}
+ if (!(node instanceof Element)) {
+ throw new BindingException("XPath expression '" + xpath + "' did not return an element node.",
+ DomHelper.getLocationObject(bindingElm));
+ }
+ element = (Element) node;
}
domTemplate = document.createDocumentFragment();
domTemplate.appendChild(element);
@@ -94,7 +89,6 @@
if (source != null) {
sourceResolver.release(source);
}
- manager.release(sourceResolver);
}
} else if (bindingElm.hasChildNodes()) {
// FIXME: using the binding's document prevents it to be garbage collected.
@@ -128,5 +122,15 @@
throw new BindingException("Error building the insert-node binding", e,
DomHelper.getLocationObject(bindingElm));
}
+ }
+
+ public void setSourceResolver( SourceResolver sourceResolver )
+ {
+ this.sourceResolver = sourceResolver;
+ }
+
+ public void setXpathProcessor( XPathProcessor pathProcessor )
+ {
+ xpathProcessor = pathProcessor;
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBase.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/JXPathBindingBase.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBase.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.library.Library;
import org.apache.cocoon.forms.formmodel.Widget;
import org.apache.cocoon.util.jxpath.DOMFactory;
@@ -32,6 +30,8 @@
import org.apache.commons.jxpath.ri.model.beans.BeanPropertyPointer;
import org.apache.commons.jxpath.util.TypeUtils;
import org.apache.commons.lang.exception.NestableRuntimeException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* Provides a base class for hooking up Binding implementations that use the
@@ -40,9 +40,9 @@
*
* @version $Id$
*/
-public abstract class JXPathBindingBase extends AbstractLogEnabled
- implements Binding {
+public abstract class JXPathBindingBase implements Binding {
+ private static Log LOG = LogFactory.getLog( JXPathBindingBase.class );
/**
* the local library, if this is the top binding
*/
@@ -100,7 +100,7 @@
try {
return !this.enclosingLibrary.dependenciesHaveChanged();
} catch (Exception e) {
- getLogger().error("Error checking dependencies!", e);
+ LOG.error("Error checking dependencies!", e);
throw new NestableRuntimeException("Error checking dependencies!", e);
}
}
Added: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java?rev=580312&view=auto
==============================================================================
--- cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java (added)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java Fri Sep 28 04:33:12 2007
@@ -0,0 +1,35 @@
+/*
+ * 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.binding;
+
+import org.w3c.dom.Element;
+
+public interface JXPathBindingBuilder
+{
+ /**
+ * Builds a configured binding object based on the configuration as
+ * described in the bindingElement. The BuilderMap can be used to
+ * find appropriate builders for possible subBinders.
+ *
+ * @param bindingElm
+ * @param assistant
+ * @return JXPathBindingBase
+ */
+ JXPathBindingBase buildBinding(Element bindingElm, JXPathBindingManager.Assistant assistant)
+ throws BindingException;
+
+}
Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilder.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.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/JXPathBindingBuilderBase.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingBuilderBase.java Fri Sep 28 04:33:12 2007
@@ -18,11 +18,7 @@
import java.util.Map;
-import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
-
import org.apache.cocoon.forms.util.DomHelper;
-
import org.apache.commons.jxpath.AbstractFactory;
import org.apache.commons.lang.BooleanUtils;
import org.w3c.dom.Element;
@@ -41,42 +37,7 @@
*
* @version $Id$
*/
-public abstract class JXPathBindingBuilderBase implements LogEnabled {
-
- private Logger logger;
-
-
- /**
- * Receives the Avalon logger to use.
- */
- public void enableLogging(Logger logger) {
- this.logger = logger;
- if (logger.isDebugEnabled()) {
- logger.debug("JXPathBindingBuilderBase got logger...");
- }
- }
-
-
- /**
- * Makes the logger available to the subclasses.
- * @return Logger
- */
- protected Logger getLogger() {
- return this.logger;
- }
-
- /**
- * Builds a configured binding object based on the configuration as
- * described in the bindingElement. The BuilderMap can be used to
- * find appropriate builders for possible subBinders.
- *
- * @param bindingElm
- * @param assistant
- * @return JXPathBindingBase
- */
- public abstract JXPathBindingBase buildBinding(Element bindingElm,
- JXPathBindingManager.Assistant assistant)
- throws BindingException;
+public abstract class JXPathBindingBuilderBase implements JXPathBindingBuilder {
/**
* Helper method for interpreting the common attributes which are supported
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.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/JXPathBindingManager.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JXPathBindingManager.java Fri Sep 28 04:33:12 2007
@@ -17,26 +17,13 @@
package org.apache.cocoon.forms.binding;
import java.util.ArrayList;
+import java.util.Map;
import java.util.Stack;
-import org.apache.avalon.framework.activity.Disposable;
-import org.apache.avalon.framework.activity.Initializable;
-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.context.Context;
-import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
-import org.apache.avalon.framework.logger.AbstractLogEnabled;
-import org.apache.avalon.framework.logger.Logger;
-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.components.LifecycleHelper;
+import org.apache.cocoon.core.xml.SAXParser;
import org.apache.cocoon.forms.CacheManager;
import org.apache.cocoon.forms.binding.library.Library;
import org.apache.cocoon.forms.binding.library.LibraryException;
@@ -44,10 +31,11 @@
import org.apache.cocoon.forms.binding.library.LibraryManagerImpl;
import org.apache.cocoon.forms.datatype.DatatypeManager;
import org.apache.cocoon.forms.util.DomHelper;
-import org.apache.cocoon.forms.util.SimpleServiceSelector;
import org.apache.cocoon.util.location.LocationAttributes;
import org.apache.commons.lang.exception.NestableRuntimeException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
@@ -59,67 +47,23 @@
*
* @version $Id$
*/
-public class JXPathBindingManager extends AbstractLogEnabled
- implements BindingManager, Contextualizable, Serviceable,
- Configurable, Initializable, Disposable, ThreadSafe {
+public class JXPathBindingManager implements BindingManager {
+ private static Log LOG = LogFactory.getLog( JXPathBindingManager.class );
+
private static final String PREFIX = "CocoonFormBinding:";
- protected ServiceManager manager;
-
protected DatatypeManager datatypeManager;
- private Configuration configuration;
-
- protected SimpleServiceSelector bindingBuilderSelector;
+ protected Map bindingBuilders;
private CacheManager cacheManager;
- private Context avalonContext;
-
protected LibraryManagerImpl libraryManager;
-
- /**
- * Java 1.3 logger access method.
- * <br>
- * Access to {#getLogger} from inner class on Java 1.3 causes NoSuchMethod error.
- */
- protected Logger getMyLogger() {
- return getLogger();
- }
-
- public void contextualize(Context context) throws ContextException {
- this.avalonContext = context;
- }
-
- public void service(ServiceManager manager) throws ServiceException {
- this.manager = manager;
- this.datatypeManager = (DatatypeManager) manager.lookup(DatatypeManager.ROLE);
- this.cacheManager = (CacheManager) manager.lookup(CacheManager.ROLE);
- }
-
- public void configure(Configuration configuration)
- throws ConfigurationException {
- this.configuration = configuration;
- }
-
- public void initialize() throws Exception {
- bindingBuilderSelector = new SimpleServiceSelector("binding", JXPathBindingBuilderBase.class);
- LifecycleHelper.setupComponent(bindingBuilderSelector,
- getLogger(),
- this.avalonContext,
- this.manager,
- configuration.getChild("bindings"));
-
- libraryManager = new LibraryManagerImpl();
- libraryManager.setBindingManager(this);
- LifecycleHelper.setupComponent(libraryManager,
- getLogger(),
- this.avalonContext,
- this.manager,
- configuration.getChild("library"));
- }
+ private SourceResolver sourceResolver;
+
+ private SAXParser parser;
public Binding createBinding(Source source) throws BindingException {
@@ -134,7 +78,7 @@
InputSource is = new InputSource(source.getInputStream());
is.setSystemId(source.getURI());
- Document doc = DomHelper.parse(is, this.manager);
+ Document doc = DomHelper.parse(is, parser);
binding = createBinding(doc.getDocumentElement());
this.cacheManager.set(binding, source, PREFIX);
} catch (BindingException e) {
@@ -148,12 +92,10 @@
}
public Binding createBinding(String bindingURI) throws BindingException {
- SourceResolver sourceResolver = null;
Source source = null;
try {
try {
- sourceResolver = (SourceResolver) manager.lookup(SourceResolver.ROLE);
source = sourceResolver.resolveURI(bindingURI);
} catch (Exception e) {
throw new BindingException("Error resolving binding source: " + bindingURI);
@@ -163,9 +105,6 @@
if (source != null) {
sourceResolver.release(source);
}
- if (sourceResolver != null) {
- manager.release(sourceResolver);
- }
}
}
@@ -173,13 +112,12 @@
Binding binding = null;
if (BindingManager.NAMESPACE.equals(bindingElement.getNamespaceURI())) {
binding = getBuilderAssistant().getBindingForConfigurationElement(bindingElement);
- ((JXPathBindingBase) binding).enableLogging(getLogger());
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("Creation of new binding finished. " + binding);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Creation of new binding finished. " + binding);
}
} else {
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("Root Element of said binding file is in wrong namespace.");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Root Element of said binding file is in wrong namespace.");
}
}
return binding;
@@ -189,18 +127,6 @@
return new Assistant();
}
- public void dispose() {
- if (this.bindingBuilderSelector != null) {
- this.bindingBuilderSelector.dispose();
- this.bindingBuilderSelector = null;
- }
- this.manager.release(this.datatypeManager);
- this.datatypeManager = null;
- this.manager.release(this.cacheManager);
- this.cacheManager = null;
- this.manager = null;
- }
-
/**
* Assistant Inner class discloses enough features to the created
* childBindings to recursively
@@ -214,13 +140,13 @@
private BindingBuilderContext context = new BindingBuilderContext();
private Stack contextStack = new Stack();
- private JXPathBindingBuilderBase getBindingBuilder(String bindingType)
+ private JXPathBindingBuilder getBindingBuilder(String bindingType)
throws BindingException {
- try {
- return (JXPathBindingBuilderBase) bindingBuilderSelector.select(bindingType);
- } catch (ServiceException e) {
- throw new BindingException("Cannot handle binding element '" + bindingType + "'.", e);
+ JXPathBindingBuilder builder = (JXPathBindingBuilder) bindingBuilders.get(bindingType);
+ if (builder == null) {
+ throw new BindingException("Cannot handle binding element '" + bindingType + "'.");
}
+ return builder;
}
/**
@@ -230,13 +156,12 @@
public JXPathBindingBase getBindingForConfigurationElement(Element configElm)
throws BindingException {
String bindingType = configElm.getLocalName();
- JXPathBindingBuilderBase bindingBuilder = getBindingBuilder(bindingType);
+ JXPathBindingBuilder bindingBuilder = getBindingBuilder(bindingType);
boolean flag = false;
if (context.getLocalLibrary() == null) {
// FIXME Use newLibrary()?
Library lib = new Library(libraryManager, getBuilderAssistant());
- lib.enableLogging(getMyLogger());
context.setLocalLibrary(lib);
lib.setSourceURI(LocationAttributes.getURI(configElm));
flag = true;
@@ -258,10 +183,6 @@
childBinding.setEnclosingLibrary(context.getLocalLibrary());
}
- // this might get called unnecessarily, but solves issues with the libraries
- if (childBinding != null) {
- childBinding.enableLogging(getMyLogger());
- }
return childBinding;
}
@@ -367,10 +288,6 @@
return datatypeManager;
}
- public ServiceManager getServiceManager() {
- return manager;
- }
-
public LibraryManager getLibraryManager() {
return libraryManager;
}
@@ -391,5 +308,35 @@
context = new BindingBuilderContext();
}
}
+ }
+
+ public void setDatatypeManager( DatatypeManager datatypeManager )
+ {
+ this.datatypeManager = datatypeManager;
+ }
+
+ public void setCacheManager( CacheManager cacheManager )
+ {
+ this.cacheManager = cacheManager;
+ }
+
+ public void setBindingBuilders( Map bindingBuilders )
+ {
+ this.bindingBuilders = bindingBuilders;
+ }
+
+ public void setParser( SAXParser parser )
+ {
+ this.parser = parser;
+ }
+
+ public void setLibraryManager( LibraryManagerImpl libraryManager )
+ {
+ this.libraryManager = libraryManager;
+ }
+
+ public void setSourceResolver( SourceResolver sourceResolver )
+ {
+ this.sourceResolver = sourceResolver;
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.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/JavaScriptJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -19,16 +19,15 @@
import java.util.Iterator;
import java.util.Map;
-import org.apache.avalon.framework.CascadingRuntimeException;
-import org.apache.avalon.framework.context.Context;
-
-import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.components.flow.javascript.ScriptableMap;
import org.apache.cocoon.forms.formmodel.Widget;
import org.apache.cocoon.forms.util.JavaScriptHelper;
+import org.apache.cocoon.processing.ProcessInfoProvider;
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.mozilla.javascript.Function;
import org.mozilla.javascript.Scriptable;
@@ -41,16 +40,18 @@
final static String[] LOAD_PARAMS = { "widget", "jxpathPointer", "jxpathContext", "childBindings" };
final static String[] SAVE_PARAMS = { "widget", "jxpathPointer", "jxpathContext", "childBindings" };
- private final Context avalonContext;
+ private static Log LOG = LogFactory.getLog( JavaScriptJXPathBinding.class );
+
private final String id;
private final String path;
private final Function loadScript;
private final Function saveScript;
private final Scriptable childBindings;
private final Map childBindingsMap;
+ private ProcessInfoProvider processInfoProvider;
- public JavaScriptJXPathBinding(Context context,
+ public JavaScriptJXPathBinding(ProcessInfoProvider processInfoProvider,
JXPathBindingBuilderBase.CommonAttributes commonAtts,
String id,
String path,
@@ -62,7 +63,7 @@
this.path = path;
this.loadScript = loadScript;
this.saveScript = saveScript;
- this.avalonContext = context;
+ this.processInfoProvider = processInfoProvider;
// Set parent on child bindings
for (Iterator i = childBindings.values().iterator(); i.hasNext();) {
@@ -75,7 +76,6 @@
public String getPath() { return path; }
public String getId() { return id; }
- public Context getContext() { return avalonContext; }
public Function getLoadScript() { return loadScript; }
public Function getSaveScript() { return saveScript; }
public Map getChildBindingsMap() { return childBindingsMap; }
@@ -87,7 +87,7 @@
// Move to widget context
Pointer pointer = jctx.getPointer(this.path);
- Map objectModel = ContextHelper.getObjectModel(this.avalonContext);
+ Map objectModel = processInfoProvider.getObjectModel();
try {
JXPathContext newCtx = pointer.getNode() == null ? null :
@@ -100,11 +100,11 @@
// rethrow
throw re;
} catch (Exception e) {
- throw new CascadingRuntimeException("Error invoking JavaScript event handler", e);
+ throw new RuntimeException("Error invoking JavaScript event handler", e);
}
} else {
- if (getLogger().isInfoEnabled()) {
- getLogger().info("[Javascript Binding] - loadForm: No javascript code available. Widget id=" + this.getId());
+ if (LOG.isInfoEnabled()) {
+ LOG.info("[Javascript Binding] - loadForm: No javascript code available. Widget id=" + this.getId());
}
}
}
@@ -117,7 +117,7 @@
Pointer pointer = jctx.createPath(this.path);
JXPathContext widgetCtx = jctx.getRelativeContext(pointer);
try {
- Map objectModel = ContextHelper.getObjectModel(this.avalonContext);
+ Map objectModel = processInfoProvider.getObjectModel();
JavaScriptHelper.callFunction(this.saveScript, widget,
new Object[]{widget, pointer, widgetCtx, this.childBindings}, objectModel);
@@ -126,11 +126,11 @@
// rethrow
throw re;
} catch (Exception e) {
- throw new CascadingRuntimeException("Error invoking JavaScript event handler", e);
+ throw new RuntimeException("Error invoking JavaScript event handler", e);
}
} else {
- if (getLogger().isInfoEnabled()) {
- getLogger().info("[Javascript Binding] - saveForm: No code available on the javascript binding with id '" + getId() + "'");
+ if (LOG.isInfoEnabled()) {
+ LOG.info("[Javascript Binding] - saveForm: No code available on the javascript binding with id '" + getId() + "'");
}
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBindingBuilder.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBindingBuilder.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/JavaScriptJXPathBindingBuilder.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/JavaScriptJXPathBindingBuilder.java Fri Sep 28 04:33:12 2007
@@ -21,13 +21,12 @@
import java.util.Iterator;
import java.util.Map;
-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.binding.JXPathBindingManager.Assistant;
import org.apache.cocoon.forms.util.DomHelper;
import org.apache.cocoon.forms.util.JavaScriptHelper;
+import org.apache.cocoon.processing.ProcessInfoProvider;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.mozilla.javascript.Function;
import org.w3c.dom.Element;
@@ -70,15 +69,11 @@
*
* @version $Id$
*/
-public class JavaScriptJXPathBindingBuilder extends JXPathBindingBuilderBase
- implements Contextualizable {
-
- private Context avalonContext;
+public class JavaScriptJXPathBindingBuilder extends JXPathBindingBuilderBase {
+ private static Log LOG = LogFactory.getLog( JavaScriptJXPathBindingBuilder.class );
- public void contextualize(Context context) throws ContextException {
- this.avalonContext = context;
- }
+ private ProcessInfoProvider processInfoProvider;
public JXPathBindingBase buildBinding(Element element, Assistant assistant)
throws BindingException {
@@ -160,14 +155,12 @@
}
ComposedJXPathBindingBase composedBinding = new ComposedJXPathBindingBase(commonAtts, bindings);
- composedBinding.enableLogging(getLogger());
childBindings.put(name, composedBinding);
}
}
- JXPathBindingBase result = new JavaScriptJXPathBinding(this.avalonContext, commonAtts, id, path, loadScript, saveScript,
+ JXPathBindingBase result = new JavaScriptJXPathBinding(this.processInfoProvider, commonAtts, id, path, loadScript, saveScript,
Collections.unmodifiableMap(childBindings));
- result.enableLogging(getLogger());
return result;
} catch (BindingException e) {
@@ -176,5 +169,10 @@
throw new BindingException("Cannot build binding", e,
DomHelper.getLocationObject(element));
}
+ }
+
+ public void setProcessInfoProvider( ProcessInfoProvider processInfoProvider )
+ {
+ this.processInfoProvider = processInfoProvider;
}
}
Modified: cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.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/MultiValueJXPathBinding.java (original)
+++ cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src/main/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java Fri Sep 28 04:33:12 2007
@@ -20,14 +20,14 @@
import java.util.LinkedList;
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.Pointer;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* Simple binding for multi fields: on save, first deletes the target data
@@ -37,6 +37,7 @@
*/
public class MultiValueJXPathBinding extends JXPathBindingBase {
+ private static Log LOG = LogFactory.getLog( MultiValueJXPathBinding.class );
private final String multiValueId;
private final String multiValuePath;
private final String rowPath;
@@ -61,11 +62,6 @@
this.convertorLocale = convertorLocale;
}
- public void enableLogging(Logger logger) {
- super.enableLogging(logger);
- this.updateBinding.enableLogging(logger);
- }
-
public String getId() { return multiValueId; }
public String getMultiValuePath() { return multiValuePath; }
public String getRowPath() { return rowPath; }
@@ -102,7 +98,7 @@
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.");
}
}
@@ -112,8 +108,8 @@
widget.setValue(list.toArray());
}
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("done loading values " + this);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("done loading values " + this);
}
}
@@ -167,8 +163,8 @@
}
- if (getLogger().isDebugEnabled()) {
- getLogger().debug("done saving " + this + " -- on-update == " + update);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("done saving " + this + " -- on-update == " + update);
}