-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
ubuntu 8.04 x64, tomcat 5.5, java 1.5 x64
If a servlet mapping is left empty:
<mappings>
<mapping></mapping>
</mappings>
There is a null error upon module installation via the web interface and installation does not complete. The error message is:
ERROR info.magnolia.module.ui.ModuleManagerWebUI ModuleManagerWebUI.java(run:124) 28.11.2008 14:08:11 Could not perform installation: null
java.lang.NullPointerException
at java.lang.StringBuffer.<init>(StringBuffer.java:104)
at info.magnolia.cms.core.Path.getValidatedLabel(Path.java:347)
at info.magnolia.module.delta.RegisterServletTask.execute(RegisterServletTask.java:80)
at info.magnolia.module.delta.ArrayDelegateTask.execute(ArrayDelegateTask.java:117)
at info.magnolia.module.delta.RegisterModuleServletsTask.execute(RegisterModuleServletsTask.java:63)
at info.magnolia.module.ModuleManagerImpl.applyDeltas(ModuleManagerImpl.java:455)
at info.magnolia.module.ModuleManagerImpl.installOrUpdateModule(ModuleManagerImpl.java:435)
at info.magnolia.module.ModuleManagerImpl$1.exec(ModuleManagerImpl.java:262)
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:411)
at info.magnolia.module.ModuleManagerImpl.performInstallOrUpdate(ModuleManagerImpl.java:257)
at info.magnolia.module.ui.ModuleManagerWebUI$2.run(ModuleManagerWebUI.java:122)
at java.lang.Thread.run(Thread.java:595)
ERROR info.magnolia.module.InstallContextImpl InstallContextImpl.java(error:83) 28.11.2008 14:08:11 > Could not perform installation: null
java.lang.NullPointerException
at java.lang.StringBuffer.<init>(StringBuffer.java:104)
at info.magnolia.cms.core.Path.getValidatedLabel(Path.java:347)
at info.magnolia.module.delta.RegisterServletTask.execute(RegisterServletTask.java:80)
at info.magnolia.module.delta.ArrayDelegateTask.execute(ArrayDelegateTask.java:117)
at info.magnolia.module.delta.RegisterModuleServletsTask.execute(RegisterModuleServletsTask.java:63)
at info.magnolia.module.ModuleManagerImpl.applyDeltas(ModuleManagerImpl.java:455)
at info.magnolia.module.ModuleManagerImpl.installOrUpdateModule(ModuleManagerImpl.java:435)
at info.magnolia.module.ModuleManagerImpl$1.exec(ModuleManagerImpl.java:262)
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:411)
at info.magnolia.module.ModuleManagerImpl.performInstallOrUpdate(ModuleManagerImpl.java:257)
at info.magnolia.module.ui.ModuleManagerWebUI$2.run(ModuleManagerWebUI.java:122)
at java.lang.Thread.run(Thread.java:595)
One fix for this is to add a null check in the execute() method of info.magnolia.module.delta.RegisterServletTask:
if (pattern != null)
{ String mappingNodeName = Path.getUniqueLabel(mappingsNode, Path.getValidatedLabel(pattern)); final Content mappingNode = mappingsNode.createContent(mappingNodeName, ItemType.CONTENTNODE); NodeDataUtil.getOrCreateAndSet(mappingNode, "pattern", pattern); }