jspwiki-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Louis.Mast...@log-net.com
Subject userdatabase issue blank UIDs
Date Sat, 06 Aug 2011 02:24:38 GMT
I'm running into a problem with some code of mine.  The following code 
takes a list of our main DB users and "pushes" it into the wiki's DB 
(currently an XML file).  Here is a snippet of my code:

                        com.ecyrd.jspwiki.auth.user.UserDatabase udb = 
engine.getUserManager().getUserDatabase();
 
                        for(Map.Entry<String, String> entry : 
rc.entrySet()) {   //a list of users and emails
                                String key = entry.getKey();
                                String value = entry.getValue();

                                com.ecyrd.jspwiki.auth.user.UserProfile 
newP = udb.newProfile();
                                newP.setLoginName(key);
                                newP.setFullname(key);
                                newP.setEmail(value);
                                udb.save(newP);
                        }

The problem I am running into is when it runs on a XML file that already 
exists (contains hundreds of users) and tries to add new users, the users 
go in with a UID of "" (empty string) and the wiki crashes.  I'm not 100% 
sure that the wiki is crashing due to the empty UID, but it is my only 
guess.  I see the following stack trace:

java.lang.NullPointerException
        at 
org.apache.xerces.dom.DeepNodeListImpl.nextMatchingElementAfter(Unknown 
Source)
        at org.apache.xerces.dom.DeepNodeListImpl.item(Unknown Source)
        at org.apache.xerces.dom.DeepNodeListImpl.getLength(Unknown 
Source)
        at 
com.ecyrd.jspwiki.auth.user.XMLUserDatabase.findByAttribute(XMLUserDatabase.java:617)
        at 
com.ecyrd.jspwiki.auth.user.XMLUserDatabase.findByFullName(XMLUserDatabase.java:163)
        at 
com.ecyrd.jspwiki.auth.user.AbstractUserDatabase.find(AbstractUserDatabase.java:81)
        at 
com.ecyrd.jspwiki.WikiSession.injectUserProfilePrincipals(WikiSession.java:672)
        at 
com.ecyrd.jspwiki.WikiSession.actionPerformed(WikiSession.java:548)
        at 
com.ecyrd.jspwiki.event.WikiEventManager$WikiEventDelegate.fireEvent(WikiEventManager.java:566)
        at 
com.ecyrd.jspwiki.event.WikiEventManager.fireEvent(WikiEventManager.java:347)
        at 
com.ecyrd.jspwiki.auth.AuthenticationManager.fireEvent(AuthenticationManager.java:751)
        at 
com.ecyrd.jspwiki.auth.AuthenticationManager.login(AuthenticationManager.java:274)
        at 
com.ecyrd.jspwiki.ui.WikiServletFilter.doFilter(WikiServletFilter.java:156)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:595)

I did notice that if I restart the wiki server, the UID's are fixed (have 
values) and the app starts working again.

Any thoughts?  I'm running 2.8.1 on Windows.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message