[jbosstools-commits] JBoss Tools SVN: r23717 - in trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core: .settings and 8 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Jul 23 18:09:12 EDT 2010


Author: jjohnstn
Date: 2010-07-23 18:09:11 -0400 (Fri, 23 Jul 2010)
New Revision: 23717

Added:
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.classpath
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.project
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.jdt.core.prefs
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.pde.core.prefs
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/build.properties
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/apache-mime4j-0.6.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/commons-codec-1.3.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/commons-logging-1.1.1.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/deltacloudclient-1.0.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpclient-4.0.1.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpcore-4.0.1.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpcore-nio-4.0.1.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpmime-4.0.1.jar
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/ICloudManagerListener.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IImageListListener.java
   trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IInstanceListListener.java
Log:
2010-07-23  Jeff Johnston  <jjohnstn at redhat.com>

	* .classpath: New file.
	* .project: New file.
	* .settings/org.eclipse.jdt.core.prefs: New file.
	* .settings/org.eclipse.pde.core.prefs: New file.
	* build.properties: New file.
	* lib/apache-mime4j-0.6.jar: New file.
	* lib/commons-codec-1.3.jar: New file.
	* lib/commons-logging-1.1.1.jar: New file.
	* lib/deltacloudclient-1.0.jar: New file.
	* lib/httpclient-4.0.1.jar: New file.
	* lib/httpcore-4.0.1.jar: New file.
	* lib/httpcore-nio-4.0.1.jar: New file.
	* lib/httpmime-4.0.1.jar: New file.
	* META-INF/MANIFEST.MF: New file.
	* src/org/jboss/tools/deltacloud/core/Activator.java: New file.
	* src/org/jboss/tools/deltacloud/core/DeltaCloud.java: New file.
	* src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java: New file.
	* src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java: New file.
	* src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java: New file.
	* src/org/jboss/tools/deltacloud/core/ICloudManagerListener.java: New file.
	* src/org/jboss/tools/deltacloud/core/IImageListListener.java: New file.
	* src/org/jboss/tools/deltacloud/core/IInstanceListListener.java: New file.

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.classpath
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.classpath	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.classpath	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry exported="true" kind="lib" path="lib/deltacloudclient-1.0.jar" sourcepath="/home/cygnus/jjohnstn/deltacloud-tools/DeltaCloudClient/src"/>
+	<classpathentry exported="true" kind="lib" path="lib/httpclient-4.0.1.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/httpcore-4.0.1.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/httpcore-nio-4.0.1.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/httpmime-4.0.1.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/apache-mime4j-0.6.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/commons-codec-1.3.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/commons-logging-1.1.1.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.project
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.project	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.project	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.jboss.tools.deltacloud.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.jdt.core.prefs	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.jdt.core.prefs	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,8 @@
+#Tue Jul 20 14:47:06 EDT 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.pde.core.prefs
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.pde.core.prefs	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/.settings/org.eclipse.pde.core.prefs	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,3 @@
+#Tue Jul 20 14:58:56 EDT 2010
+eclipse.preferences.version=1
+resolve.requirebundle=false

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/ChangeLog	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,24 @@
+2010-07-23  Jeff Johnston  <jjohnstn at redhat.com>
+
+	* .classpath: New file.
+	* .project: New file.
+	* .settings/org.eclipse.jdt.core.prefs: New file.
+	* .settings/org.eclipse.pde.core.prefs: New file.
+	* build.properties: New file.
+	* lib/apache-mime4j-0.6.jar: New file.
+	* lib/commons-codec-1.3.jar: New file.
+	* lib/commons-logging-1.1.1.jar: New file.
+	* lib/deltacloudclient-1.0.jar: New file.
+	* lib/httpclient-4.0.1.jar: New file.
+	* lib/httpcore-4.0.1.jar: New file.
+	* lib/httpcore-nio-4.0.1.jar: New file.
+	* lib/httpmime-4.0.1.jar: New file.
+	* META-INF/MANIFEST.MF: New file.
+	* src/org/jboss/tools/deltacloud/core/Activator.java: New file.
+	* src/org/jboss/tools/deltacloud/core/DeltaCloud.java: New file.
+	* src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java: New file.
+	* src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java: New file.
+	* src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java: New file.
+	* src/org/jboss/tools/deltacloud/core/ICloudManagerListener.java: New file.
+	* src/org/jboss/tools/deltacloud/core/IImageListListener.java: New file.
+	* src/org/jboss/tools/deltacloud/core/IInstanceListListener.java: New file.
\ No newline at end of file

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/META-INF/MANIFEST.MF	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: DeltaCloud Core
+Bundle-SymbolicName: org.jboss.tools.deltacloud.core
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.jboss.tools.deltacloud.core.Activator
+Bundle-Vendor: Red Hat Inc.
+Require-Bundle: org.eclipse.core.runtime,
+ org.apache.log4j;bundle-version="1.2.13"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.jboss.tools.deltacloud.core;x-friends:="org.jboss.tools.deltacloud.ui"
+Bundle-ClassPath: .,
+ lib/deltacloudclient-1.0.jar,
+ lib/apache-mime4j-0.6.jar,
+ lib/commons-codec-1.3.jar,
+ lib/commons-logging-1.1.1.jar,
+ lib/httpclient-4.0.1.jar,
+ lib/httpcore-4.0.1.jar,
+ lib/httpcore-nio-4.0.1.jar,
+ lib/httpmime-4.0.1.jar

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/build.properties
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/build.properties	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/build.properties	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,14 @@
+source.. = src/,\
+           lib/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               .classpath,\
+               lib/deltacloudclient-1.0.jar,\
+               lib/apache-mime4j-0.6.jar,\
+               lib/commons-codec-1.3.jar,\
+               lib/commons-logging-1.1.1.jar,\
+               lib/httpclient-4.0.1.jar,\
+               lib/httpcore-4.0.1.jar,\
+               lib/httpcore-nio-4.0.1.jar,\
+               lib/httpmime-4.0.1.jar

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/apache-mime4j-0.6.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/apache-mime4j-0.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/commons-codec-1.3.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/commons-codec-1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/commons-logging-1.1.1.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/commons-logging-1.1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/deltacloudclient-1.0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/deltacloudclient-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpclient-4.0.1.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpclient-4.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpcore-4.0.1.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpcore-4.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpcore-nio-4.0.1.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpcore-nio-4.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpmime-4.0.1.jar
===================================================================
(Binary files differ)


Property changes on: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/lib/httpmime-4.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/Activator.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,50 @@
+package org.jboss.tools.deltacloud.core;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.jboss.tools.deltacloud.core";
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloud.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,106 @@
+package org.jboss.tools.deltacloud.core;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.runtime.ListenerList;
+import org.jboss.deltacloud.client.DeltaCloudClient;
+import org.jboss.deltacloud.client.DeltaCloudClientException;
+import org.jboss.deltacloud.client.Image;
+import org.jboss.deltacloud.client.Instance;
+
+public class DeltaCloud {
+	
+	private String name;
+	private String username;
+	private URL url;
+	private DeltaCloudClient client;
+	
+	
+	ListenerList instanceListeners = new ListenerList();
+	ListenerList imageListeners = new ListenerList();
+	
+	public DeltaCloud(String name, URL url, String username, String passwd) throws MalformedURLException {
+		this.client = new DeltaCloudClient(url, username, passwd);
+		this.url = url;
+		this.name = name;
+		this.username = username;
+	}
+
+	public String getName() {
+		return name;
+	}
+	
+	public String getURL() {
+		return url.toString();
+	}
+	
+	public String getUsername() {
+		return username;
+	}
+	
+	public void addInstanceListListener(IInstanceListListener listener) {
+		instanceListeners.add(listener);
+	}
+	
+	public void removeInstanceListListener(IInstanceListListener listener) {
+		instanceListeners.remove(listener);
+	}
+
+	public void notifyInstanceListListeners(DeltaCloudInstance[] array) {
+		Object[] listeners = instanceListeners.getListeners();
+		for (int i = 0; i < listeners.length; ++i)
+			((IInstanceListListener)listeners[i]).listChanged(array);
+	}
+	
+	public void addImageListListener(IImageListListener listener) {
+		imageListeners.add(listener);
+	}
+	
+	public void removeImageListListener(IImageListListener listener) {
+		imageListeners.remove(listener);
+	}
+	
+	public void notifyImageListListeners(DeltaCloudImage[] array) {
+		Object[] listeners = imageListeners.getListeners();
+		for (int i = 0; i < listeners.length; ++i)
+			((IImageListListener)listeners[i]).listChanged(array);
+	}
+
+	public DeltaCloudInstance[] getInstances() {
+		ArrayList<DeltaCloudInstance> instances = new ArrayList<DeltaCloudInstance>();
+		try {
+			List<Instance> list = client.listInstances();
+			for (Iterator<Instance> i = list.iterator(); i.hasNext();) {
+				DeltaCloudInstance instance = new DeltaCloudInstance(i.next());
+				instances.add(instance);
+			}
+		} catch (DeltaCloudClientException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		DeltaCloudInstance[] instanceArray = new DeltaCloudInstance[instances.size()];
+		instanceArray = instances.toArray(instanceArray);
+		notifyInstanceListListeners(instanceArray);
+		return instanceArray;
+	}
+	
+	public DeltaCloudImage[] getImages() {
+		ArrayList<DeltaCloudImage> images = new ArrayList<DeltaCloudImage>();
+		try {
+			List<Image> list = client.listImages();
+			for (Iterator<Image> i = list.iterator(); i.hasNext();) {
+				DeltaCloudImage image = new DeltaCloudImage(i.next());
+				images.add(image);
+			}
+		} catch (DeltaCloudClientException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		return images.toArray(new DeltaCloudImage[images.size()]);
+	}
+
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudImage.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,28 @@
+package org.jboss.tools.deltacloud.core;
+
+import org.jboss.deltacloud.client.Image;
+
+public class DeltaCloudImage {
+
+	private Image image;
+	
+	public DeltaCloudImage(Image image) {
+		this.image = image;
+	}
+	
+	public String getName() {
+		return image.getName();
+	}
+	
+	public String getArchitecture() {
+		return image.getArchitecture();
+	}
+	
+	public String getDescription() {
+		return image.getDescription();
+	}
+	
+	public String getId() {
+		return image.getId();
+	}
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudInstance.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,42 @@
+package org.jboss.tools.deltacloud.core;
+
+import java.util.List;
+
+import org.jboss.deltacloud.client.Instance;
+
+public class DeltaCloudInstance {
+
+	private Instance instance;
+	
+	public DeltaCloudInstance(Instance instance) {
+		this.instance = instance;
+	}
+	
+	public String getName() {
+		return instance.getName();
+	}
+	
+	public String getId() {
+		return instance.getId();
+	}
+	
+	public String getState() {
+		return instance.getState().toString();
+	}
+	
+	public String getFlavorId() {
+		return instance.getFlavorId();
+	}
+	
+	public String getRealmId() {
+		return instance.getRealmId();
+	}
+	
+	public String getImageId() {
+		return instance.getImageId();
+	}
+	
+	public List<String> getHostNames() {
+		return instance.getPublicAddresses();
+	}
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/DeltaCloudManager.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,68 @@
+package org.jboss.tools.deltacloud.core;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+
+import org.eclipse.core.runtime.ListenerList;
+
+public class DeltaCloudManager {
+	
+	private static DeltaCloudManager cloudManager;
+	private ArrayList<DeltaCloud> clouds = new ArrayList<DeltaCloud>();
+	private ListenerList cloudManagerListeners;
+	
+	private DeltaCloudManager() {
+	}
+	
+	public static DeltaCloudManager getDefault() {
+		if (cloudManager == null)
+			cloudManager = new DeltaCloudManager();
+		return cloudManager;
+	}
+	
+	public DeltaCloud[] getClouds() {
+		// FIXME: testing only
+		if (clouds.size() == 0) {
+			try {
+				DeltaCloud x = new DeltaCloud("Red Hat Cloud", new URL("http://localhost:3001/api"), "mockuser", "mockpassword");
+				addCloud(x);
+			} catch (MalformedURLException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		return clouds.toArray(new DeltaCloud[clouds.size()]);
+	}
+
+	public void addCloud(DeltaCloud d) {
+		clouds.add(d);
+		notifyListeners(ICloudManagerListener.ADD_EVENT);
+	}
+	
+	public void removeCloud(DeltaCloud d) {
+		clouds.remove(d);
+		notifyListeners(ICloudManagerListener.REMOVE_EVENT);
+	}
+	
+	public void addCloudManagerListener(ICloudManagerListener listener) {
+		if (cloudManagerListeners == null)
+			cloudManagerListeners = new ListenerList(ListenerList.IDENTITY);
+		cloudManagerListeners.add(listener);
+	}
+
+	public void removeCloudManagerListener(ICloudManagerListener listener) {
+		if (cloudManagerListeners != null)
+			cloudManagerListeners.remove(listener);
+	}
+
+	public void notifyListeners(int type) {
+		if (cloudManagerListeners != null) {
+			Object[] listeners = cloudManagerListeners.getListeners();
+			for (int i = 0; i < listeners.length; ++i) {
+				((ICloudManagerListener)listeners[i]).changeEvent(type);
+			}
+		}
+	}
+	
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/ICloudManagerListener.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/ICloudManagerListener.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/ICloudManagerListener.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,9 @@
+package org.jboss.tools.deltacloud.core;
+
+public interface ICloudManagerListener {
+	
+	public static int ADD_EVENT = 1;
+	public static int REMOVE_EVENT = 2;
+	
+	void changeEvent(int type);
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IImageListListener.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IImageListListener.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IImageListListener.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,7 @@
+package org.jboss.tools.deltacloud.core;
+
+public interface IImageListListener {
+	
+	public void listChanged(DeltaCloudImage[] list);
+	
+}

Added: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IInstanceListListener.java
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IInstanceListListener.java	                        (rev 0)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.core/src/org/jboss/tools/deltacloud/core/IInstanceListListener.java	2010-07-23 22:09:11 UTC (rev 23717)
@@ -0,0 +1,7 @@
+package org.jboss.tools.deltacloud.core;
+
+public interface IInstanceListListener {
+
+	public void listChanged(DeltaCloudInstance[] list);
+	
+}



More information about the jbosstools-commits mailing list