source: EDIS/trunk/java/tracking-ui-core/src/main/flex/gov/va/med/edp/business/responder/ServerErrorCheckResponder.as@ 1227

Last change on this file since 1227 was 1227, checked in by George Lilly, 13 years ago

initial load of EDIS 1.0

File size: 978 bytes
Line 
1package gov.va.med.edp.business.responder
2{
3 import mx.rpc.Fault;
4 import mx.rpc.IResponder;
5 import mx.rpc.events.FaultEvent;
6 import mx.rpc.events.ResultEvent;
7
8 /**
9 * Responder that checks the result for <error> tags produced by the server. If found, calls fault on
10 * decorated responder, if not, passes through result unmodified.
11 */
12 public class ServerErrorCheckResponder extends ResponderDecorator implements IResponder
13 {
14 public function ServerErrorCheckResponder(responder: IResponder) {
15 super(responder);
16 }
17
18 public override function result(data:Object):void {
19 var xml:XML = ResultEvent(data).result as XML;
20 if (xml.error != undefined) {
21 var fault:Fault = new Fault(xml.error.code, xml.error.message, xml.error.detail);
22 fault.rootCause = xml.error;
23 var faultEvent:FaultEvent = FaultEvent.createEvent(fault);
24 this.fault(faultEvent);
25 } else {
26 responder.result(data);
27 }
28 }
29 }
30}
Note: See TracBrowser for help on using the repository browser.