T2-936 retagging ui-components-0.10

git-svn-id: https://taverna.googlecode.com/svn/taverna/ui/net.sf.taverna.t2.ui-components/tags/ui-components-0.10@9303 bf327186-88b3-11dd-a302-d386e5130c1c
diff --git a/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRun.java b/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRun.java
index 1c38d62..d5bf6a6 100644
--- a/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRun.java
+++ b/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRun.java
@@ -70,39 +70,33 @@
 	// Unique identifier of the workflow run
 	private String runId;
 
+	private ProvenanceConnector connector;
+
 	public DataflowRun(Dataflow dataflow, Date date, String sessionID) {
 		// get the provenance connector and hope it and the reference service
 		// are the correct ones!! ie. the user has not changed something etc
 		// the reference service is needed to dereference the data so if it is
 		// the 'wrong' one then........
+		this.dataflow = dataflow;
 		this.date = date;
 		this.runId = sessionID;
-		monitorViewComponent = new PreviousRunsComponent();
 		String connectorType = DataManagementConfiguration.getInstance()
 				.getConnectorType();
-		ProvenanceConnector provenanceConnector = null;
 		for (ProvenanceConnectorFactory factory : ProvenanceConnectorFactoryRegistry
 				.getInstance().getInstances()) {
 			if (connectorType.equalsIgnoreCase(factory.getConnectorType())) {
-				provenanceConnector = factory.getProvenanceConnector();
+				connector = factory.getProvenanceConnector();
 			}
 		}
 
 		try {
-			if (provenanceConnector != null) {
-				provenanceConnector.init();
-				provenanceConnector.setSessionID(sessionID);
+			if (connector != null) {
+				connector.init();
+				connector.setSessionID(sessionID);
 			}
 		} catch (Exception except) {
 
 		}
-		monitorViewComponent.setProvenanceConnector(provenanceConnector);
-		monitorObserver = monitorViewComponent.setDataflow(dataflow);
-
-		resultsComponent = new ResultViewComponent();
-		monitorViewComponent.setStatus(MonitorViewComponent.Status.COMPLETE);
-		monitorViewComponent.revalidate();
-		monitorViewComponent.revalidate();
 	}
 
 	public DataflowRun(WorkflowInstanceFacade facade,
@@ -112,7 +106,7 @@
 		this.facade = facade;
 		this.inputs = inputs;
 		this.dataflow = facade.getDataflow();
-		ProvenanceConnector connector = (ProvenanceConnector) (facade
+		connector = (ProvenanceConnector) (facade
 				.getContext().getProvenanceReporter());
 		monitorViewComponent
 				.setProvenanceConnector(connector);
@@ -244,6 +238,15 @@
 	 * @return the monitorViewComponent
 	 */
 	public MonitorViewComponent getMonitorViewComponent() {
+		if (monitorViewComponent == null) {
+			monitorViewComponent = new PreviousRunsComponent();
+			monitorViewComponent.setProvenanceConnector(connector);
+			monitorObserver = monitorViewComponent.setDataflow(dataflow);
+
+			resultsComponent = new ResultViewComponent();
+			monitorViewComponent.setStatus(MonitorViewComponent.Status.COMPLETE);
+			//		monitorViewComponent.revalidate();
+		}
 		return monitorViewComponent;
 	}
 
diff --git a/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRunsComponent.java b/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRunsComponent.java
index 8e91bdc..efbd09e 100644
--- a/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRunsComponent.java
+++ b/run-ui/src/main/java/net/sf/taverna/t2/workbench/run/DataflowRunsComponent.java
@@ -28,6 +28,7 @@
 import java.io.IOException;
 import java.sql.Timestamp;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -157,6 +158,7 @@
 						DataflowRun dataflowRun = (DataflowRun) selection;
 						topPanel.setBottomComponent(dataflowRun
 								.getMonitorViewComponent());
+
 						setBottomComponent(dataflowRun.getResultsComponent());
 						setDividerLocation(location);
 						removeWorkflowRunsButton.setEnabled(true);
@@ -259,7 +261,7 @@
 				BorderLayout.CENTER);
 		setBottomComponent(tempResultsPanel);
 
-		// revalidate();
+	    // revalidate();
 		// setDividerLocation(.3);
 
 		// force reference service to be constructed now rather than at first
@@ -273,7 +275,7 @@
 			}
 			
 		};
-		thread.run();
+		thread.start();
 		
 		// Start listening for requests for previous workflow runs to be deleted 
 		// from the provenance database
@@ -288,6 +290,7 @@
 
 		List<WorkflowInstance> allWorkflowIDs = provenanceAccess
 				.getAllWorkflowIDs();
+		Collections.reverse(allWorkflowIDs);
 		for (WorkflowInstance workflowInstance : allWorkflowIDs) {
 			logger.info("retrieved previous run, workflow id: "
 					+ workflowInstance.getInstanceID() + " date: "
@@ -302,8 +305,7 @@
 						.getDeserializer().deserializeDataflow(rootElement);
 				DataflowRun runComponent = new DataflowRun(dataflow, date,
 						workflowInstance.getInstanceID());
-				runComponent.setDataflow(dataflow);
-				runListModel.add(0, runComponent);
+				runListModel.add(runListModel.getSize(), runComponent);
 			} catch (JDOMException e) {
 				logger.error("Problem with previous run: "
 						+ workflowInstance.getInstanceID() + " " + e);