You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@turbine.apache.org by Terry McBride <tt...@yahoo.com> on 2002/02/08 22:41:35 UTC
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.accountExists(BaseSecurityService.java:292)
at
edu.stanford.mlkpp.curriculum.modules.actions.RegisterUser.doPerform(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.addUser(BaseSecurityService.java:392)
at
edu.stanford.mlkpp.curriculum.modules.actions.RegisterUser.doPerform(RegisterUser.java:63)
at java.lang.reflect.Method.invoke(Native Method)
at
org.apache.turbine.util.velocity.VelocityActionEvent.executeEvents(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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>