/*******************************************************************************
 * Copyright (c)2014 Prometheus Consulting
 *
 * Licensed 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 nz.co.senanque.workflowui;

import nz.co.senanque.vaadinsupport.HintsImpl;
import nz.co.senanque.vaadinsupport.MaduraPropertyWrapper;

import com.vaadin.ui.AbstractField;
import com.vaadin.ui.AbstractTextField;
import com.vaadin.ui.TextField;

/**
 * @author Roger Parkinson
 *
 */
public class WorkflowUIHints extends HintsImpl {

	private static final long serialVersionUID = 1L;
	public AbstractField getDateField(MaduraPropertyWrapper property) {
		if (property.getName().equals("lastUpdated")) {
			TextField tf = new TextField();
			tf.setReadOnly(true);
			return tf;
		}
		if (property.getName().equals("created")) {
			TextField tf = new TextField();
			tf.setReadOnly(true);
			return tf;
		}
		return super.getDateField(property);
	}
    public AbstractField getTextField(MaduraPropertyWrapper property) {
    	AbstractTextField ret = (AbstractTextField)super.getTextField(property);
    	if (property.getValue() == null) {
    		property.setValue("");
    	}
        return ret;
    }
}

@@ -965,32 +965,99 @@
 tractTextField;%0A
+import com.vaadin.ui.PasswordField;%0Aimport com.vaadin.ui.TextArea;%0A
 import com.vaadi
@@ -1679,54 +1679,443 @@
 t = 
-(AbstractTextField)su
+null;%0A        if (property.isSecret())%0A        %7B%0A            ret = new PasswordField();%0A        %7D%0A        else%0A        %7B%0A        %09if (%22comment%22.equals(pro
 per
+ty
 .get
-TextField(property
+Name())) %7B%0A        %09%09TextArea textArea = new TextArea();%0A        %09%09textArea.setRows(5);%0A        %09%09textArea.setWordwrap(true);%0A        %09%09ret = textArea;%0A        %09%7D else %7B%0A        %09%09ret = new TextField();%0A        %09%7D%0A        %7D%0A        ret.setMaxLength(property.getMaxLength()
 );%0A 

Make comment and task into a textarea rather than just text