[jbosstools-commits] JBoss Tools SVN: r24046 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui: src/org/jboss/tools/deltacloud/ui/views and 1 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Aug 11 10:36:50 EDT 2010


Author: jjohnstn
Date: 2010-08-11 10:36:49 -0400 (Wed, 11 Aug 2010)
New Revision: 24046

Modified:
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/build.properties
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceView.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties
Log:
2010-08-11  Jeff Johnston  <jjohnstn at redhat.com>

	* build.properties: Add plugin.properties to bin list.
	* src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties: New messages. 
	* src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java (fillContextMenu): Remove
	all context actions for Instances for the time-being. 
	* src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java: Remove unused
	DOWN constant.
	* src/org/jboss/tools/deltacloud/ui/views/InstanceView.java (listChanged): New method. 
	(.modifyText): Remove and add the Instance list listener for the current cloud.
	(createPartControl): Add this as InstanceListListener for current cloud. 
	(InstanceView): Make InstanceView implement IInstanceListListener. 
	* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java (performFinish): Add
	a confirmation dialog as well as use a busy indicator while waiting to confirm that the
	new Instance has started.
	* src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties: New messages.



Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog	2010-08-11 14:36:49 UTC (rev 24046)
@@ -1,3 +1,20 @@
+2010-08-11  Jeff Johnston  <jjohnstn at redhat.com>
+
+	* build.properties: Add plugin.properties to bin list.
+	* src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties: New messages. 
+	* src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java (fillContextMenu): Remove
+	all context actions for Instances for the time-being. 
+	* src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java: Remove unused
+	DOWN constant.
+	* src/org/jboss/tools/deltacloud/ui/views/InstanceView.java (listChanged): New method. 
+	(.modifyText): Remove and add the Instance list listener for the current cloud.
+	(createPartControl): Add this as InstanceListListener for current cloud. 
+	(InstanceView): Make InstanceView implement IInstanceListListener. 
+	* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java (performFinish): Add
+	a confirmation dialog as well as use a busy indicator while waiting to confirm that the
+	new Instance has started.
+	* src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties: New messages.
+
 2010-08-09  Jeff Johnston  <jjohnstn at redhat.com>
 
 	* src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java: New file.

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/build.properties
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/build.properties	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/build.properties	2010-08-11 14:36:49 UTC (rev 24046)
@@ -4,4 +4,5 @@
                META-INF/,\
                .,\
                icons/,\
-               contexts.xml
+               contexts.xml,\
+               plugin.properties

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVMessages.properties	2010-08-11 14:36:49 UTC (rev 24046)
@@ -21,6 +21,7 @@
 RemoveCloud.label=Disconnect Cloud
 Refresh.label=Refresh View
 CreateInstance.label=Launch Instance
+DeleteInstance.label=Delete Instance
 
 NAME=Name
 ID=ID

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java	2010-08-11 14:36:49 UTC (rev 24046)
@@ -130,9 +130,8 @@
 	private void fillContextMenu(IMenuManager manager) {
 		if (selectedElement instanceof CVImageElement) {
 			manager.add(createInstance);
-		} else {
-			manager.add(action1);
-			manager.add(action2);
+		} else if (selectedElement instanceof CVInstanceElement){
+			//TODO: add meaningful actions here
 		}
 		// Other plug-ins can contribute there actions here
 		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceComparator.java	2010-08-11 14:36:49 UTC (rev 24046)
@@ -8,9 +8,7 @@
 public class InstanceComparator extends ViewerComparator {
 	
 	private final static int UP = 1;
-	private final static int DOWN = -1;
-	
-		
+			
 	private int column;
 	private int direction;
 	

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceView.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceView.java	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceView.java	2010-08-11 14:36:49 UTC (rev 24046)
@@ -21,7 +21,6 @@
 import org.eclipse.swt.events.ModifyListener;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.TreeAdapter;
 import org.eclipse.swt.events.VerifyEvent;
 import org.eclipse.swt.events.VerifyListener;
 import org.eclipse.swt.layout.FormAttachment;
@@ -41,8 +40,9 @@
 import org.jboss.tools.deltacloud.core.DeltaCloudInstance;
 import org.jboss.tools.deltacloud.core.DeltaCloudManager;
 import org.jboss.tools.deltacloud.core.ICloudManagerListener;
+import org.jboss.tools.deltacloud.core.IInstanceListListener;
 
-public class InstanceView extends ViewPart implements ICloudManagerListener {
+public class InstanceView extends ViewPart implements ICloudManagerListener, IInstanceListListener {
 
 	private final static String CLOUD_SELECTOR_LABEL = "CloudSelector.label"; //$NON-NLS-1$
 	private TableViewer viewer;
@@ -54,9 +54,10 @@
 	private DeltaCloud currCloud;
 	
 	private Action doubleClickAction;
+	private InstanceView parentView;
 
 	public InstanceView() {
-		// TODO Auto-generated constructor stub
+		parentView = this;
 	}
 
 	private ModifyListener cloudModifyListener = new ModifyListener() {
@@ -65,7 +66,10 @@
 		public void modifyText(ModifyEvent e) {
 			int index = cloudSelector.getSelectionIndex();
 			currCloud = clouds[index];
+			currCloud.removeInstanceListListener(parentView);
 			viewer.setInput(currCloud);
+			currCloud.addInstanceListListener(parentView);
+			viewer.refresh();
 		}
 		
 	};
@@ -147,6 +151,7 @@
 		table.setSortDirection(SWT.UP);
 		
 		viewer.setInput(clouds[0]);
+		currCloud.addInstanceListListener(parentView);
 
 		FormData f = new FormData();
 		f.top = new FormAttachment(0, 8);
@@ -283,4 +288,12 @@
 		cloudSelector.addModifyListener(cloudModifyListener);
 	}
 
+	@Override
+	public void listChanged(DeltaCloudInstance[] list) {
+		currCloud.removeInstanceListListener(parentView);
+		viewer.setInput(currCloud);
+		viewer.refresh();
+		currCloud.addInstanceListListener(parentView);
+	}
+
 }

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstance.java	2010-08-11 14:36:49 UTC (rev 24046)
@@ -3,16 +3,22 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 
+import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.preferences.InstanceScope;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.ErrorDialog;
 import org.eclipse.jface.dialogs.MessageDialogWithToggle;
+import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.progress.IProgressService;
 import org.jboss.tools.deltacloud.core.DeltaCloud;
 import org.jboss.tools.deltacloud.core.DeltaCloudException;
 import org.jboss.tools.deltacloud.core.DeltaCloudImage;
+import org.jboss.tools.deltacloud.core.DeltaCloudInstance;
 import org.jboss.tools.deltacloud.ui.Activator;
 import org.jboss.tools.deltacloud.ui.IDeltaCloudPreferenceConstants;
 import org.osgi.service.prefs.Preferences;
@@ -25,11 +31,13 @@
 	private final static String CONFIRM_CREATE_TITLE = "ConfirmCreate.title"; //$NON-NLS-1$
 	private final static String CONFIRM_CREATE_MSG = "ConfirmCreate.msg"; //$NON-NLS-1$
 	private final static String DONT_SHOW_THIS_AGAIN_MSG = "DontShowThisAgain.msg"; //$NON-NLS-1$
+	private final static String STARTING_INSTANCE_MSG = "StartingInstance.msg"; //$NON-NLS-1$
 	
 	private NewInstancePage mainPage;
 	
 	private DeltaCloud cloud;
 	private DeltaCloudImage image;
+	private DeltaCloudInstance instance;
 
 	public NewInstance(DeltaCloud cloud, DeltaCloudImage image) {
 		this.cloud = cloud;
@@ -81,7 +89,34 @@
 					prefs.putBoolean(IDeltaCloudPreferenceConstants.DONT_CONFIRM_CREATE_INSTANCE, true);
 				}
 			}
-			result = cloud.createInstance(name, imageId, realmId, profileId);
+			instance = cloud.createInstance(name, imageId, realmId, profileId);
+			if (instance != null)
+				result = true;
+			final String instanceId = instance.getId();
+			final String instanceName = name;
+			if (instance != null) {
+				IWorkbench wb = PlatformUI.getWorkbench();
+				IProgressService ps = wb.getProgressService();
+				try {
+					ps.busyCursorWhile(new IRunnableWithProgress() {
+						public void run(IProgressMonitor pm) {
+							pm.beginTask(WizardMessages.getFormattedString(STARTING_INSTANCE_MSG, new String[] {instanceName}), IProgressMonitor.UNKNOWN);
+							pm.worked(1);
+							try {
+								for (int i = 0; i < 2; ++i) {
+									instance = cloud.refreshInstance(instanceId);
+									if (!instance.getState().equals(DeltaCloudInstance.PENDING))
+										break;
+								}
+							} finally {
+								pm.done();
+							}
+						}
+					});
+				} catch(Exception ex) {
+					errorMessage = ex.getLocalizedMessage();
+				}
+			}
 		} catch (DeltaCloudException e) {
 			errorMessage = e.getLocalizedMessage();
 		}

Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties	2010-08-11 14:18:57 UTC (rev 24045)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/WizardMessages.properties	2010-08-11 14:36:49 UTC (rev 24046)
@@ -40,4 +40,6 @@
 
 NewInstance.desc=Specify details for a new instance you wish to launch based on an image
 NewInstance.title=Launch Instance
-NewInstance.name=Launch Instance
\ No newline at end of file
+NewInstance.name=Launch Instance
+
+StartingInstance.msg=Starting Instance: {0}
\ No newline at end of file



More information about the jbosstools-commits mailing list