Repository: flex-asjs
Updated Branches:
  refs/heads/develop 54d00a044 -> e93c11d7c


Use composition instead of inheritance to allow compound bead to use different
sub beads


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/e93c11d7
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/e93c11d7
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/e93c11d7

Branch: refs/heads/develop
Commit: e93c11d7c000f41e24e489386ba11db99b9157f6
Parents: 54d00a0
Author: DESKTOP-RH4S838\Yishay <yishayj...@hotmail.com>
Authored: Tue Jul 11 08:11:43 2017 +0300
Committer: DESKTOP-RH4S838\Yishay <yishayj...@hotmail.com>
Committed: Tue Jul 11 08:11:43 2017 +0300

----------------------------------------------------------------------
 .../flex/file/beads/FileLoaderAndUploader.as    | 23 ++++++++++++--------
 1 file changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e93c11d7/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
index 2b66552..6f29f5b 100644
--- 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
+++ 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
@@ -17,8 +17,10 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.file.beads
 {
+       import org.apache.flex.core.IBead;
        import org.apache.flex.core.IStrand;
        import org.apache.flex.events.Event;
+       import org.apache.flex.file.FileProxy;
 
        /**
         *  The FileLoaderAndUploader is a compound bead that allows you
@@ -31,10 +33,12 @@ package org.apache.flex.file.beads
         *  @playerversion AIR 2.6
         *  @productversion FlexJS 0.9
         */
-       public class FileLoaderAndUploader extends FileUploader
+       public class FileLoaderAndUploader implements IBead
        {
                private var _loader:FileLoader;
+               private var _uploader:FileUploader;
                private var _url:String;
+               private var _strand:IStrand;
                public function FileLoaderAndUploader()
                {
                        super();
@@ -48,15 +52,16 @@ package org.apache.flex.file.beads
                 *  @playerversion AIR 2.6
                 *  @productversion FlexJS 0.9
                 */
-               override public function set strand(value:IStrand):void
+               public function set strand(value:IStrand):void
                {
-                       super.strand = value;
+                       _strand = value;
                        _loader = value.getBeadByType(FileLoader) as FileLoader;
                        if (!_loader)
                        {
                                _loader = new FileLoader();
                                value.addBead(_loader);
                        }
+                       _uploader = value.getBeadByType(FileUploader) as 
FileUploader;
                }
                
                /**
@@ -68,17 +73,17 @@ package org.apache.flex.file.beads
                 *  @productversion FlexJS 0.9
                 */
                
-               override public function upload(url:String):void
+               public function upload(url:String):void
                {
-                       var fileModel:FileModel = host.model as FileModel;
+                       var fileModel:FileModel = (_strand as FileProxy).model 
as FileModel;
                        if (!fileModel.blob)
                        {
                                _url = url;
-                               host.model.addEventListener("blobChanged", 
blobChangedHandler);
+                               (_strand as 
FileProxy).model.addEventListener("blobChanged", blobChangedHandler);
                                _loader.load();
                        } else
                        {
-                               super.upload(url);
+                               _uploader.upload(url);
                        }
                }
                
@@ -87,8 +92,8 @@ package org.apache.flex.file.beads
                 */
                private function blobChangedHandler(e:Event):void
                {
-                       host.model.removeEventListener('blobChanged', 
blobChangedHandler);
-                       super.upload(_url);
+                       (_strand as 
FileProxy).model.removeEventListener('blobChanged', blobChangedHandler);
+                       _uploader.upload(_url);
                }
                
        }

Reply via email to