Author: adietish
Date: 2011-01-07 11:50:37 -0500 (Fri, 07 Jan 2011)
New Revision: 27989
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/StartInstanceHandler.java
Log:
[JBIDE-7557] implemented capability to start the stopped instances out of a bunch of
instances (running and stopped ones)
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2011-01-07 16:41:44
UTC (rev 27988)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2011-01-07 16:50:37
UTC (rev 27989)
@@ -1,5 +1,10 @@
2011-01-07 André Dietisheim <André Dietisheim@adietisheim-thinkpad>
+ * src/org/jboss/tools/deltacloud/ui/commands/StartInstanceHandler.java
+ (startWithDialog):
+ (getStoppedInstances):
+ [JBIDE-7557] implemented capability to start the stopped instances out of a bunch of
instances (running and stopped ones)
+
* plugin.xml:
* src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java (execute):
[JBIDE-7916] added ability to refresh several clouds
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml 2011-01-07 16:41:44
UTC (rev 27988)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/plugin.xml 2011-01-07 16:50:37
UTC (rev 27989)
@@ -185,25 +185,17 @@
<handler
class="org.jboss.tools.deltacloud.ui.commands.StartInstanceHandler"
commandId="org.jboss.tools.deltacloud.ui.startinstance">
- <activeWhen>
+ <enabledWhen>
<with
variable="selection">
- <iterate operator="and">
- <and>
- <adapt
-
type="org.jboss.tools.deltacloud.core.DeltaCloudInstance">
- <test property="org.jboss.tools.deltacloud.ui.commands.canStart"
+ <iterate operator="or">
+ <adapt
+ type="org.jboss.tools.deltacloud.core.DeltaCloudInstance">
+ <test property="org.jboss.tools.deltacloud.ui.commands.canStart"
value="true"/>
- </adapt>
- </and>
+ </adapt>
</iterate>
</with>
- </activeWhen>
- <enabledWhen>
- <with
- variable="selection">
- <count value="+" />
- </with>
</enabledWhen>
</handler>
<handler
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/StartInstanceHandler.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/StartInstanceHandler.java 2011-01-07
16:41:44 UTC (rev 27988)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/StartInstanceHandler.java 2011-01-07
16:50:37 UTC (rev 27989)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.deltacloud.ui.commands;
+import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.commands.ExecutionEvent;
@@ -61,17 +62,28 @@
@SuppressWarnings("unchecked")
private void startWithDialog(IStructuredSelection selection) {
List<DeltaCloudInstance> deltaCloudInstances =
UIUtils.adapt((List<DeltaCloudInstance>) selection.toList(),
DeltaCloudInstance.class);
+ List<DeltaCloudInstance> stoppedInstances =
getStoppedInstances(deltaCloudInstances);
DeltaCloudInstanceDialog dialog = new DeltaCloudInstanceDialog(
UIUtils.getActiveShell()
- , deltaCloudInstances
+ , stoppedInstances
, CVMessages.getString(START_INSTANCES_DIALOG_TITLE)
, CVMessages.getString(START_INSTANCES_DIALOG_MSG));
- dialog.setInitialElementSelections(deltaCloudInstances);
+ dialog.setInitialElementSelections(stoppedInstances);
if (Dialog.OK == dialog.open()) {
startInstances(dialog.getResult());
}
}
+ private List<DeltaCloudInstance>
getStoppedInstances(List<DeltaCloudInstance> deltaCloudInstances) {
+ ArrayList<DeltaCloudInstance> stoppedInstances = new
ArrayList<DeltaCloudInstance>();
+ for (DeltaCloudInstance instance : deltaCloudInstances) {
+ if (instance.isStopped()) {
+ stoppedInstances.add(instance);
+ }
+ }
+ return stoppedInstances;
+ }
+
private void startInstances(Object[] deltaCloudInstances) {
for (int i = 0; i < deltaCloudInstances.length; i++) {
Assert.isTrue(deltaCloudInstances[i] instanceof DeltaCloudInstance);