diff --git a/config/alfresco/form-services-context.xml b/config/alfresco/form-services-context.xml
index 116c12bc77..90f160774f 100644
--- a/config/alfresco/form-services-context.xml
+++ b/config/alfresco/form-services-context.xml
@@ -137,15 +137,15 @@
parent="qnameFieldProcessor" />
+ */
public abstract class AbstractFieldProcessor implements FieldProcessor
{
/* (non-Javadoc)
diff --git a/source/java/org/alfresco/repo/forms/processor/FieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/FieldProcessor.java
index c9fc7fbb45..156c1b1c36 100644
--- a/source/java/org/alfresco/repo/forms/processor/FieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/FieldProcessor.java
@@ -21,6 +21,12 @@ package org.alfresco.repo.forms.processor;
import org.alfresco.repo.forms.Field;
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
public interface FieldProcessor
{
Field generateField(String fieldName, FormCreationData data);
diff --git a/source/java/org/alfresco/repo/forms/processor/FieldProcessorRegistry.java b/source/java/org/alfresco/repo/forms/processor/FieldProcessorRegistry.java
index c5116c073b..ce75440fcc 100644
--- a/source/java/org/alfresco/repo/forms/processor/FieldProcessorRegistry.java
+++ b/source/java/org/alfresco/repo/forms/processor/FieldProcessorRegistry.java
@@ -24,6 +24,11 @@ import java.util.Map;
import org.alfresco.repo.forms.Field;
+/**
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
public class FieldProcessorRegistry
{
private final Map processors = new HashMap();
diff --git a/source/java/org/alfresco/repo/forms/processor/FormCreationData.java b/source/java/org/alfresco/repo/forms/processor/FormCreationData.java
index 79f884c11e..c1be995831 100644
--- a/source/java/org/alfresco/repo/forms/processor/FormCreationData.java
+++ b/source/java/org/alfresco/repo/forms/processor/FormCreationData.java
@@ -30,6 +30,7 @@ import java.util.Map;
/**
* Simple DTO containing various objects needed to generate Forms.
+ * @since 3.4
* @author Nick Smith
*/
public class FormCreationData
diff --git a/source/java/org/alfresco/repo/forms/processor/FormPersister.java b/source/java/org/alfresco/repo/forms/processor/FormPersister.java
index 51cf4881d5..2b5d14e8b8 100644
--- a/source/java/org/alfresco/repo/forms/processor/FormPersister.java
+++ b/source/java/org/alfresco/repo/forms/processor/FormPersister.java
@@ -20,7 +20,11 @@
package org.alfresco.repo.forms.processor;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
+ * @param
*/
public interface FormPersister
{
diff --git a/source/java/org/alfresco/repo/forms/processor/node/AssociationFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/AssociationFieldProcessor.java
index 63d7a94f6e..c619f5a7bc 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/AssociationFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/AssociationFieldProcessor.java
@@ -19,6 +19,12 @@ import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
public class AssociationFieldProcessor extends QNameFieldProcessor
{
private static final Log logger = LogFactory.getLog(AssociationFieldProcessor.class);
@@ -50,7 +56,7 @@ public class AssociationFieldProcessor extends QNameFieldProcessor extends
FilteredFormProcessor
{
- /** Public constants */
- public static final String ON = "on";
-
- public static final String PROP = "prop";
-
- public static final String ASSOC = "assoc";
-
- public static final String DATA_KEY_SEPARATOR = "_";
-
- public static final String PROP_DATA_PREFIX = PROP + DATA_KEY_SEPARATOR;
-
- public static final String ASSOC_DATA_PREFIX = ASSOC + DATA_KEY_SEPARATOR;
-
- public static final String ASSOC_DATA_ADDED_SUFFIX = DATA_KEY_SEPARATOR + "added";
-
- public static final String ASSOC_DATA_REMOVED_SUFFIX = DATA_KEY_SEPARATOR + "removed";
-
- public static final String TRANSIENT_MIMETYPE = "mimetype";
-
- public static final String TRANSIENT_SIZE = "size";
-
- public static final String TRANSIENT_ENCODING = "encoding";
-
- /** Protected constants */
- protected static final String DEFAULT_CONTENT_MIMETYPE = "text/plain";
-
- protected static final String MSG_MIMETYPE_LABEL = "form_service.mimetype.label";
-
- protected static final String MSG_MIMETYPE_DESC = "form_service.mimetype.description";
-
- protected static final String MSG_ENCODING_LABEL = "form_service.encoding.label";
-
- protected static final String MSG_ENCODING_DESC = "form_service.encoding.description";
-
- protected static final String MSG_SIZE_LABEL = "form_service.size.label";
-
- protected static final String MSG_SIZE_DESC = "form_service.size.description";
-
/** Services */
protected NodeService nodeService;
@@ -145,8 +114,6 @@ public abstract class ContentModelFormProcessor extends
*/
protected Pattern associationNamePattern = Pattern.compile(ASSOC_DATA_PREFIX + "([a-zA-Z0-9]+)_(.*)(_[a-zA-Z]+)");
- private DataKeyMatcher keyMatcher;
-
/**
* Sets the node service
*
@@ -185,7 +152,6 @@ public abstract class ContentModelFormProcessor extends
public void setNamespaceService(NamespaceService namespaceService)
{
this.namespaceService = namespaceService;
- this.keyMatcher = new DataKeyMatcher(namespaceService);
}
/**
@@ -509,15 +475,15 @@ public abstract class ContentModelFormProcessor extends
{
String fieldName = tppm.group(1);
- if (fieldName.equals(TRANSIENT_MIMETYPE))
+ if (fieldName.equals(MimetypeFieldProcessor.KEY))
{
processMimetypePropertyPersist(nodeRef, fieldData, propsToPersist);
}
- else if (fieldName.equals(TRANSIENT_ENCODING))
+ else if (fieldName.equals(EncodingFieldProcessor.KEY))
{
processEncodingPropertyPersist(nodeRef, fieldData, propsToPersist);
}
- else if (fieldName.equals(TRANSIENT_SIZE))
+ else if (fieldName.equals(SizeFieldProcessor.KEY))
{
// the size property is well known but should never be
// persisted
@@ -814,7 +780,7 @@ public abstract class ContentModelFormProcessor extends
if (data != null)
{
- FieldData mimetypeField = data.getFieldData(PROP + DATA_KEY_SEPARATOR + TRANSIENT_MIMETYPE);
+ FieldData mimetypeField = data.getFieldData(PROP_DATA_PREFIX + MimetypeFieldProcessor.KEY);
if (mimetypeField != null)
{
String mimetypeFieldValue = (String)mimetypeField.getValue();
diff --git a/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldBuilder.java b/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldBuilder.java
index 3121324cbc..c98e5a285e 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldBuilder.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldBuilder.java
@@ -32,7 +32,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class DefaultFieldBuilder
{
diff --git a/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldProcessor.java
index 1fc8bd23f4..3a59f362f1 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/DefaultFieldProcessor.java
@@ -28,6 +28,12 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.InitializingBean;
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
public class DefaultFieldProcessor extends QNameFieldProcessor implements InitializingBean
{
private static final Log logger = LogFactory.getLog(DefaultFieldProcessor.class);
diff --git a/source/java/org/alfresco/repo/forms/processor/node/TransientEncodingFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/EncodingFieldProcessor.java
similarity index 80%
rename from source/java/org/alfresco/repo/forms/processor/node/TransientEncodingFieldProcessor.java
rename to source/java/org/alfresco/repo/forms/processor/node/EncodingFieldProcessor.java
index 3131af383a..eac57f29cf 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/TransientEncodingFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/EncodingFieldProcessor.java
@@ -20,7 +20,6 @@
package org.alfresco.repo.forms.processor.node;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.PROP_DATA_PREFIX;
-import static org.alfresco.repo.forms.processor.node.FormFieldConstants.TRANSIENT_ENCODING;
import org.alfresco.repo.forms.FieldDefinition;
import org.alfresco.repo.forms.PropertyFieldDefinition;
@@ -29,10 +28,18 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.extensions.surf.util.I18NUtil;
-public class TransientEncodingFieldProcessor extends TransientFieldProcessor
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
+public class EncodingFieldProcessor extends TransientFieldProcessor
{
- private static final Log logger = LogFactory.getLog(TransientEncodingFieldProcessor.class);
+ private static final Log logger = LogFactory.getLog(EncodingFieldProcessor.class);
+ public static final String KEY = "encoding";
+
private static final String MSG_ENCODING_LABEL = "form_service.encoding.label";
private static final String MSG_ENCODING_DESC = "form_service.encoding.description";
@@ -45,8 +52,8 @@ public class TransientEncodingFieldProcessor extends TransientFieldProcessor
@Override
protected FieldDefinition makeTransientFieldDefinition()
{
- String dataKeyName = PROP_DATA_PREFIX + TRANSIENT_ENCODING;
- PropertyFieldDefinition encodingField = new PropertyFieldDefinition(TRANSIENT_ENCODING,
+ String dataKeyName = PROP_DATA_PREFIX + KEY;
+ PropertyFieldDefinition encodingField = new PropertyFieldDefinition(KEY,
DataTypeDefinition.TEXT.getLocalName());
encodingField.setLabel(I18NUtil.getMessage(MSG_ENCODING_LABEL));
encodingField.setDescription(I18NUtil.getMessage(MSG_ENCODING_DESC));
@@ -57,6 +64,6 @@ public class TransientEncodingFieldProcessor extends TransientFieldProcessor
@Override
protected String getRegistryKey()
{
- return FormFieldConstants.TRANSIENT_ENCODING;
+ return KEY;
}
}
\ No newline at end of file
diff --git a/source/java/org/alfresco/repo/forms/processor/node/FieldProcessorTest.java b/source/java/org/alfresco/repo/forms/processor/node/FieldProcessorTest.java
index f8a4dd964e..1474e0e723 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/FieldProcessorTest.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/FieldProcessorTest.java
@@ -40,7 +40,10 @@ import org.alfresco.service.namespace.NamespaceServiceMemoryImpl;
import org.alfresco.service.namespace.QName;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class FieldProcessorTest extends TestCase
{
diff --git a/source/java/org/alfresco/repo/forms/processor/node/FieldUtils.java b/source/java/org/alfresco/repo/forms/processor/node/FieldUtils.java
index aca0a00033..0c8f4c7a2f 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/FieldUtils.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/FieldUtils.java
@@ -35,6 +35,7 @@ import org.alfresco.service.namespace.NamespaceService;
* {@link PropertyDefinition PropertyDefinitions} and
* {@link AssociationDefinition AssociationDefinitions}
*
+ * @since 3.4
* @author Nick Smith
*
*/
diff --git a/source/java/org/alfresco/repo/forms/processor/node/FormFieldConstants.java b/source/java/org/alfresco/repo/forms/processor/node/FormFieldConstants.java
index c8c7fab675..199a561888 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/FormFieldConstants.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/FormFieldConstants.java
@@ -20,6 +20,7 @@
package org.alfresco.repo.forms.processor.node;
/**
+ * @since 3.4
* @author Nick Smith
*/
public interface FormFieldConstants
@@ -43,13 +44,11 @@ public interface FormFieldConstants
public static final String ASSOC_DATA_REMOVED_SUFFIX = DATA_KEY_SEPARATOR + "removed";
- public static final String TRANSIENT_MIMETYPE = "mimetype";
-
- public static final String TRANSIENT_SIZE = "size";
-
- public static final String TRANSIENT_ENCODING = "encoding";
-
public static final String ADDED = "added";
public static final String REMOVED = "removed";
+
+ /** Protected constants */
+ public static final String DEFAULT_CONTENT_MIMETYPE = "text/plain";
+
}
diff --git a/source/java/org/alfresco/repo/forms/processor/node/ItemData.java b/source/java/org/alfresco/repo/forms/processor/node/ItemData.java
index b68505a648..101909d4a4 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/ItemData.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/ItemData.java
@@ -38,6 +38,7 @@ import org.alfresco.service.namespace.QName;
* Simple data transfer object used by the ContentModelFormProcessor and its
* descendants.
*
+ * @since 3.4
* @author Nick Smith
*/
public class ItemData implements TransientValueGetter
diff --git a/source/java/org/alfresco/repo/forms/processor/node/TransientMimetypeFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/MimetypeFieldProcessor.java
similarity index 75%
rename from source/java/org/alfresco/repo/forms/processor/node/TransientMimetypeFieldProcessor.java
rename to source/java/org/alfresco/repo/forms/processor/node/MimetypeFieldProcessor.java
index 11dbd6d9ca..7a16e25c84 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/TransientMimetypeFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/MimetypeFieldProcessor.java
@@ -20,7 +20,6 @@
package org.alfresco.repo.forms.processor.node;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.PROP_DATA_PREFIX;
-import static org.alfresco.repo.forms.processor.node.FormFieldConstants.TRANSIENT_MIMETYPE;
import org.alfresco.repo.forms.FieldDefinition;
import org.alfresco.repo.forms.PropertyFieldDefinition;
@@ -29,10 +28,19 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.extensions.surf.util.I18NUtil;
-public class TransientMimetypeFieldProcessor extends TransientFieldProcessor
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
+public class MimetypeFieldProcessor extends TransientFieldProcessor
{
- private static final Log logger = LogFactory.getLog(TransientMimetypeFieldProcessor.class);
- private static final String MSG_MIMETYPE_LABEL = "form_service.mimetype.label";
+ private static final Log logger = LogFactory.getLog(MimetypeFieldProcessor.class);
+
+ public static final String KEY = "mimetype";
+
+ private static final String MSG_MIMETYPE_LABEL = "form_service.mimetype.label";
private static final String MSG_MIMETYPE_DESC = "form_service.mimetype.description";
@Override
@@ -42,8 +50,8 @@ public class TransientMimetypeFieldProcessor extends TransientFieldProcessor
@Override
protected FieldDefinition makeTransientFieldDefinition() {
- String dataKeyName = PROP_DATA_PREFIX + TRANSIENT_MIMETYPE;
- PropertyFieldDefinition mimetypeField = new PropertyFieldDefinition(TRANSIENT_MIMETYPE, DataTypeDefinition.TEXT
+ String dataKeyName = PROP_DATA_PREFIX + KEY;
+ PropertyFieldDefinition mimetypeField = new PropertyFieldDefinition(KEY, DataTypeDefinition.TEXT
.getLocalName());
mimetypeField.setLabel(I18NUtil.getMessage(MSG_MIMETYPE_LABEL));
mimetypeField.setDescription(I18NUtil.getMessage(MSG_MIMETYPE_DESC));
@@ -54,6 +62,6 @@ public class TransientMimetypeFieldProcessor extends TransientFieldProcessor
@Override
protected String getRegistryKey()
{
- return FormFieldConstants.TRANSIENT_MIMETYPE;
+ return KEY;
}
}
diff --git a/source/java/org/alfresco/repo/forms/processor/node/MockClassAttributeDefinition.java b/source/java/org/alfresco/repo/forms/processor/node/MockClassAttributeDefinition.java
index cd3892180a..fbc2a17f04 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/MockClassAttributeDefinition.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/MockClassAttributeDefinition.java
@@ -40,7 +40,10 @@ import org.alfresco.service.cmr.dictionary.PropertyDefinition;
import org.alfresco.service.namespace.QName;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class MockClassAttributeDefinition implements PropertyDefinition, AssociationDefinition
{
diff --git a/source/java/org/alfresco/repo/forms/processor/node/MockFieldProcessorRegistry.java b/source/java/org/alfresco/repo/forms/processor/node/MockFieldProcessorRegistry.java
index 38cac0aa21..05de747e8f 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/MockFieldProcessorRegistry.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/MockFieldProcessorRegistry.java
@@ -1,10 +1,32 @@
+/*
+ * Copyright (C) 2005-2009 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+
package org.alfresco.repo.forms.processor.node;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.ASSOC;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.PROP;
-import static org.alfresco.repo.forms.processor.node.FormFieldConstants.TRANSIENT_ENCODING;
-import static org.alfresco.repo.forms.processor.node.FormFieldConstants.TRANSIENT_MIMETYPE;
-import static org.alfresco.repo.forms.processor.node.FormFieldConstants.TRANSIENT_SIZE;
import org.alfresco.repo.forms.processor.FieldProcessor;
import org.alfresco.repo.forms.processor.workflow.PackageItemsFieldProcessor;
@@ -12,15 +34,21 @@ import org.alfresco.repo.forms.processor.workflow.TransitionFieldProcessor;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.namespace.NamespaceService;
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
public class MockFieldProcessorRegistry extends ContentModelFieldProcessorRegistry
{
public MockFieldProcessorRegistry(NamespaceService namespaceService, DictionaryService dictionaryService)
{
register(PROP, makePropertyFieldProcessor(namespaceService, dictionaryService));
register(ASSOC, makeAssociationFieldProcessor(namespaceService, dictionaryService));
- register(TRANSIENT_ENCODING, makeEncodingFieldProcessor());
- register(TRANSIENT_MIMETYPE, makeMimetypeFieldProcessor());
- register(TRANSIENT_SIZE, makeSizeFieldProcessor());
+ register(EncodingFieldProcessor.KEY, makeEncodingFieldProcessor());
+ register(MimetypeFieldProcessor.KEY, makeMimetypeFieldProcessor());
+ register(SizeFieldProcessor.KEY, makeSizeFieldProcessor());
register(TransitionFieldProcessor.KEY, makeTransitionFieldProcessor());
register(PackageItemsFieldProcessor.KEY, makePackageItemFieldProcessor());
setDefaultProcessor(makeDefaultFieldProcessor(namespaceService, dictionaryService));
@@ -60,19 +88,19 @@ public class MockFieldProcessorRegistry extends ContentModelFieldProcessorRegist
return processor;
}
- private TransientEncodingFieldProcessor makeEncodingFieldProcessor()
+ private EncodingFieldProcessor makeEncodingFieldProcessor()
{
- return new TransientEncodingFieldProcessor();
+ return new EncodingFieldProcessor();
}
- private TransientMimetypeFieldProcessor makeMimetypeFieldProcessor()
+ private MimetypeFieldProcessor makeMimetypeFieldProcessor()
{
- return new TransientMimetypeFieldProcessor();
+ return new MimetypeFieldProcessor();
}
- private TransientSizeFieldProcessor makeSizeFieldProcessor()
+ private SizeFieldProcessor makeSizeFieldProcessor()
{
- return new TransientSizeFieldProcessor();
+ return new SizeFieldProcessor();
}
private PropertyFieldProcessor makePropertyFieldProcessor(NamespaceService namespaceService,
diff --git a/source/java/org/alfresco/repo/forms/processor/node/NodeFormProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/NodeFormProcessor.java
index e74f2a912c..21a5912781 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/NodeFormProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/NodeFormProcessor.java
@@ -48,6 +48,7 @@ import org.apache.commons.logging.LogFactory;
* repository nodes.
*
* @author Gavin Cornwell
+ * @author Nick Smith
*/
public class NodeFormProcessor extends ContentModelFormProcessor
{
@@ -193,9 +194,9 @@ public class NodeFormProcessor extends ContentModelFormProcessor
{
private static final Log logger = LogFactory.getLog(PropertyFieldProcessor.class);
@@ -83,7 +89,7 @@ public class PropertyFieldProcessor extends QNameFieldProcessor
+ */
public abstract class QNameFieldProcessor extends AbstractFieldProcessor>
{
protected NamespaceService namespaceService;
diff --git a/source/java/org/alfresco/repo/forms/processor/node/TransientSizeFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/SizeFieldProcessor.java
similarity index 81%
rename from source/java/org/alfresco/repo/forms/processor/node/TransientSizeFieldProcessor.java
rename to source/java/org/alfresco/repo/forms/processor/node/SizeFieldProcessor.java
index e6e90d0d45..6b82c600e3 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/TransientSizeFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/SizeFieldProcessor.java
@@ -20,7 +20,6 @@
package org.alfresco.repo.forms.processor.node;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.PROP_DATA_PREFIX;
-import static org.alfresco.repo.forms.processor.node.FormFieldConstants.TRANSIENT_SIZE;
import org.alfresco.repo.forms.FieldDefinition;
import org.alfresco.repo.forms.PropertyFieldDefinition;
@@ -29,9 +28,19 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.extensions.surf.util.I18NUtil;
-public class TransientSizeFieldProcessor extends TransientFieldProcessor
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
+public class SizeFieldProcessor extends TransientFieldProcessor
{
- private static final Log logger = LogFactory.getLog(TransientSizeFieldProcessor.class);
+ private static final Log logger = LogFactory.getLog(SizeFieldProcessor.class);
+
+
+ public static final String KEY = "size";
+
private static final String MSG_SIZE_LABEL = "form_service.size.label";
private static final String MSG_SIZE_DESC = "form_service.size.description";
@@ -44,8 +53,8 @@ public class TransientSizeFieldProcessor extends TransientFieldProcessor
@Override
protected FieldDefinition makeTransientFieldDefinition()
{
- String dataKeyName = PROP_DATA_PREFIX + TRANSIENT_SIZE;
- PropertyFieldDefinition sizeField = new PropertyFieldDefinition(TRANSIENT_SIZE,
+ String dataKeyName = PROP_DATA_PREFIX + KEY;
+ PropertyFieldDefinition sizeField = new PropertyFieldDefinition(KEY,
DataTypeDefinition.LONG.getLocalName());
sizeField.setLabel(I18NUtil.getMessage(MSG_SIZE_LABEL));
sizeField.setDescription(I18NUtil.getMessage(MSG_SIZE_DESC));
@@ -57,6 +66,6 @@ public class TransientSizeFieldProcessor extends TransientFieldProcessor
@Override
protected String getRegistryKey()
{
- return FormFieldConstants.TRANSIENT_SIZE;
+ return KEY;
}
}
\ No newline at end of file
diff --git a/source/java/org/alfresco/repo/forms/processor/node/TransientFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/node/TransientFieldProcessor.java
index 41d578c4e7..36e822a2c1 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/TransientFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/TransientFieldProcessor.java
@@ -24,6 +24,12 @@ import org.alfresco.repo.forms.FieldDefinition;
import org.alfresco.repo.forms.processor.AbstractFieldProcessor;
import org.alfresco.repo.forms.processor.FormCreationData;
+/**
+ *
+ * @since 3.4
+ * @author Nick Smith
+ *
+ */
public abstract class TransientFieldProcessor extends AbstractFieldProcessor
{
/* (non-Javadoc)
@@ -37,7 +43,7 @@ public abstract class TransientFieldProcessor extends AbstractFieldProcessor
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/AbstractWorkflowFormProcessor.java b/source/java/org/alfresco/repo/forms/processor/workflow/AbstractWorkflowFormProcessor.java
index bbd9fa9528..61a8b65a8a 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/AbstractWorkflowFormProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/AbstractWorkflowFormProcessor.java
@@ -35,7 +35,12 @@ import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.util.ParameterCheck;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
+ * @param
+ * @param
*/
public abstract class AbstractWorkflowFormProcessor extends ContentModelFormProcessor
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/ContentModelFormPersister.java b/source/java/org/alfresco/repo/forms/processor/workflow/ContentModelFormPersister.java
index 655ff37702..4ef40afee7 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/ContentModelFormPersister.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/ContentModelFormPersister.java
@@ -34,8 +34,11 @@ import org.apache.commons.logging.LogFactory;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
+ * @param
*/
public abstract class ContentModelFormPersister implements FormPersister
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfo.java b/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfo.java
index 47bb73893a..bc0098f7f0 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfo.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfo.java
@@ -22,6 +22,8 @@ package org.alfresco.repo.forms.processor.workflow;
import org.alfresco.service.namespace.QName;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
*/
@@ -93,24 +95,4 @@ public class DataKeyInfo
return isAdd;
}
- /**
- * Implements the visitor pattern. Takes a DataKeyInfoVisitor and calls the
- * appropriate visit method based on the fieldType.
- *
- * @param
- * @param visitor
- * @return
- */
- public T visit(DataKeyInfoVisitor visitor)
- {
- switch(fieldType)
- {
- case ASSOCIATION: return visitor.visitAssociation(this);
- case PROPERTY: return visitor.visitProperty(this);
- case TRANSIENT_ASSOCIATION: return visitor.visitTransientAssociation(this);
- case TRANSIENT_PROPERTY: return visitor.visitTransientProperty(this);
- default: return null; //Should never be reached.
- }
- }
-
}
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfoVisitor.java b/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfoVisitor.java
deleted file mode 100644
index 74e9622bfd..0000000000
--- a/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyInfoVisitor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2005-2010 Alfresco Software Limited.
- *
- * This file is part of Alfresco
- *
- * Alfresco is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Alfresco is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Alfresco. If not, see .
- */
-
-package org.alfresco.repo.forms.processor.workflow;
-
-/**
- * Visitor interface used to enable the visitor pattern on {@link DataKeyInfo}
- * instances. Implementations of this interface can call
- * DataKeyInfo.visit(DataKeyInfoVisitor)
to have the appropriate
- * visit method called on the visitor, based on the fieldType of the
- * {@link DataKeyInfo} instance.
- *
- * @author Nick Smith
- */
-public interface DataKeyInfoVisitor
-{
- /**
- * Called for {@link DataKeyInfo} instances with a field type of ASSOCIATION.
- * @param info
- * @return
- */
- T visitAssociation(DataKeyInfo info);
-
- /**
- * Called for {@link DataKeyInfo} instances with a field type of PROPERTY.
- * @param info
- * @return
- */
- T visitProperty(DataKeyInfo info);
-
- /**
- * Called for {@link DataKeyInfo} instances with a field type of TRANSIENT_ASSOCIATION.
- * @param info
- * @return
- */
- T visitTransientAssociation(DataKeyInfo info);
-
- /**
- * Called for {@link DataKeyInfo} instances with a field type of TRANSIENT_PROPERTY.
- * @param info
- * @return
- */
- T visitTransientProperty(DataKeyInfo info);
-}
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyMatcher.java b/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyMatcher.java
index 266f457df5..7933a99c06 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyMatcher.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/DataKeyMatcher.java
@@ -28,6 +28,8 @@ import org.alfresco.service.namespace.QName;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.*;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
*/
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/FieldType.java b/source/java/org/alfresco/repo/forms/processor/workflow/FieldType.java
index 26c996563f..91c5fd22ab 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/FieldType.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/FieldType.java
@@ -20,6 +20,8 @@
package org.alfresco.repo.forms.processor.workflow;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
*/
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/FormPersister.java b/source/java/org/alfresco/repo/forms/processor/workflow/FormPersister.java
index 2c12ba3db1..b45c169787 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/FormPersister.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/FormPersister.java
@@ -21,10 +21,12 @@ package org.alfresco.repo.forms.processor.workflow;
import org.alfresco.repo.forms.FormData.FieldData;
-
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
+ * @param
*/
public interface FormPersister
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/PackageItemsFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/workflow/PackageItemsFieldProcessor.java
index 3b9ac60aa7..abe3a340fc 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/PackageItemsFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/PackageItemsFieldProcessor.java
@@ -32,6 +32,8 @@ import static org.alfresco.repo.forms.processor.node.FormFieldConstants.ASSOC_DA
/**
* {@link FieldProcessor} for handling package contents when displaying Workflow and Task Forms.
+ *
+ * @since 3.4
* @author Nick Smith
*/
public class PackageItemsFieldProcessor extends TransientFieldProcessor
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormPersister.java b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormPersister.java
index 14be89e6a5..ee9ff7aab4 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormPersister.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormPersister.java
@@ -24,6 +24,7 @@ import java.util.List;
import org.alfresco.repo.forms.FormData.FieldData;
import org.alfresco.repo.forms.processor.node.ItemData;
+import org.alfresco.repo.workflow.TaskUpdater;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -34,6 +35,8 @@ import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
*/
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessor.java b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessor.java
index 2e9fa7c3cc..445319d339 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessor.java
@@ -47,7 +47,10 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.util.StringUtils;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class TaskFormProcessor extends AbstractWorkflowFormProcessor
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessorTest.java b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessorTest.java
index 63d5182ff8..d3cdf5bd25 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessorTest.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessorTest.java
@@ -79,7 +79,10 @@ import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class TaskFormProcessorTest extends TestCase
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/TransitionFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/workflow/TransitionFieldProcessor.java
index f4d3ce4d01..c5903cb5ec 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TransitionFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/TransitionFieldProcessor.java
@@ -29,6 +29,8 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.extensions.surf.util.I18NUtil;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
*/
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/TypedPropertyValueGetter.java b/source/java/org/alfresco/repo/forms/processor/workflow/TypedPropertyValueGetter.java
index 822fb023f1..bfc8464228 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TypedPropertyValueGetter.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/TypedPropertyValueGetter.java
@@ -38,7 +38,10 @@ import org.json.JSONException;
import org.springframework.extensions.surf.util.I18NUtil;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class TypedPropertyValueGetter
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormPersister.java b/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormPersister.java
index d9a2387f4b..ea4f731d36 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormPersister.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormPersister.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.List;
import org.alfresco.repo.forms.processor.node.ItemData;
+import org.alfresco.repo.workflow.WorkflowBuilder;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -34,6 +35,8 @@ import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
/**
+ *
+ * @since 3.4
* @author Nick Smith
*
*/
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessor.java b/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessor.java
index ad4477606b..895d6c342a 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessor.java
@@ -35,6 +35,7 @@ import org.apache.commons.logging.LogFactory;
* Temporary FormProcessor implementation that can generate and persist
* Form objects for workflow definitions.
*
+ *@since 3.4
* @author Nick Smith
*/
public class WorkflowFormProcessor extends AbstractWorkflowFormProcessor
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessorTest.java b/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessorTest.java
index ef8a37634e..1401dbbb13 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessorTest.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowFormProcessorTest.java
@@ -22,7 +22,10 @@ package org.alfresco.repo.forms.processor.workflow;
import junit.framework.TestCase;
/**
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class WorkflowFormProcessorTest extends TestCase
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/PackageManager.java b/source/java/org/alfresco/repo/workflow/PackageManager.java
similarity index 92%
rename from source/java/org/alfresco/repo/forms/processor/workflow/PackageManager.java
rename to source/java/org/alfresco/repo/workflow/PackageManager.java
index 61e07b51ab..3c2e04d002 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/PackageManager.java
+++ b/source/java/org/alfresco/repo/workflow/PackageManager.java
@@ -17,7 +17,7 @@
* along with Alfresco. If not, see .
*/
-package org.alfresco.repo.forms.processor.workflow;
+package org.alfresco.repo.workflow;
import java.util.ArrayList;
import java.util.Collection;
@@ -28,7 +28,6 @@ import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.AuthenticationUtil.RunAsWork;
-import org.alfresco.repo.workflow.WorkflowModel;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -42,7 +41,14 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
+ * This helper class is used to manage a workflow package. The manager is a
+ * stateful object which accumulates all the changes to be made to the package
+ * (such as adding and removing package items). These changes are then applied
+ * to the package when either the create() or update() method is called.
+ *
+ * @since 3.4
* @author Nick Smith
+ *
*/
public class PackageManager
{
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/TaskUpdater.java b/source/java/org/alfresco/repo/workflow/TaskUpdater.java
similarity index 93%
rename from source/java/org/alfresco/repo/forms/processor/workflow/TaskUpdater.java
rename to source/java/org/alfresco/repo/workflow/TaskUpdater.java
index 21f0595106..184ea1745e 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TaskUpdater.java
+++ b/source/java/org/alfresco/repo/workflow/TaskUpdater.java
@@ -23,7 +23,7 @@
* http://www.alfresco.com/legal/licensing"
*/
-package org.alfresco.repo.forms.processor.workflow;
+package org.alfresco.repo.workflow;
import java.io.Serializable;
import java.util.HashMap;
@@ -39,9 +39,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
- * A utility class for updating workflow tasks. This is a stateful object that
- * accumulates a set of updates to a task and then commits all the updates when
- * the update() method is called.
+ * A helper class for updating and transitioning {@link WorkflowTask
+ * WorkflowTasks}. This is a stateful object that accumulates a set of updates
+ * to a task and then commits all the updates when either the update() or
+ * transition() method is called.
*
* @since 3.4
* @author Nick Smith
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowBuilder.java b/source/java/org/alfresco/repo/workflow/WorkflowBuilder.java
similarity index 88%
rename from source/java/org/alfresco/repo/forms/processor/workflow/WorkflowBuilder.java
rename to source/java/org/alfresco/repo/workflow/WorkflowBuilder.java
index cb2e104b5f..c57c904ea4 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/WorkflowBuilder.java
+++ b/source/java/org/alfresco/repo/workflow/WorkflowBuilder.java
@@ -17,14 +17,13 @@
* along with Alfresco. If not, see .
*/
-package org.alfresco.repo.forms.processor.workflow;
+package org.alfresco.repo.workflow;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.alfresco.repo.workflow.WorkflowModel;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
@@ -36,10 +35,11 @@ import org.alfresco.service.cmr.workflow.WorkflowTask;
import org.alfresco.service.namespace.QName;
/**
- * A helper class used to start workflows. The builder accumuates all the
- * changes to be made to the list of parameters and package items, then starts a
- * new workflow once the build() method is called.
+ * A helper class used to start workflows. The builder is a stateful object that
+ * accumulates the various parameters and package items used to start the
+ * workflow. The workflow is started when the build() method is called.
*
+ * @since 3.4
* @author Nick Smith
*/
public class WorkflowBuilder