Hi,

info.magnolia.cms.core.SystemProperty is deprecated and says to use 
info.magnolia.init.MagnoliaConfigurationProperties

I wish to use some properties in the VersionHandler, that will change according 
to the instance I'm deploying (author vs public for example).

When I try to use MagnoliaConfigurationProperties with @Inject in the 
constructor, like so:

[code]
    MagnoliaConfigurationProperties mcp;
    
    @Inject
    public ServerSetupModuleVersionHandler(MagnoliaConfigurationProperties mcp) 
{
        this.mcp = mcp;
    }
[/code]

I get this error:

[code]
2013-09-30 16:36:28,829 ERROR info.magnolia.cms.beans.config.ConfigLoader       
: An unspecified error occurred during initialization: 
org.aktionmensch.serversetup.setup.ServerSetupModuleVersionHandler
info.magnolia.objectfactory.MgnlInstantiationException: 
org.aktionmensch.serversetup.setup.ServerSetupModuleVersionHandler
        at 
info.magnolia.objectfactory.DefaultClassFactory.newInstance(DefaultClassFactory.java:107)
        at 
info.magnolia.objectfactory.DefaultClassFactory.newInstance(DefaultClassFactory.java:77)
        at 
info.magnolia.module.groovy.support.classes.GroovyClassFactory.newInstance(GroovyClassFactory.java:107)
        at 
info.magnolia.module.ModuleManagerImpl.newVersionHandler(ModuleManagerImpl.java:225)
        at 
info.magnolia.module.ModuleManagerImpl.checkForInstallOrUpdates(ModuleManagerImpl.java:179)
        at 
info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:150)
        at 
info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:253)
        at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:411)
        at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:408)
        at 
info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:382)
        at 
info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:250)
        at 
info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:176)
        at 
info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:126)
        at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
        at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
        at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.InstantiationException: 
org.aktionmensch.serversetup.setup.ServerSetupModuleVersionHandler
        at java.lang.Class.newInstance0(Class.java:357)
        at java.lang.Class.newInstance(Class.java:325)
        at 
info.magnolia.objectfactory.DefaultClassFactory.newInstance(DefaultClassFactory.java:93)
        ... 22 more
[/code]

I looked for alternatives in the code and tried the following:

[code]
    protected List<Task> getExtraInstallTasks(InstallContext installContext) {
        AbstractMagnoliaConfigurationProperties mcp = new 
AbstractMagnoliaConfigurationProperties(new ArrayList<PropertySource>()) {};
        
        System.out.println("-------------------\nRICARDO:"
                +"\nproperty test:"+ 
installContext.getCurrentModuleDefinition().getProperty("am.test")
                +"\nproperty test2:"+SystemProperty.getProperty("am.test", 
"default")
                +"\nproperty test3:"+ mcp.getProperty("am.test")
                +"\n---------------------");
[/code]

but I get:

[code]
returns:
-------------------
RICARDO:
property test:null
property test2:helloTest
property test3:null
---------------------
[/code]


Which is the recommended method I should call from a VersionHandler to retrieve 
a property from magnolia.properties?

Thanks and regards,


Ricardo

-- 
Context is everything: 
http://forum.magnolia-cms.com/forum/thread.html?threadId=96ed3e7b-4825-4eb9-8ae7-7bf3a3eb4245


----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to