diff --git a/config/alfresco/form-services-context.xml b/config/alfresco/form-services-context.xml
index c441008672..73ebbdfb6c 100644
--- a/config/alfresco/form-services-context.xml
+++ b/config/alfresco/form-services-context.xml
@@ -186,5 +186,9 @@
+
+
diff --git a/config/alfresco/messages/form-service.properties b/config/alfresco/messages/form-service.properties
index a28d1eca0c..3e5fac96ae 100644
--- a/config/alfresco/messages/form-service.properties
+++ b/config/alfresco/messages/form-service.properties
@@ -7,5 +7,13 @@ form_service.encoding.description=Encoding of the content
form_service.size.label=Size
form_service.size.description=Size of the content in bytes
+form_service.message.label=Message
+form_service.message.description=Message the user entered when starting the workflow
+form_service.message.value.none=(No Message)
+
+form_service.transitions.label=Transitions
+form_service.transitions.description=The transitions available for the task
+
form_service.package.items.label=Items
-form_service.package.items.description=Items that are part of the workflow
\ No newline at end of file
+form_service.package.items.description=Items that are part of the workflow
+
diff --git a/source/java/org/alfresco/repo/forms/processor/AbstractFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/AbstractFieldProcessor.java
index df74fa8181..d823f8dadf 100644
--- a/source/java/org/alfresco/repo/forms/processor/AbstractFieldProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/AbstractFieldProcessor.java
@@ -23,8 +23,6 @@ import org.alfresco.repo.forms.Field;
import org.alfresco.repo.forms.FormException;
import org.apache.commons.logging.Log;
-import com.sun.star.lang.IllegalArgumentException;
-
/**
*
* @since 3.4
@@ -53,7 +51,7 @@ public abstract class AbstractFieldProcessor implements FieldProcessor
}
else
{
- String msg = "Data object: "+itemData+" is not of expected type: "+expectedType;
+ String msg = "Data object: " + itemData + " is not of expected type: " + expectedType;
throw new FormException(msg, new IllegalArgumentException());
}
}
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 05de747e8f..31c138e747 100644
--- a/source/java/org/alfresco/repo/forms/processor/node/MockFieldProcessorRegistry.java
+++ b/source/java/org/alfresco/repo/forms/processor/node/MockFieldProcessorRegistry.java
@@ -29,6 +29,7 @@ import static org.alfresco.repo.forms.processor.node.FormFieldConstants.ASSOC;
import static org.alfresco.repo.forms.processor.node.FormFieldConstants.PROP;
import org.alfresco.repo.forms.processor.FieldProcessor;
+import org.alfresco.repo.forms.processor.workflow.MessageFieldProcessor;
import org.alfresco.repo.forms.processor.workflow.PackageItemsFieldProcessor;
import org.alfresco.repo.forms.processor.workflow.TransitionFieldProcessor;
import org.alfresco.service.cmr.dictionary.DictionaryService;
@@ -51,25 +52,24 @@ public class MockFieldProcessorRegistry extends ContentModelFieldProcessorRegist
register(SizeFieldProcessor.KEY, makeSizeFieldProcessor());
register(TransitionFieldProcessor.KEY, makeTransitionFieldProcessor());
register(PackageItemsFieldProcessor.KEY, makePackageItemFieldProcessor());
+ register(MessageFieldProcessor.KEY, makeMessageFieldProcessor());
setDefaultProcessor(makeDefaultFieldProcessor(namespaceService, dictionaryService));
}
- /**
- * @return
- */
private FieldProcessor makePackageItemFieldProcessor()
{
- // TODO Auto-generated method stub
return new PackageItemsFieldProcessor();
}
- /**
- * @return
- */
private FieldProcessor makeTransitionFieldProcessor()
{
return new TransitionFieldProcessor();
}
+
+ private FieldProcessor makeMessageFieldProcessor()
+ {
+ return new MessageFieldProcessor();
+ }
private FieldProcessor makeDefaultFieldProcessor(NamespaceService namespaceService,
DictionaryService dictionaryService)
diff --git a/source/java/org/alfresco/repo/forms/processor/workflow/MessageFieldProcessor.java b/source/java/org/alfresco/repo/forms/processor/workflow/MessageFieldProcessor.java
new file mode 100644
index 0000000000..39321d2fdf
--- /dev/null
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/MessageFieldProcessor.java
@@ -0,0 +1,83 @@
+/*
+ * 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;
+
+import static org.alfresco.repo.forms.processor.node.FormFieldConstants.PROP_DATA_PREFIX;
+
+import org.alfresco.repo.forms.FieldDefinition;
+import org.alfresco.repo.forms.PropertyFieldDefinition;
+import org.alfresco.repo.forms.processor.node.TransientFieldProcessor;
+import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.springframework.extensions.surf.util.I18NUtil;
+
+/**
+ * Transient field processor for the "message" property.
+ *
+ * @since 3.4
+ * @author Gavin Cornwell
+ */
+public class MessageFieldProcessor extends TransientFieldProcessor
+{
+ public static final String KEY = "message";
+ public static final String DATA_TYPE = DataTypeDefinition.TEXT.getLocalName();
+ public static final String MSG_VALUE_NONE = "form_service.message.value.none";
+
+ private static final String MSG_LABEL = "form_service.message.label";
+ private static final String MSG_DESCRIPTION = "form_service.message.description";
+
+ private static final Log LOGGER = LogFactory.getLog(MessageFieldProcessor.class);
+
+ /* (non-Javadoc)
+ * @see org.alfresco.repo.forms.processor.node.TransientFieldProcessor#makeTransientPropertyDefinition()
+ */
+ @Override
+ protected FieldDefinition makeTransientFieldDefinition()
+ {
+ PropertyFieldDefinition fieldDef = new PropertyFieldDefinition(KEY, DATA_TYPE);
+ fieldDef.setRepeating(false);
+ fieldDef.setProtectedField(true);
+
+ fieldDef.setLabel(I18NUtil.getMessage(MSG_LABEL));
+ fieldDef.setDescription(I18NUtil.getMessage(MSG_DESCRIPTION));
+ fieldDef.setDataKeyName(PROP_DATA_PREFIX + KEY);
+ return fieldDef;
+ }
+
+ /* (non-Javadoc)
+ * @see org.alfresco.repo.forms.processor.AbstractFieldProcessor#getLogger()
+ */
+ @Override
+ protected Log getLogger()
+ {
+ return LOGGER;
+ }
+
+ /* (non-Javadoc)
+ * @see org.alfresco.repo.forms.processor.AbstractFieldProcessor#getRegistryKey()
+ */
+ @Override
+ protected String getRegistryKey()
+ {
+ return KEY;
+ }
+
+}
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 7e473f777f..15a7adf147 100644
--- a/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessor.java
+++ b/source/java/org/alfresco/repo/forms/processor/workflow/TaskFormProcessor.java
@@ -47,6 +47,7 @@ import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.springframework.extensions.surf.util.I18NUtil;
/**
* FormProcessor implementation for workflow tasks.
@@ -154,6 +155,7 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor values = new HashMap(2);
values.put(TransitionFieldProcessor.KEY, getTransitionValues(item));
values.put(PackageItemsFieldProcessor.KEY, getPackageItemValues(item));
+ values.put(MessageFieldProcessor.KEY, getMessageValues(item));
return values;
}
@@ -183,6 +185,23 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor