Copy link to clipboard
Copied
Hi,
I'm new to flex 4.5 and working with Parsley 2.4 and SDK 4.5.
I'm getting the following error when loading a module:
VerifyError: Error #1053: Illegal override of ParsleyFlexModuleFactory in com.adobe.cairngorm.module.ParsleyFlexModuleFactory.
at com.adobe.cairngorm.module::ParsleyModuleInfoProxy/get factory()
at com.adobe.cairngorm.module::ModuleViewLoader/addLoadedModuleToStage()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()
at mx.core::UIComponent/callLaterDispatcher()
Does anybody knows what is the problem?
Thanks!
Assaf
Copy link to clipboard
Copied
One more thing:
When I use sdk 4.1 and mx module everything is great.
But I want to use sdk 4.5 and spark module, and then I have the above exception..
Hope it helps to figuring out the solution.. (still waiting for an answer.. )
Thanks!
Copy link to clipboard
Copied
Hi,
I'll try to have a look at the issue this week, could you please open a jira ticket with a sample on our bug tracking system:
https://bugs.adobe.com/jira/browse/CGM
thanks
Copy link to clipboard
Copied
Hi,
Has this been looked into? I'm trying to migrate to 4.5 and am getting the same message.
Thanks
Copy link to clipboard
Copied
While the issue is being fixed you can recompile the library yourself changing all mx.modules.Module references to mx.modules.IModule.
That seems to be enough as far as I can tell.
Cheers
Copy link to clipboard
Copied
Hello Nico,
The problem just happened to me this morning, in order to fix it, it is enought to patch the Cairngorm Module Library in order to implement some methods witch extends IFlexModuleFactory, this new interface is done in order to check if an RSL is already loaded before loading, so modules and sub-applications will not load RSLs that are already loaded.
You can patch it like that, in a project where you use the Cairngorm Module Library:
1- Create the package "com.adobe.cairngorm.module" at the root source of the project.
2- Download and paste in it the http://opensource.adobe.com/svn/opensource/cairngorm3/tags/cairngorm3-3.0.9/libraries/Module/src/com...
3- In ParsleyFlexModuleFactory.as, remove the CONFIG::Flex4 tags (they're used for the conditional compilation but we don't need them because we'll indeed compile it for flex 4.5+ and not everybody uses a conditional compilation configuration).
4- add this code :
public function get allowDomainsInNewRSLs():Boolean
{
return factory.allowDomainsInNewRSLs;
}
public function set allowDomainsInNewRSLs(value:Boolean):void
{
factory.allowDomainsInNewRSLs = value;
}
public function get allowInsecureDomainsInNewRSLs():Boolean
{
return factory.allowInsecureDomainsInNewRSLs;
}
public function set allowInsecureDomainsInNewRSLs(value:Boolean):void
{
factory.allowInsecureDomainsInNewRSLs = value;
}
public function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void
{
factory.addPreloadedRSL(loaderInfo, rsl);
}
5- Add the spicelib-flex-2.4+.swc and the parsley-flex4-2.4+.swc (or the Parsley counterpart libraries) as support for the patched ParsleyFlexModuleFactory.
6- Compile it with the SDK 4.5+ and that's done, it works now with the SDK 4+.
(If you've got more projects where you use the Cairngorm Module Library, just copy and paste the new patched package and add thespicelib-flex-2.4+ and the parsley-flex4-2.4+.swc (or the Parsley counterpart libraries)
That will only allows the library to be fully compatible with the SDK 4.5+
(maybe it's good to keep Alex Uhlmann in touch with it allowing him to implement a conditional compilation or another version of the artifact the time it migrates completely its library in 4.5).
(For the those who have a lot of Maven projects, it's preferable to re-compile the original Cairngorm Module Library with the code above in order to have the patched artifact in your maven repository, indeed, you won't have to remove the CONFIG::Flex4 tags or to add the spicelib, parsley libraries, the patched module is self-suffisent and a simple "mvn clean install" does the job)
Note: Anyway, now, with Parsley 2.4, the flex module integration is FULLY tranparent and the need of this library is less important.
Frédéric THOMAS
Copy link to clipboard
Copied
Hi Fred!,
Thanks for the great contribution. I'll have a look at the lib and see if the changes can be implemented in the next build
Copy link to clipboard
Copied
Hi Nico,
Actually, no needs to ask to integrate it, that's already done on the source force repo, https://bugs.adobe.com/jira/browse/CGM-87
I just releazed that I was on the old repo, the new one being on sourceforge.net.
Copy link to clipboard
Copied
public function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void
Need to import LoaderInfo & RSLData ?
What are their path?