Skip to content

Commit

Permalink
#57 fixed extension references to be available in onInit() function.
Browse files Browse the repository at this point in the history
  • Loading branch information
MindScriptAct committed Apr 22, 2014
1 parent 432a3d9 commit 3e94352
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 5 deletions.
8 changes: 8 additions & 0 deletions src/mvcexpress/modules/ModuleCore.as
Expand Up @@ -13,6 +13,8 @@ import mvcexpress.core.namespace.pureLegsCore;
import mvcexpress.core.traceObjects.moduleBase.TraceModuleBase_sendMessage;
import mvcexpress.utils.checkClassSuperclass;

use namespace pureLegsCore;

/**
* Core Module class, represents single application unit in mvcExpress framework.
* <p>
Expand Down Expand Up @@ -117,9 +119,15 @@ public class ModuleCore {
commandMap.setSupportedExtensions(SUPPORTED_EXTENSIONS);
}

prepareModule();

onInit();
}

pureLegsCore function prepareModule():void {
// for override
}

/**
* Function called after framework is initialized.
* Meant to be overridden.
Expand Down
10 changes: 9 additions & 1 deletion srcExtensions/mvcexpress/extensions/live/modules/ModuleLive.as
Expand Up @@ -8,6 +8,9 @@ import mvcexpress.extensions.live.core.ProcessMapLive;
import mvcexpress.extensions.live.core.ProxyMapLive;
import mvcexpress.modules.ModuleCore;

use namespace pureLegsCore;


/**
* Core Module class, will support use of Processes and Tasks for contingently and repeatedly executed logic, represents single application unit in mvcExpress framework.
* <p>
Expand All @@ -28,7 +31,7 @@ public class ModuleLive extends ModuleCore {
* @param moduleName module name that is used for referencing a module. (if not provided - unique name will be generated.)
*/
public function ModuleLive(moduleName:String = null, mediatorMapClass:Class = null, proxyMapClass:Class = null, commandMapClass:Class = null, messengerClass:Class = null) {
use namespace pureLegsCore
use namespace pureLegsCore;

CONFIG::debug {
enableExtension(EXTENSION_LIVE_ID);
Expand All @@ -51,6 +54,11 @@ public class ModuleLive extends ModuleCore {
}
super(moduleName, mediatorMapClass, proxyMapClass, commandMapClass, messengerClass);

}

override pureLegsCore function prepareModule():void {
use namespace pureLegsCore

processMap = new ProcessMapLive(moduleName, messenger, proxyMap as ProxyMapLive);
(proxyMap as ProxyMapLive).setProcessMap(processMap);
(mediatorMap as MediatorMapLive).setProcessMap(processMap);
Expand Down
Expand Up @@ -3,13 +3,15 @@ package mvcexpress.extensions.scoped.modules {
import mvcexpress.MvcExpress;
import mvcexpress.core.ExtensionManager;
import mvcexpress.core.namespace.pureLegsCore;
import mvcexpress.extensions.scoped.core.traceObjects.TraceModuleBase_sendScopeMessage;
import mvcexpress.extensions.scoped.core.CommandMapScoped;
import mvcexpress.extensions.scoped.core.ProxyMapScoped;
import mvcexpress.extensions.scoped.core.ScopeManager;
import mvcexpress.extensions.scoped.core.traceObjects.TraceModuleBase_sendScopeMessage;
import mvcexpress.modules.ModuleCore;
import mvcexpress.utils.checkClassSuperclass;

use namespace pureLegsCore;

/**
* Core Module class, represents single application unit in mvcExpress framework.
* <p>
Expand Down Expand Up @@ -52,11 +54,14 @@ public class ModuleScoped extends ModuleCore {
throw Error("commandMapClass:" + commandMapClass + " you are trying to use is not extended from 'mvcexpress.core::CommandMap' class.");
}
}

}

override pureLegsCore function prepareModule():void {
proxyMapScoped = proxyMap as ProxyMapScoped;
commandMapScoped = commandMap as CommandMapScoped;
}


override public function disposeModule():void {
ScopeManager.disposeModule(moduleName);
super.disposeModule();
Expand Down
Expand Up @@ -19,6 +19,9 @@ public class ModuleWorker extends ModuleCore {
/** Instance of commandMap, typed as CommandMapWorker. (shortcut for 'commandMap as CommandMapWorker') */
protected var commandMapWorker:CommandMapWorker;

/** INTERNAL **/
private var canCreateModule:Boolean;

/**
* CONSTRUCTOR. ModuleName must be provided.
* @inheritDoc
Expand All @@ -33,7 +36,7 @@ public class ModuleWorker extends ModuleCore {
_isSupported = WorkerManager.isSupported;

// stores if this module will be created. (then same swf file is used to create other modules - main module will not be created.)
var canCreateModule:Boolean = true;
canCreateModule = true;

if (_isSupported) {
canCreateModule = WorkerManager.initWorker(moduleName);
Expand All @@ -44,7 +47,11 @@ public class ModuleWorker extends ModuleCore {
commandMapClass = CommandMapWorker;
}
super(moduleName, mediatorMapClass, proxyMapClass, commandMapClass, messengerClass);
}
}

override pureLegsCore function prepareModule():void {
if (canCreateModule) {
commandMapWorker = commandMap as CommandMapWorker;
}
}
Expand All @@ -70,6 +77,7 @@ public class ModuleWorker extends ModuleCore {
*/
public function startWorker(workerModuleClass:Class, workerModuleName:String, workerSwfBytes:ByteArray = null):void {
use namespace pureLegsCore;

// DOIT : implement optional module parameters for extendability.
WorkerManager.startWorker(moduleName, workerModuleClass, workerModuleName, workerSwfBytes);
}
Expand Down
Expand Up @@ -12,7 +12,14 @@ public class GenericLiveExtensionModule extends ModuleLive {
super(moduleName, extendedMediatorMapClass, extendedProxyMapClass, extendedCommandMapClass, extendedMessengerClass);
}

//----------------------------------

override protected function onInit():void {
if (processMap == null) {
throw Error("processMap is null.");
}
}

//----------------------------------
// communication
//----------------------------------

Expand Down
Expand Up @@ -12,6 +12,16 @@ public class GenericScopedExtensionModule extends ModuleScoped {
super(moduleName, extendedMediatorMapClass, extendedProxyMapClass, extendedCommandMapClass, extendedMessengerClass);
}


override protected function onInit():void {
if (proxyMapScoped == null) {
throw Error("proxyMapScoped is null.");
}
if (commandMapScoped == null) {
throw Error("commandMapScoped is null.");
}
}

//----------------------------------
// communication
//----------------------------------
Expand Down

0 comments on commit 3e94352

Please sign in to comment.