[jboss-svn-commits] JBL Code SVN: r10422 - in labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel: model and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 21 19:37:06 EDT 2007


Author: rex.sheridan
Date: 2007-03-21 19:37:06 -0400 (Wed, 21 Mar 2007)
New Revision: 10422

Added:
   labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/common/ConfigDescriptor.as
Modified:
   labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/.flexLibProperties
   labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/JBossESBModel.as
   labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/ServerManager.as
Log:
Added model support for multiple deployments.

Modified: labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/.flexLibProperties
===================================================================
--- labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/.flexLibProperties	2007-03-21 23:36:24 UTC (rev 10421)
+++ labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/.flexLibProperties	2007-03-21 23:37:06 UTC (rev 10422)
@@ -1,30 +1,31 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <flexLibProperties version="1">
   <includeClasses>
+    <classEntry path="model.common.ConfigDescriptor"/>
+    <classEntry path="model.services.ActionTemplateManager"/>
+    <classEntry path="model.services.Listener"/>
+    <classEntry path="model.common.XmlUtils"/>
+    <classEntry path="model.common.Namespaces"/>
+    <classEntry path="model.providers.Provider"/>
+    <classEntry path="model.services.Service"/>
     <classEntry path="model.JBossESB"/>
-    <classEntry path="model.JBossESBModel"/>
+    <classEntry path="model.providers.JmsBus"/>
     <classEntry path="model.ServerManager"/>
-    <classEntry path="model.common.Namespaces"/>
-    <classEntry path="model.common.Property"/>
-    <classEntry path="model.common.XmlUtils"/>
+    <classEntry path="model.services.FtpListener"/>
     <classEntry path="model.providers.Bus"/>
-    <classEntry path="model.providers.FileBus"/>
+    <classEntry path="model.JBossESBModel"/>
+    <classEntry path="model.providers.FileProvider"/>
     <classEntry path="model.providers.FileMessageFilter"/>
-    <classEntry path="model.providers.FileProvider"/>
-    <classEntry path="model.providers.FtpBus"/>
-    <classEntry path="model.providers.FtpMessageFilter"/>
     <classEntry path="model.providers.FtpProvider"/>
-    <classEntry path="model.providers.JmsBus"/>
+    <classEntry path="model.common.Property"/>
     <classEntry path="model.providers.JmsMessageFilter"/>
+    <classEntry path="model.services.FileListener"/>
+    <classEntry path="model.providers.FtpMessageFilter"/>
+    <classEntry path="model.providers.FileBus"/>
+    <classEntry path="model.providers.FtpBus"/>
+    <classEntry path="model.services.JmsListener"/>
     <classEntry path="model.providers.JmsProvider"/>
-    <classEntry path="model.providers.Provider"/>
     <classEntry path="model.services.Action"/>
-    <classEntry path="model.services.ActionTemplateManager"/>
-    <classEntry path="model.services.FileListener"/>
-    <classEntry path="model.services.FtpListener"/>
-    <classEntry path="model.services.JmsListener"/>
-    <classEntry path="model.services.Listener"/>
-    <classEntry path="model.services.Service"/>
   </includeClasses>
   <includeResources/>
   <namespaceManifests/>

Modified: labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/JBossESBModel.as
===================================================================
--- labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/JBossESBModel.as	2007-03-21 23:36:24 UTC (rev 10421)
+++ labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/JBossESBModel.as	2007-03-21 23:37:06 UTC (rev 10422)
@@ -17,6 +17,9 @@
 		
 		/** Configuration model loaded from XML */
 		private var _config:JBossESB = new JBossESB();
+		
+		/** Configuration file name */
+		public var selectedConfigName:String;
 
 		/** Base URL for server calls */
 		public var serverBaseUrl:String = "http://localhost:8080/";
@@ -39,6 +42,9 @@
 		/** Currently selected action */
 		public var selectedAction:Action;
 		
+		/** List of available configs on the server */
+		public var configsList:ArrayCollection = new ArrayCollection();
+		
 		/**
 		 * Setter for the working configuration.
 		 */

Modified: labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/ServerManager.as
===================================================================
--- labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/ServerManager.as	2007-03-21 23:36:24 UTC (rev 10421)
+++ labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/ServerManager.as	2007-03-21 23:37:06 UTC (rev 10422)
@@ -11,6 +11,9 @@
 	import model.JBossESBModel;
 	
 	import mx.controls.Alert;
+	import flash.net.URLVariables;
+	import model.common.ConfigDescriptor;
+	import mx.collections.ArrayCollection;
 	
 	/**
 	 * Manages interactions with a remote server.
@@ -26,12 +29,18 @@
 		/** Uploads data to the server */
 		protected var uploader:URLLoader;
 		
+		/** Uploads data to the server */
+		protected var configLister:URLLoader;
+		
 		/** URL called to download the config from the server */
 		protected static const DOWNLOAD_SUFFIX:String = "esbconfig/download";
 		
 		/** URL called to upload a config to the server */
 		protected static const UPLOAD_SUFFIX:String = "esbconfig/upload";
 		
+		/** URL called to get a list of configurations on the server */
+		protected static const CONFIGLIST_SUFFIX:String = "esbconfig/list";
+		
 		/**
 		 * Create a ServerManager and initialize it.
 		 */
@@ -45,15 +54,23 @@
 			this.uploader.addEventListener(Event.COMPLETE, uploadComplete);
 			this.uploader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
 			this.uploader.addEventListener(IOErrorEvent.IO_ERROR, ioError);
+			
+			this.configLister = new URLLoader();
+			this.configLister.addEventListener(Event.COMPLETE, configListComplete);
+			this.configLister.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityError);
+			this.configLister.addEventListener(IOErrorEvent.IO_ERROR, ioError);
 		}
 			
 		/**
 		 * Start a download.
 		 */
 		public function startDownload():void {
-			var request:URLRequest = new URLRequest();
-			request.url = jmodel.serverBaseUrl + DOWNLOAD_SUFFIX;
-			this.downloader.load(request);
+			if (jmodel.selectedConfigName != null) {
+				var request:URLRequest = new URLRequest();
+				var params:String = "/" + jmodel.selectedConfigName;
+				request.url = jmodel.serverBaseUrl + DOWNLOAD_SUFFIX + params;
+				this.downloader.load(request);
+			}
 		}
 		
 		/**
@@ -67,11 +84,14 @@
 		 * Start an upload.
 		 */
 		public function startUpload():void {
-			var request:URLRequest = new URLRequest();
-			request.url = jmodel.serverBaseUrl + UPLOAD_SUFFIX;
-			request.method = URLRequestMethod.POST;
-			request.data = jmodel.getConfigAsXml().toXMLString();
-			this.uploader.load(request);
+			if (jmodel.selectedConfigName != null) {
+				var request:URLRequest = new URLRequest();
+				var params:String = "/" + jmodel.selectedConfigName;
+				request.url = jmodel.serverBaseUrl + UPLOAD_SUFFIX + params;
+				request.method = URLRequestMethod.POST;
+				request.data = jmodel.getConfigAsXml().toXMLString();
+				this.uploader.load(request);
+			}
 		}
 		
 		/**
@@ -80,8 +100,33 @@
 		protected function uploadComplete(event:Event):void {
 			Alert.show("Configuration uploaded successfully.", "Success");
 		}
+			
+		/**
+		 * Start a download.
+		 */
+		public function startConfigList():void {
+			var request:URLRequest = new URLRequest();
+			request.url = jmodel.serverBaseUrl + CONFIGLIST_SUFFIX;
+			this.configLister.load(request);
+		}
 		
 		/**
+		 * Called when a config download is complete.
+		 */
+		protected function configListComplete(event:Event):void {
+			var xml:XML = new XML(this.configLister.data);
+			var result:ArrayCollection = new ArrayCollection();
+			for each (var configXml:XML in xml.elements("config")) {
+				var config:ConfigDescriptor = new ConfigDescriptor(configXml);
+				result.addItem(config);
+			}
+			jmodel.configsList = result;
+			if (result.length > 0) {
+				jmodel.selectedConfigName = ConfigDescriptor(result[0]).name;
+			}
+		}
+		
+		/**
 		 * Called when there is a security error making a URL request.
 		 */
 		protected function securityError(event:SecurityErrorEvent):void {

Added: labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/common/ConfigDescriptor.as
===================================================================
--- labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/common/ConfigDescriptor.as	                        (rev 0)
+++ labs/jbossesb/workspace/rsheridan/s360/tools/configeditor/flex/ESBConfigModel/model/common/ConfigDescriptor.as	2007-03-21 23:37:06 UTC (rev 10422)
@@ -0,0 +1,25 @@
+package model.common {
+	
+	/**
+	 * Describes a configuration on the JBossESB server.
+	 */
+	[Bindable]
+	public class ConfigDescriptor {
+		
+		/** Name of the configuration */
+		public var name:String;
+		
+		/** Last modified date */
+		public var modified:String;
+		
+		/**
+		 * Create a ConfigDescriptor from XML.
+		 */
+		public function ConfigDescriptor(xml:XML = null) {
+			if (xml != null) {
+				this.name = xml. at name;
+				this.modified = xml. at modified;
+			}
+		}
+	}
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list