From b61b93517db5d202211f8e7875a6a0f3c2aaa902 Mon Sep 17 00:00:00 2001 From: danschultz Date: Tue, 8 Mar 2011 21:16:01 -0800 Subject: [PATCH] adding option for adding a fault code to a failed operation. --- src/operations/FaultOperationEvent.as | 14 ++++++++++++-- src/operations/FileReferenceUploadOperation.as | 9 +++++++++ src/operations/NetworkOperation.as | 4 ++-- src/operations/Operation.as | 7 ++++--- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/operations/FaultOperationEvent.as b/src/operations/FaultOperationEvent.as index d0f6b56..820d8ea 100644 --- a/src/operations/FaultOperationEvent.as +++ b/src/operations/FaultOperationEvent.as @@ -13,7 +13,7 @@ package operations /** * An event type for when an operation has errored or faulted during execution. */ - public static const FAULT:String = "fault"; + public static const FAULT:String = "fault"; /** * Constructor. @@ -21,12 +21,13 @@ package operations * @param summary A simple description of the fault. * @param detail A detailed description of the fault. */ - public function FaultOperationEvent(summary:String, detail:String = "") + public function FaultOperationEvent(summary:String, detail:String = "", code:String = "") { super(FAULT); _summary = summary == null ? "" : summary; _detail = detail == null ? "" : detail; + _code = code == null ? "" : code; } /** @@ -54,5 +55,14 @@ package operations { return _detail; } + + private var _code:String; + /** + * A specific code given to the fault. + */ + public function get code():String + { + return _code; + } } } \ No newline at end of file diff --git a/src/operations/FileReferenceUploadOperation.as b/src/operations/FileReferenceUploadOperation.as index b337b08..a708215 100644 --- a/src/operations/FileReferenceUploadOperation.as +++ b/src/operations/FileReferenceUploadOperation.as @@ -45,6 +45,15 @@ package operations _options = merge({uploadDataFieldName:"Filedata", testUpload:false}, options); } + /** + * @inheritDoc + */ + override protected function cancelRequest():void + { + super.cancelRequest(); + _file.cancel(); + } + /** * @inheritDoc */ diff --git a/src/operations/NetworkOperation.as b/src/operations/NetworkOperation.as index dbab0dd..562806d 100644 --- a/src/operations/NetworkOperation.as +++ b/src/operations/NetworkOperation.as @@ -106,10 +106,10 @@ package operations /** * @inheritDoc */ - final override public function fault(summary:String, detail:String = ""):void + final override public function fault(summary:String, detail:String = "", code:String = ""):void { stopTimeoutTimer(); - super.fault(summary, detail); + super.fault(summary, detail, code); } private function handleAttemptTimerComplete(event:TimerEvent):void diff --git a/src/operations/Operation.as b/src/operations/Operation.as index 03ca8b5..e85bbc5 100644 --- a/src/operations/Operation.as +++ b/src/operations/Operation.as @@ -169,8 +169,9 @@ package operations * * @param summary A simple description of the fault. * @param detail A more detailed description of the fault. + * @param code A code given to this fault. */ - public function fault(summary:String, detail:String = ""):void + public function fault(summary:String, detail:String = "", code:String = ""):void { if (isExecuting) { fireFault(summary, detail); @@ -232,10 +233,10 @@ package operations } } - private function fireFault(summary:String, detail:String = ""):void + private function fireFault(summary:String, detail:String = "", code:String = ""):void { if (hasEventListener(FaultOperationEvent.FAULT)) { - dispatchEvent( new FaultOperationEvent(summary, detail) ); + dispatchEvent( new FaultOperationEvent(summary, detail, code) ); } }