[COldbox 3.5.1] Solitary module java.lang.NullPointerException

I’m trying the Solitary module, and after I have installed it, I have a strange error:

If I add thae mapping setting: this.mappings[’/solitary’] = COLDBOX_APP_ROOT_PATH & “/modules/solitary”;

as specified in install instructions, I get this error:

HandlerService.EventHandlerNotRegisteredException

everytime I try to load an event. If I delete the mapping setting all works fine.

What is my error?

I get this error: java.lang.NullPointerException

This is the stacktrace

java.lang.NullPointerException
	at coldfusion.runtime.ImplicitGetter.runFunction(ImplicitGetter.java:78)
	at coldfusion.runtime.ImplicitGetter.invoke(ImplicitGetter.java:57)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2658)
	at cfBaseEntity2ecfc1254314057$funcTOSTRUCT.runFunction(C:\wamp\www\test\modules\solitary\model\BaseEntity.cfc:33)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:518)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:659)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:468)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2372)
	at cfSecurityService2ecfc1735018195$funcSETUSERSESSION.runFunction(C:\wamp\www\test\modules\solitary\model\security\SecurityService.cfc:50)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2658)
	at cfSecurityService2ecfc1735018195$funcISUSERVERIFIED.runFunction(C:\wamp\www\test\modules\solitary\model\security\SecurityService.cfc:66)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2431)
	at cfSecurity2ecfc1185941079$funcDOLOGIN.runFunction(C:\wamp\www\test\modules\solitary\handlers\Security.cfc:30)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:518)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:659)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:468)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2372)
	at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:402)
	at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2799)
	at cfController2ecfc702300334$funcINVOKER.runFunction(C:\wamp\www\ColdBox\system\web\Controller.cfc:699)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2658)
	at cfController2ecfc702300334$funcRUNEVENT.runFunction(C:\wamp\www\ColdBox\system\web\Controller.cfc:584)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:518)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:659)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:468)
	at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2372)
	at cfColdbox2ecfc442319806$funcPROCESSCOLDBOXREQUEST.runFunction(C:\wamp\www\ColdBox\system\Coldbox.cfc:236)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
	at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2658)
	at cfApplication2ecfc1000908630$funcONREQUESTSTART.runFunction(C:\wamp\www\test\Application.cfc:60)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
	at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
	at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
	at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
	at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
	at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:654)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:443)
	at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:413)
	at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:104)
	at coldfusion.runtime.AppEventInvoker.onRequestStart(AppEventInvoker.java:274)
	at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:399)
	at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
	at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
	at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
	at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30)
	at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:75)
	at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
	at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
	at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
	at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
	at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
	at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
	at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:126)
	at coldfusion.CfmServlet.service(CfmServlet.java:204)
	at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
	at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414)
	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:203)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

From memory this means you have no users in the database. The setup file should be creating an admin user.

Hope you got it working.

S

I have three users in database.

I have tried to use exclude=“confirmPassword” in the tostruct() function and now it’s working.

I’m not sure if it’s a bug…

Another problem is on the getDisplayLastLogin() function:

it gives me a java.lang.NullPointerException

on the security/users/edit handler. I think it’s because when I try to create a new user there is no lastlogin date to display.

I’m a bit more clear:

public string function getDisplayLastLogin(){

var lastLogin = getLastLogin();

if( NOT isNull(lastLogin) ){
return dateFormat(lastLogin,‘long’) & " " & timeFormat(lastLogin,‘hh:mm:ss tt’);
}

return “Never”;
}

This function gives me the error: I think it’s because when lastlogin has no value, it’s an empty string, the getter didn’t find a value.

My script run on coldfusion 9

Sounds like the problem - I gave up using Solitary for my own solution, but I do vaguely recall adding a null check… or possibly adding a param.

Sorry I can’t be much more assistance… that code is long gone from my system :frowning:

I’m new to orm, but I have made some test: it seems that if I try to make an object and set null value to a date property it give me error. This does not happen if I try with a string property.

I think this is error and with simply if statement on my view I can solve. Strange the author does not solve this error.