This is not how you access services in Turbine. To access the Security Service use the static methods provided by the facade class TurbineSecurity instead.
> DBSecurityService dbum = new DBSecurityService(); Services are singleton classes that are initialized when Turbine starts and therefore you do not ever create new instances of them. So just change references to dbnum to TurbinSecurity So, this dbum.accountExists(uName) becomes: TurbinSecurity .accountExists(uName) hth, Scott > -----Original Message----- > From: Terry McBride [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 08, 2002 4:42 PM > To: [EMAIL PROTECTED] > Subject: User Registration - addUser > > > Hi everyone, > > I'm trying to write an action for registering users. > I'm including the simple dev version I'm starting > with. I get null pointer exceptions with > accountExists() and addUser(). Get somebody clue me > in to what I'm doing wrong? > > Thanks in advance, > Terry > > code and log follows...... > > public void doPerform(RunData data, Context > context) > throws Exception > { > Log.info("Registering a new user"); > TurbineUser user = new TurbineUser(); > DBSecurityService dbum = new DBSecurityService(); > > // get the parameters passed in > String fName = > data.getParameters().get("FirstName"); > String lName = data.getParameters().get("LastName"); > String uName = data.getParameters().get("UserName"); > String email = data.getParameters().get("Email"); > String password = > data.getParameters().get("Password"); > > Log.debug("parameterParser: " + > data.getParameters()); > Log.debug("local vars: " + uName + password + fName > + lName + email); > > // set the properties > user.setFirstName(fName); > user.setLastName(lName); > user.setUserName(uName); > user.setEmail(email); > > Log.info("checking for user: " + uName); > // check if username already exists > try > { > if (dbum.accountExists(uName)) > { > data.setMessage("A user with > this user name > already exsits. Please choosea nother name"); > > data.setScreenTemplate("RegistrationForm.vm"); > return; > } > } > catch (Exception e) > { > Log.error("Error checking in username > pre-exists", > e); > } > > // store the user info > Log.info("Attempting to create user: " + uName); > dbum.addUser(user, password); > > // assign role > Group group = dbum.getGlobalGroup(); > Role role = dbum.getRole("curriculum_editor"); > dbum.grant(user, group, role); > > // authenticate > dbum.getAuthenticatedUser(uName, password); > Log.debug("created account: " + user); > > } > > > > > > > [Fri Feb 08 13:28:22 PST 2002] -- INFO -- Registering > a new user > > [Fri Feb 08 13:28:22 PST 2002] -- DEBUG -- > parameterParser: {action=RegisterUser} > {username=test} > {firstname=test} > {lastname=test} > {eventsubmit_doperform=Register} > {email=} > {template=Index.vm} > {password=test} > > > [Fri Feb 08 13:28:22 PST 2002] -- DEBUG -- local vars: > testtesttesttest > > [Fri Feb 08 13:28:22 PST 2002] -- INFO -- checking for > user: test > > [Fri Feb 08 13:28:22 PST 2002] -- ERROR -- Error > checking in username pre-exists > > Exception: java.lang.NullPointerException > > Stack Trace follows: > > java.lang.NullPointerException > > at > org.apache.turbine.services.security.BaseSecurityService.accou > ntExists(BaseSecurityService.java:292) > > at > edu.stanford.mlkpp.curriculum.modules.actions.RegisterUser.doP > erform(RegisterUser.java:49) > > at java.lang.reflect.Method.invoke(Native Method) > . > . > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > > at > org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:371) > > at > org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:424) > > at java.lang.Thread.run(Unknown Source) > > > > [Fri Feb 08 13:28:22 PST 2002] -- INFO -- Attempting > to create user: test > > [Fri Feb 08 13:28:22 PST 2002] -- ERROR -- > Turbine.handleException: null > > [Fri Feb 08 13:28:22 PST 2002] -- ERROR -- > > Exception: > java.lang.reflect.InvocationTargetException > > Stack Trace follows: > > java.lang.reflect.InvocationTargetException: > java.lang.NullPointerException > > at > org.apache.turbine.services.security.BaseSecurityService.addUs > er(BaseSecurityService.java:392) > > at > edu.stanford.mlkpp.curriculum.modules.actions.RegisterUser.doP > erform(RegisterUser.java:63) > > at java.lang.reflect.Method.invoke(Native Method) > > at > org.apache.turbine.util.velocity.VelocityActionEvent.executeEv > ents(VelocityActionEvent.java:166) > > . > . > at > org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:424) > > at java.lang.Thread.run(Unknown Source) > > > > Win2K > tdk 2.1 > > __________________________________________________ > Do You Yahoo!? > Send FREE Valentine eCards with Yahoo! Greetings! > http://greetings.yahoo.com > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
