Fix up the StringConstant activity UI for the new service panel.
Tidy up the code.
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/actions/StringConstantActivityConfigurationAction.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/actions/StringConstantActivityConfigurationAction.java
index 790ed9c..fa8bafc 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/actions/StringConstantActivityConfigurationAction.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/actions/StringConstantActivityConfigurationAction.java
@@ -23,8 +23,6 @@
 import java.awt.Frame;
 import java.awt.event.ActionEvent;
 
-import javax.swing.Action;
-
 import net.sf.taverna.t2.activities.stringconstant.views.StringConstantConfigView;
 import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
 import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
@@ -35,39 +33,39 @@
 import uk.org.taverna.commons.services.ServiceRegistry;
 import uk.org.taverna.scufl2.api.activity.Activity;
 
-public class StringConstantActivityConfigurationAction extends ActivityConfigurationAction {
-
+public class StringConstantActivityConfigurationAction extends
+		ActivityConfigurationAction {
 	private static final long serialVersionUID = 2518716617809186972L;
-
 	public static final String CONFIGURE_STRINGCONSTANT = "Edit value";
 
 	private final EditManager editManager;
-
 	private final FileManager fileManager;
-
 	private final ServiceRegistry serviceRegistry;
 
-	public StringConstantActivityConfigurationAction(Activity activity, Frame owner,
-			EditManager editManager, FileManager fileManager,
-			ActivityIconManager activityIconManager, ServiceDescriptionRegistry serviceDescriptionRegistry, ServiceRegistry serviceRegistry) {
+	public StringConstantActivityConfigurationAction(Activity activity,
+			Frame owner, EditManager editManager, FileManager fileManager,
+			ActivityIconManager activityIconManager,
+			ServiceDescriptionRegistry serviceDescriptionRegistry,
+			ServiceRegistry serviceRegistry) {
 		super(activity, activityIconManager, serviceDescriptionRegistry);
 		this.editManager = editManager;
 		this.fileManager = fileManager;
 		this.serviceRegistry = serviceRegistry;
-		putValue(Action.NAME, CONFIGURE_STRINGCONSTANT);
+		putValue(NAME, CONFIGURE_STRINGCONSTANT);
 	}
 
+	@Override
 	public void actionPerformed(ActionEvent e) {
-		ActivityConfigurationDialog currentDialog = ActivityConfigurationAction.getDialog(getActivity());
+		ActivityConfigurationDialog currentDialog = getDialog(getActivity());
 		if (currentDialog != null) {
 			currentDialog.toFront();
 			return;
 		}
 
-		StringConstantConfigView stringConstantConfigView = new StringConstantConfigView(activity, serviceRegistry);
-		ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(getActivity(), stringConstantConfigView, editManager);
-
-		ActivityConfigurationAction.setDialog(getActivity(), dialog, fileManager);
+		StringConstantConfigView configView = new StringConstantConfigView(
+				activity, serviceRegistry);
+		ActivityConfigurationDialog dialog = new ActivityConfigurationDialog(
+				getActivity(), configView, editManager);
+		setDialog(getActivity(), dialog, fileManager);
 	}
-
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateAction.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateAction.java
index 7db5c70..fb9d069 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateAction.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateAction.java
@@ -20,6 +20,8 @@
  ******************************************************************************/
 package net.sf.taverna.t2.activities.stringconstant.menu;
 
+import static net.sf.taverna.t2.workbench.ui.workflowview.WorkflowView.importServiceDescription;
+
 import java.awt.event.ActionEvent;
 import java.net.URI;
 
@@ -32,21 +34,21 @@
 import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
 import net.sf.taverna.t2.workbench.edits.EditManager;
 import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.ui.workflowview.WorkflowView;
 import uk.org.taverna.commons.services.ServiceRegistry;
 import uk.org.taverna.scufl2.api.core.Workflow;
 
 /**
- * An action to add a string constant activity + a wrapping processor to the workflow.
- *
+ * An action to add a string constant activity + a wrapping processor to the
+ * workflow.
+ * 
  * @author Alex Nenadic
  * @author David Withers
  */
 @SuppressWarnings("serial")
-public class AddStringConstantTemplateAction extends AbstractContextualMenuAction {
-
-	private static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/constant");
-
+public class AddStringConstantTemplateAction extends
+		AbstractContextualMenuAction {
+	private static final URI ACTIVITY_TYPE = URI
+			.create("http://ns.taverna.org.uk/2010/activity/constant");
 	private static final URI insertSection = URI
 			.create("http://taverna.sf.net/2009/contextMenu/insert");
 
@@ -55,7 +57,6 @@
 	private SelectionManager selectionManager;
 	private ActivityIconManager activityIconManager;
 	private ServiceDescriptionRegistry serviceDescriptionRegistry;
-
 	private ServiceRegistry serviceRegistry;
 
 	public AddStringConstantTemplateAction() {
@@ -64,22 +65,22 @@
 
 	@Override
 	public boolean isEnabled() {
-		return super.isEnabled() && getContextualSelection().getSelection() instanceof Workflow;
+		return super.isEnabled()
+				&& getContextualSelection().getSelection() instanceof Workflow;
 	}
 
 	@Override
 	protected Action createAction() {
 		AbstractAction action = new AbstractAction("Text constant",
 				activityIconManager.iconForActivity(ACTIVITY_TYPE)) {
-
+			@Override
 			public void actionPerformed(ActionEvent e) {
-
-				WorkflowView.importServiceDescription(
-						serviceDescriptionRegistry.getServiceDescription(ACTIVITY_TYPE), false, editManager,
-						menuManager, selectionManager, serviceRegistry);
-
+				importServiceDescription(
+						serviceDescriptionRegistry
+								.getServiceDescription(ACTIVITY_TYPE),
+						false, editManager, menuManager, selectionManager,
+						serviceRegistry);
 			}
-
 		};
 		return action;
 	}
@@ -100,12 +101,12 @@
 		this.activityIconManager = activityIconManager;
 	}
 
-	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+	public void setServiceDescriptionRegistry(
+			ServiceDescriptionRegistry serviceDescriptionRegistry) {
 		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
 	}
 
 	public void setServiceRegistry(ServiceRegistry serviceRegistry) {
 		this.serviceRegistry = serviceRegistry;
 	}
-
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateMenuAction.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateMenuAction.java
index 477fcfe..cb1682d 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateMenuAction.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/AddStringConstantTemplateMenuAction.java
@@ -20,14 +20,17 @@
  ******************************************************************************/
 package net.sf.taverna.t2.activities.stringconstant.menu;
 
+import static java.awt.event.InputEvent.ALT_DOWN_MASK;
+import static java.awt.event.InputEvent.SHIFT_DOWN_MASK;
+import static java.awt.event.KeyEvent.VK_S;
+import static javax.swing.KeyStroke.getKeyStroke;
+import static net.sf.taverna.t2.workbench.ui.workflowview.WorkflowView.importServiceDescription;
+
 import java.awt.event.ActionEvent;
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
 import java.net.URI;
 
 import javax.swing.AbstractAction;
 import javax.swing.Action;
-import javax.swing.KeyStroke;
 
 import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
 import net.sf.taverna.t2.ui.menu.AbstractMenuAction;
@@ -36,39 +39,31 @@
 import net.sf.taverna.t2.workbench.activityicons.ActivityIconManager;
 import net.sf.taverna.t2.workbench.edits.EditManager;
 import net.sf.taverna.t2.workbench.selection.SelectionManager;
-import net.sf.taverna.t2.workbench.ui.workflowview.WorkflowView;
 import uk.org.taverna.commons.services.ServiceRegistry;
 
 /**
- * An action to add a string constant activity + a wrapping processor to the workflow.
- *
+ * An action to add a string constant activity + a wrapping processor to the
+ * workflow.
+ * 
  * @author Alex Nenadic
  * @author Alan R Williams
  * @author David Withers
  */
 @SuppressWarnings("serial")
 public class AddStringConstantTemplateMenuAction extends AbstractMenuAction {
-
-	private static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/constant");
-
+	private static final URI ACTIVITY_TYPE = URI
+			.create("http://ns.taverna.org.uk/2010/activity/constant");
 	private static final URI INSERT = URI
 			.create("http://taverna.sf.net/2008/t2workbench/menu#insert");
-
 	private static final String ADD_STRING_CONSTANT = "Text constant";
-
 	private static final URI ADD_STRING_CONSTANT_URI = URI
 			.create("http://taverna.sf.net/2008/t2workbench/menu#graphMenuAddStringConstant");
 
 	private EditManager editManager;
-
 	private MenuManager menuManager;
-
 	private SelectionManager selectionManager;
-
 	private ActivityIconManager activityIconManager;
-
 	private ServiceDescriptionRegistry serviceDescriptionRegistry;
-
 	private ServiceRegistry serviceRegistry;
 
 	public AddStringConstantTemplateMenuAction() {
@@ -80,25 +75,25 @@
 		return new AddStringConstantMenuAction();
 	}
 
-	protected class AddStringConstantMenuAction extends AbstractAction implements DesignOnlyAction {
+	protected class AddStringConstantMenuAction extends AbstractAction
+			implements DesignOnlyAction {
 		AddStringConstantMenuAction() {
 			super();
-			putValue(SMALL_ICON, activityIconManager.iconForActivity(ACTIVITY_TYPE));
+			putValue(SMALL_ICON,
+					activityIconManager.iconForActivity(ACTIVITY_TYPE));
 			putValue(NAME, ADD_STRING_CONSTANT);
 			putValue(SHORT_DESCRIPTION, ADD_STRING_CONSTANT);
-			putValue(
-					Action.ACCELERATOR_KEY,
-					KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.SHIFT_DOWN_MASK
-							| InputEvent.ALT_DOWN_MASK));
-
+			putValue(ACCELERATOR_KEY,
+					getKeyStroke(VK_S, SHIFT_DOWN_MASK | ALT_DOWN_MASK));
 		}
 
+		@Override
 		public void actionPerformed(ActionEvent e) {
-
-			WorkflowView.importServiceDescription(
-					serviceDescriptionRegistry.getServiceDescription(ACTIVITY_TYPE), false, editManager,
-					menuManager, selectionManager, serviceRegistry);
-
+			importServiceDescription(
+					serviceDescriptionRegistry
+							.getServiceDescription(ACTIVITY_TYPE),
+					false, editManager, menuManager, selectionManager,
+					serviceRegistry);
 		}
 	}
 
@@ -118,12 +113,12 @@
 		this.activityIconManager = activityIconManager;
 	}
 
-	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+	public void setServiceDescriptionRegistry(
+			ServiceDescriptionRegistry serviceDescriptionRegistry) {
 		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
 	}
 
 	public void setServiceRegistry(ServiceRegistry serviceRegistry) {
 		this.serviceRegistry = serviceRegistry;
 	}
-
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/ConfigureStringConstantMenuAction.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/ConfigureStringConstantMenuAction.java
index 9cb05cb..46bdde9 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/ConfigureStringConstantMenuAction.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/menu/ConfigureStringConstantMenuAction.java
@@ -1,5 +1,8 @@
 package net.sf.taverna.t2.activities.stringconstant.menu;
 
+import static javax.swing.Action.NAME;
+import static net.sf.taverna.t2.activities.stringconstant.actions.StringConstantActivityConfigurationAction.CONFIGURE_STRINGCONSTANT;
+
 import java.net.URI;
 
 import javax.swing.Action;
@@ -12,8 +15,8 @@
 import net.sf.taverna.t2.workbench.file.FileManager;
 import uk.org.taverna.commons.services.ServiceRegistry;
 
-public class ConfigureStringConstantMenuAction extends AbstractConfigureActivityMenuAction {
-
+public class ConfigureStringConstantMenuAction extends
+		AbstractConfigureActivityMenuAction {
 	private static final URI ACTIVITY_TYPE = URI
 			.create("http://ns.taverna.org.uk/2010/activity/constant");
 
@@ -21,7 +24,6 @@
 	private FileManager fileManager;
 	private ActivityIconManager activityIconManager;
 	private ServiceDescriptionRegistry serviceDescriptionRegistry;
-
 	private ServiceRegistry serviceRegistry;
 
 	public ConfigureStringConstantMenuAction() {
@@ -31,10 +33,10 @@
 	@Override
 	protected Action createAction() {
 		StringConstantActivityConfigurationAction configAction = new StringConstantActivityConfigurationAction(
-				findActivity(), getParentFrame(), editManager, fileManager, activityIconManager,
-				serviceDescriptionRegistry, serviceRegistry);
-		configAction.putValue(Action.NAME,
-				StringConstantActivityConfigurationAction.CONFIGURE_STRINGCONSTANT);
+				findActivity(), getParentFrame(), editManager, fileManager,
+				activityIconManager, serviceDescriptionRegistry,
+				serviceRegistry);
+		configAction.putValue(NAME, CONFIGURE_STRINGCONSTANT);
 		addMenuDots(configAction);
 		return configAction;
 	}
@@ -51,12 +53,12 @@
 		this.activityIconManager = activityIconManager;
 	}
 
-	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+	public void setServiceDescriptionRegistry(
+			ServiceDescriptionRegistry serviceDescriptionRegistry) {
 		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
 	}
 
 	public void setServiceRegistry(ServiceRegistry serviceRegistry) {
 		this.serviceRegistry = serviceRegistry;
 	}
-
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantActivityIcon.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantActivityIcon.java
index 4b5ba37..409c0f5 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantActivityIcon.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantActivityIcon.java
@@ -28,16 +28,14 @@
 import net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI;
 
 /**
- *
  * @author Alex Nenadic
- *
  */
-public class StringConstantActivityIcon implements ActivityIconSPI{
-
-	private static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/constant");
-
+public class StringConstantActivityIcon implements ActivityIconSPI {
+	private static final URI ACTIVITY_TYPE = URI
+			.create("http://ns.taverna.org.uk/2010/activity/constant");
 	private static Icon icon = null;
 
+	@Override
 	public int canProvideIconScore(URI activityType) {
 		if (activityType.equals(ACTIVITY_TYPE))
 			return DEFAULT_ICON + 1;
@@ -45,16 +43,16 @@
 			return NO_ICON;
 	}
 
+	@Override
 	public Icon getIcon(URI activityType) {
 		return getStringConstantIcon();
 	}
 
 	public static Icon getStringConstantIcon() {
-		if (icon == null) {
-			icon = new ImageIcon(StringConstantActivityIcon.class.getResource("/stringconstant.png"));
-		}
+		if (icon == null)
+			icon = new ImageIcon(
+					StringConstantActivityIcon.class
+							.getResource("/stringconstant.png"));
 		return icon;
 	}
 }
-
-
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantTemplateService.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantTemplateService.java
index 1df7aba..157f3b6 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantTemplateService.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/servicedescriptions/StringConstantTemplateService.java
@@ -26,20 +26,18 @@
 
 import net.sf.taverna.t2.servicedescriptions.AbstractTemplateService;
 import net.sf.taverna.t2.servicedescriptions.ServiceDescription;
+import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider;
 import uk.org.taverna.scufl2.api.configurations.Configuration;
 
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
 public class StringConstantTemplateService extends AbstractTemplateService {
-
-	private static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/constant");
-
-	public static final String DEFAULT_VALUE = "Add your own value here";
-
-	private static final String STRINGCONSTANT = "Text constant";
-
+	private static final URI ACTIVITY_TYPE = URI
+			.create("http://ns.taverna.org.uk/2010/activity/constant");
 	private static final URI providerId = URI
-	.create("http://taverna.sf.net/2010/service-provider/stringconstant");
+			.create("http://taverna.sf.net/2010/service-provider/stringconstant");
+	public static final String DEFAULT_VALUE = "Add your own value here";
+	private static final String STRINGCONSTANT = "Text constant";
 
 	@Override
 	public URI getActivityType() {
@@ -59,10 +57,12 @@
 		return StringConstantActivityIcon.getStringConstantIcon();
 	}
 
+	@Override
 	public String getName() {
 		return STRINGCONSTANT;
 	}
 
+	@Override
 	public String getDescription() {
 		return "A string value that you can set";
 	}
@@ -72,7 +72,13 @@
 		return scts.templateService;
 	}
 
+	@Override
 	public String getId() {
 		return providerId.toString();
 	}
+
+	@Override
+	public ServiceDescriptionProvider newInstance() {
+		return new StringConstantTemplateService();
+	}
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityContextualView.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityContextualView.java
index 22bb2e6..803692d 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityContextualView.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityContextualView.java
@@ -20,6 +20,9 @@
  ******************************************************************************/
 package net.sf.taverna.t2.activities.stringconstant.views;
 
+import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
+import static org.apache.commons.lang.StringUtils.abbreviate;
+
 import java.awt.Frame;
 
 import javax.swing.Action;
@@ -31,29 +34,28 @@
 import net.sf.taverna.t2.workbench.edits.EditManager;
 import net.sf.taverna.t2.workbench.file.FileManager;
 import net.sf.taverna.t2.workbench.ui.actions.activity.HTMLBasedActivityContextualView;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
-
 import uk.org.taverna.commons.services.ServiceRegistry;
 import uk.org.taverna.scufl2.api.activity.Activity;
 
 import com.fasterxml.jackson.databind.JsonNode;
 
-public class StringConstantActivityContextualView extends HTMLBasedActivityContextualView {
-
+public class StringConstantActivityContextualView extends
+		HTMLBasedActivityContextualView {
 	private static final long serialVersionUID = -553974544001808511L;
+	private static final int MAX_LENGTH = 100;
 
 	private final EditManager editManager;
 	private final FileManager fileManager;
 	private final ActivityIconManager activityIconManager;
 	private final ServiceDescriptionRegistry serviceDescriptionRegistry;
 	private final ServiceRegistry serviceRegistry;
-	private static final int MAX_LENGTH = 100;
 
-	public StringConstantActivityContextualView(Activity activity, EditManager editManager,
-			FileManager fileManager, ActivityIconManager activityIconManager,
-			ColourManager colourManager, ServiceDescriptionRegistry serviceDescriptionRegistry, ServiceRegistry serviceRegistry) {
+	public StringConstantActivityContextualView(Activity activity,
+			EditManager editManager, FileManager fileManager,
+			ActivityIconManager activityIconManager,
+			ColourManager colourManager,
+			ServiceDescriptionRegistry serviceDescriptionRegistry,
+			ServiceRegistry serviceRegistry) {
 		super(activity, colourManager);
 		this.editManager = editManager;
 		this.fileManager = fileManager;
@@ -71,22 +73,21 @@
 	protected String getRawTableRowsHtml() {
 		JsonNode json = getConfigBean().getJson();
 		String value = json.get("string").textValue();
-		value = StringUtils.abbreviate(value, MAX_LENGTH);
-		value = StringEscapeUtils.escapeHtml(value);
+		value = abbreviate(value, MAX_LENGTH);
+		value = escapeHtml(value);
 		String html = "<tr><td>Value</td><td>" + value + "</td></tr>";
 		return html;
 	}
 
 	@Override
 	public Action getConfigureAction(Frame owner) {
-		return new StringConstantActivityConfigurationAction(
-				getActivity(), owner, editManager, fileManager,
-				activityIconManager, serviceDescriptionRegistry, serviceRegistry);
+		return new StringConstantActivityConfigurationAction(getActivity(),
+				owner, editManager, fileManager, activityIconManager,
+				serviceDescriptionRegistry, serviceRegistry);
 	}
 
 	@Override
 	public int getPreferredPosition() {
 		return 100;
 	}
-
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityViewFactory.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityViewFactory.java
index 1f4adf3..3f1e480 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityViewFactory.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantActivityViewFactory.java
@@ -20,8 +20,9 @@
  ******************************************************************************/
 package net.sf.taverna.t2.activities.stringconstant.views;
 
+import static java.util.Arrays.asList;
+
 import java.net.URI;
-import java.util.Arrays;
 import java.util.List;
 
 import net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry;
@@ -34,25 +35,29 @@
 import uk.org.taverna.commons.services.ServiceRegistry;
 import uk.org.taverna.scufl2.api.activity.Activity;
 
-public class StringConstantActivityViewFactory implements ContextualViewFactory<Activity> {
-
-	private static final URI ACTIVITY_TYPE = URI.create("http://ns.taverna.org.uk/2010/activity/constant");
+public class StringConstantActivityViewFactory implements
+		ContextualViewFactory<Activity> {
+	private static final URI ACTIVITY_TYPE = URI
+			.create("http://ns.taverna.org.uk/2010/activity/constant");
 
 	private EditManager editManager;
 	private FileManager fileManager;
 	private ActivityIconManager activityIconManager;
 	private ColourManager colourManager;
 	private ServiceDescriptionRegistry serviceDescriptionRegistry;
-
 	private ServiceRegistry serviceRegistry;
 
+	@Override
 	public boolean canHandle(Object object) {
-		return object instanceof Activity && ((Activity) object).getType().equals(ACTIVITY_TYPE);
+		return object instanceof Activity
+				&& ((Activity) object).getType().equals(ACTIVITY_TYPE);
 	}
 
+	@Override
 	public List<ContextualView> getViews(Activity activity) {
-		return Arrays.asList(new ContextualView[] { new StringConstantActivityContextualView(
-				activity, editManager, fileManager, activityIconManager, colourManager, serviceDescriptionRegistry, serviceRegistry) });
+		return asList(new ContextualView[] { new StringConstantActivityContextualView(
+				activity, editManager, fileManager, activityIconManager,
+				colourManager, serviceDescriptionRegistry, serviceRegistry) });
 	}
 
 	public void setEditManager(EditManager editManager) {
@@ -71,12 +76,12 @@
 		this.colourManager = colourManager;
 	}
 
-	public void setServiceDescriptionRegistry(ServiceDescriptionRegistry serviceDescriptionRegistry) {
+	public void setServiceDescriptionRegistry(
+			ServiceDescriptionRegistry serviceDescriptionRegistry) {
 		this.serviceDescriptionRegistry = serviceDescriptionRegistry;
 	}
 
 	public void setServiceRegistry(ServiceRegistry serviceRegistry) {
 		this.serviceRegistry = serviceRegistry;
 	}
-
 }
diff --git a/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantConfigView.java b/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantConfigView.java
index 92bdf71..b371adb 100644
--- a/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantConfigView.java
+++ b/src/main/java/net/sf/taverna/t2/activities/stringconstant/views/StringConstantConfigView.java
@@ -3,6 +3,23 @@
  */
 package net.sf.taverna.t2.activities.stringconstant.views;
 
+import static java.awt.BorderLayout.CENTER;
+import static java.awt.BorderLayout.SOUTH;
+import static java.awt.Color.WHITE;
+import static java.awt.Font.PLAIN;
+import static java.awt.GridBagConstraints.BOTH;
+import static java.awt.GridBagConstraints.FIRST_LINE_START;
+import static java.lang.String.format;
+import static javax.swing.BorderFactory.createTitledBorder;
+import static javax.swing.JOptionPane.YES_NO_OPTION;
+import static javax.swing.JOptionPane.YES_OPTION;
+import static javax.swing.JOptionPane.showConfirmDialog;
+import static javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION;
+import static javax.swing.border.TitledBorder.DEFAULT_POSITION;
+import static net.sf.taverna.t2.activities.stringconstant.servicedescriptions.StringConstantTemplateService.DEFAULT_VALUE;
+import static net.sf.taverna.t2.lang.ui.FileTools.readStringFromFile;
+import static net.sf.taverna.t2.lang.ui.FileTools.saveStringToFile;
+
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Dimension;
@@ -15,14 +32,11 @@
 
 import javax.swing.JButton;
 import javax.swing.JEditorPane;
-import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JTextPane;
 import javax.swing.event.AncestorEvent;
 import javax.swing.event.AncestorListener;
 
-import net.sf.taverna.t2.activities.stringconstant.servicedescriptions.StringConstantTemplateService;
-import net.sf.taverna.t2.lang.ui.FileTools;
 import net.sf.taverna.t2.lang.ui.LineEnabledTextPanel;
 import net.sf.taverna.t2.lang.ui.LinePainter;
 import net.sf.taverna.t2.lang.ui.NoWrapEditorKit;
@@ -40,26 +54,27 @@
  */
 @SuppressWarnings("serial")
 public class StringConstantConfigView extends ActivityConfigurationPanel {
-
+	private static final String CONTENT_PROPERTY = "string";
+	private static final String TEXT_FILE_EXTENSION = ".txt";
 	public static Logger logger = Logger.getLogger(StringConstantConfigView.class);
+	private static final Color LINE_COLOR = WHITE;
+	@SuppressWarnings("unused")
+	private static final String HELP_TOKEN = "net.sf.taverna.t2.activities.stringconstant.views.StringConstantConfigView";
 
 	/** The text */
 	private JEditorPane scriptTextArea;
-
-	private static final Color LINE_COLOR = Color.WHITE;
-
 	private final ServiceRegistry serviceRegistry;
 
-	public StringConstantConfigView(Activity activity, Configuration configuration,
-			ServiceRegistry serviceRegistry) {
+	public StringConstantConfigView(Activity activity,
+			Configuration configuration, ServiceRegistry serviceRegistry) {
 		super(activity, configuration);
 		this.serviceRegistry = serviceRegistry;
 		setLayout(new GridBagLayout());
 		initialise();
-		this.addAncestorListener(new AncestorListener() {
+		addAncestorListener(new AncestorListener() {
 			@Override
 			public void ancestorAdded(AncestorEvent event) {
-				StringConstantConfigView.this.whenOpened();
+				whenOpened();
 			}
 
 			@Override
@@ -72,15 +87,16 @@
 		});
 	}
 
-	public StringConstantConfigView(Activity activity, ServiceRegistry serviceRegistry) {
+	public StringConstantConfigView(Activity activity,
+			ServiceRegistry serviceRegistry) {
 		super(activity);
 		this.serviceRegistry = serviceRegistry;
 		setLayout(new GridBagLayout());
 		initialise();
-		this.addAncestorListener(new AncestorListener() {
+		addAncestorListener(new AncestorListener() {
 			@Override
 			public void ancestorAdded(AncestorEvent event) {
-				StringConstantConfigView.this.whenOpened();
+				whenOpened();
 			}
 
 			@Override
@@ -93,24 +109,25 @@
 		});
 	}
 
+	@Override
 	public void whenOpened() {
 		scriptTextArea.requestFocus();
-		if (scriptTextArea.getText().equals(StringConstantTemplateService.DEFAULT_VALUE)) {
+		if (scriptTextArea.getText().equals(DEFAULT_VALUE))
 			scriptTextArea.selectAll();
-		}
 	}
 
+	/** The name of the thing we are working with. */
+	protected String entityName() {
+		return "text";
+	}
+
+	@Override
 	protected void initialise() {
 		super.initialise();
-		// CSH
-		// .setHelpIDString(
-		// this,
-		// "net.sf.taverna.t2.activities.stringconstant.views.StringConstantConfigView");
+		// CSH.setHelpIDString(this, HELP_TOKEN);
 
-		setBorder(javax.swing.BorderFactory.createTitledBorder(null, null,
-				javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
-				javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(
-						"Lucida Grande", 1, 12)));
+		setBorder(createTitledBorder(null, null, DEFAULT_JUSTIFICATION,
+				DEFAULT_POSITION, new Font("Lucida Grande", 1, 12)));
 
 		JPanel scriptEditPanel = new JPanel(new BorderLayout());
 
@@ -119,53 +136,51 @@
 
 		// NOTE: Due to T2-1145 - always set editor kit BEFORE setDocument
 		scriptTextArea.setEditorKit(new NoWrapEditorKit());
-		scriptTextArea.setFont(new Font("Monospaced", Font.PLAIN, 14));
-		scriptTextArea.setText(getProperty("string"));
+		scriptTextArea.setFont(new Font("Monospaced", PLAIN, 14));
+		scriptTextArea.setText(getProperty(CONTENT_PROPERTY));
 		scriptTextArea.setCaretPosition(0);
 		scriptTextArea.setPreferredSize(new Dimension(200, 100));
 
-		scriptEditPanel.add(new LineEnabledTextPanel(scriptTextArea), BorderLayout.CENTER);
+		scriptEditPanel.add(new LineEnabledTextPanel(scriptTextArea), CENTER);
 
 		GridBagConstraints outerConstraint = new GridBagConstraints();
-		outerConstraint.anchor = GridBagConstraints.FIRST_LINE_START;
+		outerConstraint.anchor = FIRST_LINE_START;
 		outerConstraint.gridx = 0;
 		outerConstraint.gridy = 0;
 
-		outerConstraint.fill = GridBagConstraints.BOTH;
+		outerConstraint.fill = BOTH;
 		outerConstraint.weighty = 0.1;
 		outerConstraint.weightx = 0.1;
 		add(scriptEditPanel, outerConstraint);
 
-		JButton loadScriptButton = new JButton("Load text");
-		loadScriptButton.setToolTipText("Load text from a file");
+		JButton loadScriptButton = new JButton("Load " + entityName());
+		loadScriptButton.setToolTipText(format("Load %s from a file",
+				entityName()));
 		loadScriptButton.addActionListener(new ActionListener() {
+			@Override
 			public void actionPerformed(ActionEvent e) {
-				String newScript = FileTools.readStringFromFile(StringConstantConfigView.this,
-						"Load text", ".txt");
-				if (newScript != null) {
-					scriptTextArea.setText(newScript);
-					scriptTextArea.setCaretPosition(0);
-				}
+				loadText();
 			}
 		});
 
-		JButton saveRScriptButton = new JButton("Save text");
-		saveRScriptButton.setToolTipText("Save the text to a file");
+		JButton saveRScriptButton = new JButton("Save " + entityName());
+		saveRScriptButton.setToolTipText(format("Save the %s to a file",
+				entityName()));
 		saveRScriptButton.addActionListener(new ActionListener() {
+			@Override
 			public void actionPerformed(ActionEvent e) {
-				FileTools.saveStringToFile(StringConstantConfigView.this, "Save text", ".txt",
-						scriptTextArea.getText());
+				saveText();
 			}
 		});
 
-		JButton clearScriptButton = new JButton("Clear text");
-		clearScriptButton.setToolTipText("Clear current text from the edit area");
+		JButton clearScriptButton = new JButton("Clear " + entityName());
+		clearScriptButton.setToolTipText(format(
+				"Clear current %s from the edit area", entityName()));
 		clearScriptButton.addActionListener(new ActionListener() {
-
+			@Override
 			public void actionPerformed(ActionEvent e) {
-				cleaText();
+				clearText();
 			}
-
 		});
 
 		JPanel buttonPanel = new JPanel();
@@ -174,22 +189,41 @@
 		buttonPanel.add(saveRScriptButton);
 		buttonPanel.add(clearScriptButton);
 
-		scriptEditPanel.add(buttonPanel, BorderLayout.SOUTH);
+		scriptEditPanel.add(buttonPanel, SOUTH);
 		setPreferredSize(new Dimension(600, 500));
 		this.validate();
-
 	}
 
 	/**
-	 * Method for clearing the script
+	 * Method for loading the value
 	 */
-	private void cleaText() {
-		if (JOptionPane.showConfirmDialog(this, "Do you really want to clear the text?",
-				"Clearing the script", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
-			scriptTextArea.setText("");
+	private void loadText() {
+		String newScript = readStringFromFile(this, "Load " + entityName(),
+				TEXT_FILE_EXTENSION);
+		if (newScript != null) {
+			scriptTextArea.setText(newScript);
+			scriptTextArea.setCaretPosition(0);
 		}
 	}
 
+	/**
+	 * Method for saving the value
+	 */
+	private void saveText() {
+		saveStringToFile(this, "Save " + entityName(), TEXT_FILE_EXTENSION,
+				scriptTextArea.getText());
+	}
+
+	/**
+	 * Method for clearing the value
+	 */
+	private void clearText() {
+		if (showConfirmDialog(this,
+				format("Do you really want to clear the %s?", entityName()),
+				"Clearing the " + entityName(), YES_NO_OPTION) == YES_OPTION)
+			scriptTextArea.setText("");
+	}
+
 	@Override
 	public boolean checkValues() {
 		return true;
@@ -197,14 +231,13 @@
 
 	@Override
 	public boolean isConfigurationChanged() {
-		return !scriptTextArea.getText().equals(getProperty("string"));
+		return !scriptTextArea.getText().equals(getProperty(CONTENT_PROPERTY));
 	}
 
 	@Override
 	public void noteConfiguration() {
-		setProperty("string", scriptTextArea.getText());
+		setProperty(CONTENT_PROPERTY, scriptTextArea.getText());
 		configureInputPorts(serviceRegistry);
 		configureOutputPorts(serviceRegistry);
 	}
-
 }
diff --git a/src/main/resources/META-INF/spring/stringconstant-activity-ui-context-osgi.xml b/src/main/resources/META-INF/spring/stringconstant-activity-ui-context-osgi.xml
index 996e30c..359a72d 100644
--- a/src/main/resources/META-INF/spring/stringconstant-activity-ui-context-osgi.xml
+++ b/src/main/resources/META-INF/spring/stringconstant-activity-ui-context-osgi.xml
@@ -7,15 +7,13 @@
                       http://www.springframework.org/schema/osgi/spring-osgi.xsd">
 
 	<service ref="StringConstantActivityIcon" interface="net.sf.taverna.t2.workbench.activityicons.ActivityIconSPI" />
-
 	<service ref="StringConstantTemplateService" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionProvider" />
+	<service ref="StringConstantActivityViewFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
 
 	<service ref="AddStringConstantTemplateAction" auto-export="interfaces" />
 	<service ref="AddStringConstantTemplateMenuAction" auto-export="interfaces" />
 	<service ref="ConfigureStringConstantMenuAction" auto-export="interfaces" />
 
-	<service ref="StringConstantActivityViewFactory" interface="net.sf.taverna.t2.workbench.ui.views.contextualviews.activity.ContextualViewFactory" />
-
 	<reference id="editManager" interface="net.sf.taverna.t2.workbench.edits.EditManager" />
 	<reference id="fileManager" interface="net.sf.taverna.t2.workbench.file.FileManager" />
 	<reference id="menuManager" interface="net.sf.taverna.t2.ui.menu.MenuManager" />
@@ -24,5 +22,4 @@
 	<reference id="colourManager" interface="net.sf.taverna.t2.workbench.configuration.colour.ColourManager" />
 	<reference id="serviceDescriptionRegistry" interface="net.sf.taverna.t2.servicedescriptions.ServiceDescriptionRegistry" />
 	<reference id="serviceRegistry" interface="uk.org.taverna.commons.services.ServiceRegistry" />
-
 </beans:beans>
diff --git a/src/main/resources/META-INF/spring/stringconstant-activity-ui-context.xml b/src/main/resources/META-INF/spring/stringconstant-activity-ui-context.xml
index 28c25d4..19bb6fd 100644
--- a/src/main/resources/META-INF/spring/stringconstant-activity-ui-context.xml
+++ b/src/main/resources/META-INF/spring/stringconstant-activity-ui-context.xml
@@ -46,5 +46,4 @@
 		<property name="serviceDescriptionRegistry" ref="serviceDescriptionRegistry" />
 		<property name="serviceRegistry" ref="serviceRegistry" />
 	</bean>
-
 </beans>
diff --git a/src/test/java/net/sf/taverna/t2/activities/stringconstant/views/TestStringConstantContextualView.java b/src/test/java/net/sf/taverna/t2/activities/stringconstant/views/TestStringConstantContextualView.java
index 6058cea..4555d0c 100644
--- a/src/test/java/net/sf/taverna/t2/activities/stringconstant/views/TestStringConstantContextualView.java
+++ b/src/test/java/net/sf/taverna/t2/activities/stringconstant/views/TestStringConstantContextualView.java
@@ -39,11 +39,15 @@
 		activity = new Activity();
 	}
 
-	@Test @Ignore
+	@Test
+	@Ignore
 	public void testGetConfigureAction() throws Exception {
-		ContextualView view = new StringConstantActivityContextualView(activity, null, null, null, null, null, null);
-		assertNotNull("The action should not be null",view.getConfigureAction(null));
-		assertTrue("Should be a StringConstantActivityConfigurationAction",view.getConfigureAction(null) instanceof StringConstantActivityConfigurationAction);
+		ContextualView view = new StringConstantActivityContextualView(
+				activity, null, null, null, null, null, null);
+		assertNotNull("The action should not be null",
+				view.getConfigureAction(null));
+		assertTrue(
+				"Should be a StringConstantActivityConfigurationAction",
+				view.getConfigureAction(null) instanceof StringConstantActivityConfigurationAction);
 	}
-
 }