You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2019/07/21 06:47:14 UTC

[royale-asjs] branch develop updated: Add IFileModel.size and remove FileLoader dependencies from loaders

This is an automated email from the ASF dual-hosted git repository.

yishayw pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new 899f744  Add IFileModel.size and remove FileLoader dependencies from loaders
899f744 is described below

commit 899f74407b5540241c423af9b8f225c0fd9693e1
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Sun Jul 21 09:46:56 2019 +0300

    Add IFileModel.size and remove FileLoader dependencies from loaders
---
 examples/royale/FileProxy/src/main/royale/FileProxy.mxml    |  3 +--
 .../src/main/royale/org/apache/royale/file/FileProxy.as     |  8 ++++++++
 .../src/main/royale/org/apache/royale/file/IFileModel.as    | 11 ++++++++++-
 .../main/royale/org/apache/royale/file/beads/FileLoader.as  |  5 +++--
 .../org/apache/royale/file/beads/FileLoaderAndUploader.as   |  5 +++--
 .../main/royale/org/apache/royale/file/beads/FileModel.as   |  9 ++++++++-
 .../org/apache/royale/file/beads/FileModelWithParams.as     | 13 +++++++++++++
 .../royale/org/apache/royale/file/beads/FileUploader.as     |  5 +++--
 8 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/examples/royale/FileProxy/src/main/royale/FileProxy.mxml b/examples/royale/FileProxy/src/main/royale/FileProxy.mxml
index 39f318a..80be2c2 100644
--- a/examples/royale/FileProxy/src/main/royale/FileProxy.mxml
+++ b/examples/royale/FileProxy/src/main/royale/FileProxy.mxml
@@ -33,7 +33,6 @@ limitations under the License.
 		<![CDATA[
 			import org.apache.royale.events.Event;
 			import org.apache.royale.events.MouseEvent;
-			import org.apache.royale.file.beads.FileModel;
 			import org.apache.royale.html.SimpleAlert;
 			
 			protected function clickHandler(event:org.apache.royale.events.MouseEvent):void
@@ -51,7 +50,7 @@ limitations under the License.
 			private function blobChangedHandler(e:org.apache.royale.events.Event):void
 			{
 				var fileModel:FileModel = myFileProxy.model as FileModel;
-				SimpleAlert.show(fileModel.blob.length + " bytes of " + fileModel.name + " were loaded", this);
+				SimpleAlert.show(myFileProxy.size + " bytes of " + fileModel.name + " were loaded", this);
 			}
 			
 		]]>
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/FileProxy.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/FileProxy.as
index 4179ae9..e4fb53b 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/FileProxy.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/FileProxy.as
@@ -93,6 +93,14 @@ package org.apache.royale.file
 		}
 
 		/**
+		 *  @copy org.apache.royale.file.IFileModel#size
+		 */
+		public function get size():Number
+		{
+			return (model as IFileModel).size;
+		}
+
+		/**
 		 *  @copy org.apache.royale.file.IFileModel#blob
 		 */
 		public function get blob():Object
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/IFileModel.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/IFileModel.as
index ba17788..dcd2532 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/IFileModel.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/IFileModel.as
@@ -37,6 +37,16 @@ package org.apache.royale.file
 		function get type():String;
 		
 		/**
+		 *  The size of the file
+		 * 
+		 *  @langversion 3.0
+		 *  @playerversion Flash 10.2
+		 *  @playerversion AIR 2.6
+		 *  @productversion Royale 0.9
+		 */
+		function get size():Number;
+
+		/**
 		 *  The last modified time of the file, in millisecond since the UNIX epoch (January 1st, 1970 at Midnight).
 		 * 
 		 *  @langversion 3.0
@@ -64,7 +74,6 @@ package org.apache.royale.file
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.6
 		 */
-
 		function get blob():Object;
 
 		/**
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoader.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoader.as
index b8c6575..bfebafd 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoader.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoader.as
@@ -20,6 +20,7 @@ package org.apache.royale.file.beads
 	import org.apache.royale.core.IBead;
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.file.FileProxy;
+	import org.apache.royale.file.IFileModel;
 	import org.apache.royale.utils.BinaryData;
 
 	COMPILE::SWF
@@ -97,9 +98,9 @@ package org.apache.royale.file.beads
 			_strand = value;
 		}
 		
-		private function get fileModel():FileModel
+		private function get fileModel():IFileModel
 		{
-			return (_strand as FileProxy).model as FileModel;
+			return (_strand as FileProxy).model as IFileModel;
 		}
 		
 	}
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as
index a5b7e47..2b870a1 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileLoaderAndUploader.as
@@ -21,6 +21,7 @@ package org.apache.royale.file.beads
 	import org.apache.royale.core.IStrand;
 	import org.apache.royale.events.Event;
 	import org.apache.royale.file.FileProxy;
+	import org.apache.royale.file.IFileModel;
 
 	/**
 	 *  The FileLoaderAndUploader is a compound bead that allows you
@@ -80,8 +81,8 @@ package org.apache.royale.file.beads
 		
 		public function upload(url:String):void
 		{
-			var fileModel:FileModel = (_strand as FileProxy).model as FileModel;
-			if (!fileModel.blob)
+			var fileModel:IFileModel = (_strand as FileProxy).model as IFileModel;
+			if (fileModel.size <= 0)
 			{
 				_url = url;
 				(_strand as FileProxy).model.addEventListener("blobChanged", blobChangedHandler);
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModel.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModel.as
index 0abaa36..d1d3d60 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModel.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModel.as
@@ -86,7 +86,14 @@ package org.apache.royale.file.beads
 		 */
 		public function get size():Number
 		{
-			return _data.size;
+			COMPILE::SWF 
+			{
+				return _data.size;
+			}
+			COMPILE::JS 
+			{
+				return blob ? blob.length : -1;
+			}
 		}
 		
 		/**
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModelWithParams.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModelWithParams.as
index 5ffec8b..edf6f1b 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModelWithParams.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileModelWithParams.as
@@ -113,5 +113,18 @@ package org.apache.royale.file.beads
 		{
 			_fileParamName = value;
 		}
+	
+		override public function get size():Number
+		{
+			COMPILE::SWF 
+			{
+				return super.size;
+			}
+			COMPILE::JS 
+			{
+				var myBlob:Blob = _blob["get"](fileParamName) as Blob;
+				return myBlob ? myBlob.size : -1;
+			}
+		}
 	}
 }
diff --git a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as
index 4bf6fe7..c8eb3cb 100644
--- a/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as
+++ b/frameworks/projects/Network/src/main/royale/org/apache/royale/file/beads/FileUploader.as
@@ -22,6 +22,7 @@ package org.apache.royale.file.beads
 	import org.apache.royale.events.Event;
 	import org.apache.royale.events.IEventDispatcher;
 	import org.apache.royale.file.FileProxy;
+	import org.apache.royale.file.IFileModel;
 	import org.apache.royale.net.URLBinaryLoader;
 	import org.apache.royale.net.URLRequest;
 
@@ -75,12 +76,12 @@ package org.apache.royale.file.beads
 //			COMPILE::SWF
 //			{
 //				var flashURL:flash.net.URLRequest = new URLRequest(url.url);
-//				(host.model as FileModel).fileReference.upload(flashURL);
+//				(host.model as IFileModel).fileReference.upload(flashURL);
 //			}
 			var binaryUploader:URLBinaryLoader = new URLBinaryLoader();
 			var req:URLRequest = new URLRequest();
 			req.method = "POST";
-			req.data = (host.model as FileModel).blob;
+			req.data = (host.model as IFileModel).blob;
 			req.url = url;
 			binaryUploader.addEventListener(Event.COMPLETE, completeHandler);
 			binaryUploader.load(req);