I have an interface like the following.
package myCom.controller
{
import flash.events.Event;
public interface ICommand
{
function execute(event:Event):void
}
}
I have a pseudo abstract class that implements ICommand
package myCom.controller
{
import flash.events.Event;
import myCom.view.events.LoginEvent;
public class Command implements ICommand
{
function execute(event:Event):void
}
}
Now I have a Specific command that extends the pseudo class
package myCom.controller
{
import flash.events.Event;
import harmonic.view.events.LoginEvent;
import harmonic.model.DashboardModel;
import mx.rpc.remoting.RemoteObject;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import harmonic.model.User;
import com.adobe.crypto.MD5;
public class LoginCommand extends Command
{
public function LoginCommand() {
}
public override function execute(event:LoginEvent):void {
//var myEvent:LoginEvent = LoginEvent(event);
//myEvent.user.isLoggedIn = true;
var myService:RemoteObject = new RemoteObject("ColdFusion");
//var md5:MD5 = new MD5();
myService.source = "dm.model.Userdao";
myService.getUser(event.user);
myService.getUser.addEventListener(ResultEvent.RESULT, myResult);
myService.login(event.user);
myService.login.addEventListener(ResultEvent.RESULT,myResult);
myService.addEventListener(FaultEvent.FAULT,resultFault);
myService.getUser.send(event.user);
myService.login.send("nschleifer", MD5.hash("vanTive"));
DashboardModel.getInstance().currentScreen = "Main";
//trace(myEvent.user.login + " is logged in");
}
public function myResult(event:ResultEvent):void {
var temp:User;
temp = User(event.result);
trace("myEvent is done");
}
public function resultFault(event:FaultEvent):void {
trace("myeventFault" + event.message.toString());
}
}
}