Dear,
Thank you for the response. Here you can view our code:
Code:
package com.traficon.tmsng.client.mobile.command
{
import com.traficon.domain.EventMessageCollection;
import com.traficon.domain.ModelLocator;
import com.traficon.tmsng.client.mobile.view.LogonView;
import com.traficon.tmsng.service.IEventTypeService;
import com.traficon.tmsng.service.ISystemService;
import com.traficon.tmsng.service.IUserService;
import flash.events.IEventDispatcher;
import org.as3commons.lang.Assert;
import org.springextensions.actionscript.context.IApplicationContext;
import org.springextensions.actionscript.core.command.event.CommandEvent;
import spark.components.View;
public class LoadStartupDataAfterLoginCommand extends AbstractLoadStartupDataCommand
{
/*----------------------------------variabels----------------------------------*/
private var m_applicationContext:IApplicationContext;
private var m_systemService:ISystemService;
/*----------------------------------Public Methods----------------------------------*/
public function LoadStartupDataAfterLoginCommand(applicationContext:IApplicationContext)
{
m_applicationContext = applicationContext;
m_systemService = applicationContext.getObject("systemService");
var userService:IUserService = applicationContext.getObject("userService");
var realTimeEventMessages:EventMessageCollection = applicationContext.getObject("realTimeEventMessages");
var modelLocator:ModelLocator = ModelLocator.getInstance();
addCommandWithResourceKey(
new GetAvailableEventConfigurationCommand(applicationContext.getObject("eventTypeService"),modelLocator),
"main.loading.eventtypes");
addCommandWithResourceKey(
new GetCustomNameEventTypesCommand(m_systemService,modelLocator),
"main.loading.customEventTypeNames");
addCommandWithResourceKey(
new GetDetectorsCommand(applicationContext.getObject("detectorService"),modelLocator.detectors),
"main.loading.detectors");
addCommandWithResourceKey(
new GetDetectorGroupsCommand(applicationContext.getObject("detectorGroupService"),modelLocator.detectorGroups),
"main.loading.detectorgroups");
addCommandWithResourceKey(
new GetMessageSourcesTreeCommand(applicationContext.getObject("messageSourceService"),modelLocator),
"main.loading.messagesourcestree");
addCommandWithResourceKey(
new GetMessageSourcesHardwareTreeCommand(applicationContext.getObject("messageSourceService"),modelLocator),
"main.loading.messagesourcestree");
addCommandWithResourceKey(
new GetOpenMessagesCommand(applicationContext.getObject("eventMessageHistoryRemoteObject"),modelLocator.realTimeEventMessages),
"main.loading.openmessages",
afterGetOpenMessages);
}
/*----------------------------------Private Methods----------------------------------*/
private function afterGetOpenMessages(event:CommandEvent):void{
IEventDispatcher(event.command);
}
}
}
this extens another class:
Code:
package com.traficon.tmsng.client.mobile.command
{
import com.traficon.domain.ModelLocator;
import com.traficon.tmsng.client.mobile.components.MessageBox;
import com.traficon.tmsng.client.mobile.view.LogonView;
import flash.utils.Dictionary;
import mx.logging.ILogger;
import mx.logging.Log;
import mx.resources.ResourceManager;
import org.as3commons.lang.StringUtils;
import org.as3commons.logging.LoggerFactory;
import org.springextensions.actionscript.core.command.CompositeCommand;
import org.springextensions.actionscript.core.command.ICommand;
import org.springextensions.actionscript.core.command.event.CommandEvent;
import org.springextensions.actionscript.core.operation.OperationEvent;
public class AbstractLoadStartupDataCommand extends CompositeCommand
{
/*----------------------------------variabels----------------------------------*/
private var m_commandMessages:Dictionary = new Dictionary();
private var m_commandCallbacks:Dictionary = new Dictionary();
/*--------------------------------------Constructor--------------------------------------*/
public function AbstractLoadStartupDataCommand()
{
failOnFault = true;
addEventListener(CommandEvent.EXECUTE,executeCommandHandler);
//addErrorListener(errorHandler);
}
/*------------------------------------Protected Methods------------------------------------*/
protected function addCommandWithResourceKey(command:ICommand,resourceKey:String = null,callback:Function = null):void{
addCommand(command);
if(StringUtils.hasText(resourceKey)){
m_commandMessages[command] = ResourceManager.getInstance().getString("resources",resourceKey);
}
if(callback != null)
{
m_commandCallbacks[command] = callback;
}
}
/*------------------------------------Private Methods-----------------------------------*/
private function executeCommandHandler(event:CommandEvent):void{
var message:String = m_commandMessages[event.command];
var callback:Function = m_commandCallbacks[event.command];
if(callback != null){
callback.apply(null,[event]);
}
}
private function errorHandler(event:OperationEvent):void{
if(!ModelLocator.getInstance().loggingOut){
}
}
}
}
Hopefully you can help us.
Thank you in advance.
Kind regards,
Thibault Heylen