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]>
----------------------------------------------------------------