Author: jjohnstn
Date: 2010-08-23 18:38:22 -0400 (Mon, 23 Aug 2010)
New Revision: 24368
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/DeltaCloudPerspective.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCategoryElement.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCloudElement.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVInstancesCategoryElement.java
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/ImageView.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageViewLabelAndContentProvider.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceView.java
Log:
2010-08-23 Jeff Johnston <jjohnstn(a)redhat.com>
* src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java: New file.
* src/org/jboss/tools/deltacloud/ui/DeltaCloudPerspective.java (createInitialLayout): Add
Images
view.
* src/org/jboss/tools/deltacloud/ui/views/CVCategoryElement.java (getChildren): Return
super getChildren.
* src/org/jboss/tools/deltacloud/ui/views/CVCloudElement.java (getChildren):
(loadChildren): New method that runs a thread to load instances and images.
* src/org/jboss/tools/deltacloud/ui/views/CVInstancesCategoryElement.java (getChildren):
Use
getCurrInstances method of cloud instead of getInstances.
* src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java (fillLocalPullDown):
Don't enable
the remove cloud and refresh cloud unless item selected.
(.run): Change refresh action to refresh the cloud, not whole view.
* src/org/jboss/tools/deltacloud/ui/views/ImageView.java:
(makeActions): Add refresh view action and remove double click action.
(fillLocalPullDown): Add refresh view action.
* src/org/jboss/tools/deltacloud/ui/views/ImageViewLabelAndContentProvider.java
(inputChanged): Call
getCurrImages rather than getImages method of DeltaCloud.
* src/org/jboss/tools/deltacloud/ui/views/InstanceView.java (.run): Add RSE action.
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-08-23 22:16:03
UTC (rev 24367)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-08-23 22:38:22
UTC (rev 24368)
@@ -1,3 +1,24 @@
+2010-08-23 Jeff Johnston <jjohnstn(a)redhat.com>
+
+ * src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java: New file.
+ * src/org/jboss/tools/deltacloud/ui/DeltaCloudPerspective.java (createInitialLayout):
Add Images
+ view.
+ * src/org/jboss/tools/deltacloud/ui/views/CVCategoryElement.java (getChildren): Return
+ super getChildren.
+ * src/org/jboss/tools/deltacloud/ui/views/CVCloudElement.java (getChildren):
+ (loadChildren): New method that runs a thread to load instances and images.
+ * src/org/jboss/tools/deltacloud/ui/views/CVInstancesCategoryElement.java (getChildren):
Use
+ getCurrInstances method of cloud instead of getInstances.
+ * src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java (fillLocalPullDown):
Don't enable
+ the remove cloud and refresh cloud unless item selected.
+ (.run): Change refresh action to refresh the cloud, not whole view.
+ * src/org/jboss/tools/deltacloud/ui/views/ImageView.java:
+ (makeActions): Add refresh view action and remove double click action.
+ (fillLocalPullDown): Add refresh view action.
+ * src/org/jboss/tools/deltacloud/ui/views/ImageViewLabelAndContentProvider.java
(inputChanged): Call
+ getCurrImages rather than getImages method of DeltaCloud.
+ * src/org/jboss/tools/deltacloud/ui/views/InstanceView.java (.run): Add RSE action.
+
2010-08-20 Jeff Johnston <jjohnstn(a)redhat.com>
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewCloudConnection.java
(performFinish): Store the
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/DeltaCloudPerspective.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/DeltaCloudPerspective.java 2010-08-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/DeltaCloudPerspective.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -13,6 +13,8 @@
0.80f, IPageLayout.ID_EDITOR_AREA);
layout.addView("org.jboss.tools.deltacloud.ui.views.InstanceView",
IPageLayout.BOTTOM,
0.80f, IPageLayout.ID_EDITOR_AREA);
+ layout.addView("org.jboss.tools.deltacloud.ui.views.ImageView",
IPageLayout.BOTTOM,
+ 0.80f, IPageLayout.ID_EDITOR_AREA);
}
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCategoryElement.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCategoryElement.java 2010-08-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCategoryElement.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -1,10 +1,8 @@
package org.jboss.tools.deltacloud.ui.views;
import org.eclipse.ui.views.properties.IPropertySource;
-import org.jboss.tools.deltacloud.core.DeltaCloud;
-import org.jboss.tools.deltacloud.core.DeltaCloudImage;
-public class CVCategoryElement extends CloudViewElement {
+public abstract class CVCategoryElement extends CloudViewElement {
public final static int INSTANCES = 0;
public final static int IMAGES = 1;
@@ -19,18 +17,6 @@
@Override
public Object[] getChildren() {
- if (!initialized) {
- DeltaCloud cloud = (DeltaCloud)getElement();
- if (type == IMAGES) {
- DeltaCloudImage[] images = cloud.getImages();
- for (int i = 0; i < images.length; ++i) {
- DeltaCloudImage d = images[i];
- CVImageElement element = new CVImageElement(d, d.getName());
- addChild(element);
- }
- initialized = true;
- }
- }
return super.getChildren();
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCloudElement.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCloudElement.java 2010-08-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVCloudElement.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -32,8 +32,8 @@
DeltaCloud cloud = (DeltaCloud)getElement();
CVCategoryElement c1 = new CVInstancesCategoryElement(cloud,
CVMessages.getString(INSTANCE_CATEGORY_NAME),
viewer);
- CVCategoryElement c2 = new CVCategoryElement(cloud,
CVMessages.getString(IMAGE_CATEGORY_NAME),
- CVCategoryElement.IMAGES);
+ CVCategoryElement c2 = new CVImagesCategoryElement(cloud,
CVMessages.getString(IMAGE_CATEGORY_NAME),
+ viewer);
addChild(c1);
addChild(c2);
}
@@ -46,4 +46,8 @@
return new CloudPropertySource(getElement());
}
+ public void loadChildren() {
+ DeltaCloud cloud = (DeltaCloud)getElement();
+ cloud.loadChildren();
+ }
}
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVImagesCategoryElement.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -0,0 +1,63 @@
+package org.jboss.tools.deltacloud.ui.views;
+
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.deltacloud.core.DeltaCloud;
+import org.jboss.tools.deltacloud.core.DeltaCloudImage;
+import org.jboss.tools.deltacloud.core.IImageListListener;
+
+public class CVImagesCategoryElement extends CVCategoryElement implements
IImageListListener {
+
+ private Viewer viewer;
+ private CVImagesCategoryElement category;
+
+ public CVImagesCategoryElement(Object element, String name, Viewer viewer) {
+ super(element, name, CVCategoryElement.INSTANCES);
+ this.viewer = viewer;
+ DeltaCloud cloud = (DeltaCloud)getElement();
+ cloud.addImageListListener(this);
+ this.category = this;
+ }
+
+ protected void finalize() throws Throwable {
+ DeltaCloud cloud = (DeltaCloud)getElement();
+ cloud.removeImageListListener(this);
+ super.finalize();
+ }
+
+ @Override
+ public Object[] getChildren() {
+ if (!initialized) {
+ DeltaCloud cloud = (DeltaCloud)getElement();
+ cloud.removeImageListListener(this);
+ DeltaCloudImage[] images = cloud.getCurrImages();
+ for (int i = 0; i < images.length; ++i) {
+ DeltaCloudImage d = images[i];
+ CVImageElement element = new CVImageElement(d, d.getName());
+ addChild(element);
+ }
+ initialized = true;
+ cloud.addImageListListener(this);
+ }
+ return super.getChildren();
+ }
+
+ @Override
+ public void listChanged(DeltaCloudImage[] images) {
+ clearChildren();
+ for (int i = 0; i < images.length; ++i) {
+ DeltaCloudImage d = images[i];
+ CVImageElement element = new CVImageElement(d, d.getName());
+ addChild(element);
+ }
+ initialized = true;
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ ((TreeViewer)viewer).refresh(category, false);
+ }
+ });
+ }
+
+}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVInstancesCategoryElement.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVInstancesCategoryElement.java 2010-08-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/CVInstancesCategoryElement.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -31,7 +31,7 @@
if (!initialized) {
DeltaCloud cloud = (DeltaCloud)getElement();
cloud.removeInstanceListListener(this);
- DeltaCloudInstance[] instances = cloud.getInstances();
+ DeltaCloudInstance[] instances = cloud.getCurrInstances();
for (int i = 0; i < instances.length; ++i) {
DeltaCloudInstance d = instances[i];
CVInstanceElement element = new CVInstanceElement(d, d.getName());
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-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/DeltaCloudView.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -27,7 +27,6 @@
import org.eclipse.ui.part.ViewPart;
import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
-import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.jboss.tools.deltacloud.core.DeltaCloud;
import org.jboss.tools.deltacloud.core.DeltaCloudImage;
import org.jboss.tools.deltacloud.core.DeltaCloudManager;
@@ -128,6 +127,12 @@
private void fillLocalPullDown(IMenuManager manager) {
manager.add(removeCloud);
+ IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
+ CloudViewElement element = (CloudViewElement)selection.getFirstElement();
+ if (element == null)
+ removeCloud.setEnabled(false);
+ else
+ removeCloud.setEnabled(true);
manager.add(refreshAction);
}
@@ -197,7 +202,15 @@
refreshAction = new Action() {
public void run() {
- viewer.setInput(new CVRootElement(viewer));
+ ISelection selection = viewer.getSelection();
+ Object obj = ((IStructuredSelection)selection).getFirstElement();
+ if (obj instanceof CloudViewElement) {
+ CloudViewElement element = (CloudViewElement)obj;
+ while (!(element instanceof CVCloudElement))
+ element = (CloudViewElement)element.getParent();
+ CVCloudElement cloud = (CVCloudElement)element;
+ cloud.loadChildren();
+ }
}
};
refreshAction.setText(CVMessages.getString(REFRESH));
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageView.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageView.java 2010-08-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageView.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -6,11 +6,8 @@
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.layout.TableColumnLayout;
import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
@@ -37,6 +34,7 @@
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.ViewPart;
@@ -51,6 +49,7 @@
private final static String CLOUD_SELECTOR_LABEL = "CloudSelector.label";
//$NON-NLS-1$
private final static String LAUNCH_INSTANCE = "CreateInstance.label";
//$NON-NLS-1$
+ private static final String REFRESH = "Refresh.label"; //$NON-NLS-1$
private TableViewer viewer;
private Composite container;
@@ -63,7 +62,7 @@
private ImageViewLabelAndContentProvider contentProvider;
- private Action doubleClickAction;
+ private Action refreshAction;
private Action launchAction;
private ImageView parentView;
@@ -206,7 +205,6 @@
PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
"org.jboss.tools.deltacloud.ui.viewer");
makeActions();
hookContextMenu();
- hookDoubleClickAction();
hookSelection();
contributeToActionBars();
@@ -247,7 +245,7 @@
}
private void fillLocalPullDown(IMenuManager manager) {
- //TODO
+ manager.add(refreshAction);
}
private void fillContextMenu(IMenuManager manager) {
@@ -261,13 +259,25 @@
}
private void makeActions() {
- doubleClickAction = new Action() {
+ refreshAction = new Action() {
public void run() {
- ISelection selection = viewer.getSelection();
- Object obj = ((IStructuredSelection)selection).getFirstElement();
- showMessage("Double-click detected on "+obj.toString());
+ Thread t = new Thread(new Runnable() {
+
+ @Override
+ public void run() {
+ if (currCloud != null) {
+ currCloud.getImages();
+ }
+ }
+
+ });
+ t.start();
}
};
+ refreshAction.setText(CVMessages.getString(REFRESH));
+ refreshAction.setToolTipText(CVMessages.getString(REFRESH));
+ refreshAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
+ getImageDescriptor(ISharedImages.IMG_TOOL_REDO));
launchAction = new Action() {
public void run() {
@@ -293,21 +303,6 @@
launchAction.setToolTipText(CVMessages.getString(LAUNCH_INSTANCE));
}
- private void hookDoubleClickAction() {
- viewer.addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- doubleClickAction.run();
- }
- });
- }
-
- private void showMessage(String message) {
- MessageDialog.openInformation(
- viewer.getControl().getShell(),
- CVMessages.getString("CloudViewName"), //$NON-NLS-1$
- message);
- }
-
@Override
public void setFocus() {
// TODO Auto-generated method stub
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageViewLabelAndContentProvider.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageViewLabelAndContentProvider.java 2010-08-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/ImageViewLabelAndContentProvider.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -74,7 +74,7 @@
images = (DeltaCloudImage[])newInput;
} else {
cloud = (DeltaCloud)newInput;
- images = cloud.getImages();
+ images = cloud.getCurrImages();
}
}
}
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-23
22:16:03 UTC (rev 24367)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/views/InstanceView.java 2010-08-23
22:38:22 UTC (rev 24368)
@@ -24,8 +24,9 @@
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.rse.core.IRSECoreRegistry;
import org.eclipse.rse.core.IRSESystemType;
-import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.core.RSECorePlugin;
import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.core.model.SystemStartHere;
import org.eclipse.swt.SWT;
@@ -469,7 +470,21 @@
DeltaCloudInstance instance =
(DeltaCloudInstance)((IStructuredSelection)selection).getFirstElement();
String hostname = instance.getHostName();
ISystemRegistry registry = SystemStartHere.getSystemRegistry();
+ RSECorePlugin rsep = RSECorePlugin.getDefault();
+ IRSECoreRegistry coreRegistry = rsep.getCoreRegistry();
+ IRSESystemType[] sysTypes = coreRegistry.getSystemTypes();
+ IRSESystemType sshType = null;
+ for (IRSESystemType sysType : sysTypes) {
+ if (sysType.getId().equals(IRSESystemType.SYSTEMTYPE_SSH_ONLY_ID))
+ sshType = sysType;
+ }
String connectionName = instance.getName() + " [" + instance.getId() +
"]"; //$NON-NLS-1$ //$NON-NLS-2$
+ try {
+ registry.createHost(sshType, connectionName, hostname, null);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
};
rseAction.setText(CVMessages.getString(RSE_LABEL));