RE: Exception in SAXParserFactory.newInstance with 3.0M4

From: Scott Anderson (sanderso..irvana.com)
Date: Tue Jul 01 2008 - 11:57:40 EDT

  • Next message: Andrus Adamchik: "Re: Exception in SAXParserFactory.newInstance with 3.0M4"

    To summarize, a NullPointerException in
    DataSourceInfo.getPasswordEncoder() is presumably caused by a missing
    encoderClass attribute in the driver.xml file, despite this field being
    specified with the modeler.

    Sounds to me like a candidate for a JIRA against the modeler.

    -----Original Message-----
    From: Jerald Dawson [mailto:jdawso..rk.com]
    Sent: Tuesday, July 01, 2008 11:52 AM
    To: use..ayenne.apache.org
    Subject: Fwd: Exception in SAXParserFactory.newInstance with 3.0M4

    Moving this to the list:

    Begin forwarded message:

    > From: Jerald Dawson <jdawso..rk.com>
    > Date: July 1, 2008 10:49:20 AM CDT
    > To: "Scott Anderson" <sanderso..irvana.com>
    > Cc: "Andrus Adamchik" <andru..bjectstyle.org>
    > Subject: Re: Exception in SAXParserFactory.newInstance with 3.0M4
    >
    > Thats interesting. Here is my drive.xml file:
    >
    > <?xml version="1.0" encoding="utf-8"?>
    > <driver project-version="3.0" class="com.mysql.jdbc.Driver">
    > <url value="jdbc:mysql://10.20.1.10/SystemRunner?
    > capitalizeTypenames=true"/>
    > <connectionPool min="1" max="1"/>
    > <login userName="systemrunner" password="*******"/>
    > </driver>
    >
    > As you can see, I do not have the encoderClass, passwordLocation and
    > passwordSource attributes in the login item. I'm going to try adding
    > those manually and see what happens. Again, this file was created
    > with Modeler.
    >
    > -j
    >
    > On Jul 1, 2008, at 10:30 AM, Scott Anderson wrote:
    >
    >> Judging from the stack trace, I'd guess that the encoderClass
    >> attribute
    >> of the login entity is invalid in the .driver.xml file. I'm not
    >> sure how
    >> that could happen if you created the file using the modeler. I'm
    >> copying
    >> Andrus on this, since he'll probably have a better understand of
    >> what's
    >> going on.
    >>
    >> Here's what my working driver.xml file looks like, for comparison:
    >>
    >> <?xml version="1.0" encoding="utf-8"?>
    >> <driver project-version="3.0" class="com.mysql.jdbc.Driver">
    >> <url value="jdbc:mysql://hostname/dbname"/>
    >> <connectionPool min="1" max="1"/>
    >> <login userName="user" password="pass"
    >> encoderClass="org.apache.cayenne.conf.PlainTextPasswordEncoder"
    >> passwordLocation="model" passwordSource="Not Applicable"/>
    >> </driver>
    >>
    >> -----Original Message-----
    >> From: Jerald Dawson [mailto:jdawso..rk.com]
    >> Sent: Tuesday, July 01, 2008 10:41 AM
    >> To: Scott Anderson
    >> Subject: Re: Exception in SAXParserFactory.newInstance with 3.0M4
    >>
    >> Ok, I removed all the jars from my classpath except for the ones
    >> specifically needed for cayenne and that seemed to fix my class
    >> problem. I've not dug into it yet to see what jar was specifically
    >> causing it but now when I run my app, it attempts to load the
    >> cayenne.xml file. However, its throwing an exception when it tries to
    >> load the user name and password thats stored in the xml files for
    >> access the mysql database. The exception is:
    >>
    >> ...
    >> Jul 1, 2008 9:32:24 AM
    >> org.apache.cayenne.conf.DriverDataSourceFactory
    >> $LoginHandler init
    >> INFO: loading user name and password.
    >> Jul 1, 2008 9:32:24 AM org.apache.cayenne.conf.RuntimeLoadDelegate
    >> shouldLoadDataNode
    >> INFO: Error: DataSource load failed
    >> java.lang.NullPointerException
    >> at
    >> org
    >> .apache
    >> .cayenne.conn.DataSourceInfo.getPasswordEncoder(DataSourceInfo.java:
    >> 207)
    >> at org.apache.cayenne.conf.DriverDataSourceFactory
    >> $LoginHandler.init(DriverDataSourceFactory.java:324)
    >> ...
    >>
    >> I've checked the xml files and the username and password are stored
    >> in
    >> the files. The model's password encoder is set to
    >> org.apache.cayenne.conf.PlainTextPasswordEncoder,
    >>
    >> Any help would be greatly appreciated. I feel like a newbie
    >> again. :-)
    >>
    >> -j
    >>
    >> On Jul 1, 2008, at 7:45 AM, Scott Anderson wrote:
    >>
    >>> You sure you have all of them? Ashwood, collections, lang, logging,
    >>> and
    >>> velocity, in addition to the server jar and your mysql/j driver?
    >>> In my
    >>> experience, Cayenne generally fail how you describe when one of the
    >>> non-server jars is missing.
    >>>
    >>> -----Original Message-----
    >>> From: Jerald Dawson [mailto:jdawso..rk.com]
    >>> Sent: Monday, June 30, 2008 4:36 PM
    >>> To: use..ayenne.apache.org
    >>> Subject: Re: Exception in SAXParserFactory.newInstance with 3.0M4
    >>>
    >>> Hi Andrus
    >>>
    >>> I'm using Eclipse 3.4 for development. I've added the cayenne jars
    >>> to
    >>> my classpath and I'm running my app inside eclipse.
    >>>
    >>> -j
    >>>
    >>> On Jun 30, 2008, at 3:07 PM, Andrus Adamchik wrote:
    >>>
    >>>>> Seems to be throwing a class not found exception but I can't be
    >>>>> sure since it just ungracefully terminates the app with not stack
    >>>>> dump.
    >>>>
    >>>> This is unusual for a Java application. What type of application is
    >>>> that and how do you compile and run it?
    >>>>
    >>>> (and yes - SAX parser is part of JDK, and .. well, it just works).
    >>>>
    >>>> Andrus
    >>>>
    >>>>
    >>>> On Jun 30, 2008, at 10:55 PM, Jerald Dawson wrote:
    >>>>> Hello
    >>>>>
    >>>>> I'm new to cayenne (actually a webobjects guy) and I'm trying to
    >>>>> get it working. I'm was able able to get modeler working and I
    >>>>> created a model for accessing a mysql database. Everything seemed
    >>>>> pretty simple but now when I try to run my app that uses the
    >>>>> model,
    >>>>> when I call DataContext.createDataContext(), it terminates my app.
    >>>>> I've poked around a bit and the crash is actually happening in the
    >>>>> SAXParserFactory.newInstance method that is called during the
    >>>>> ConfigLoader initialization, specifically during the "parser =
    >>>>> Util.createXmlReader();" call. Seems to be throwing a class not
    >>>>> found exception but I can't be sure since it just ungracefully
    >>>>> terminates the app with not stack dump. Anyway, that kind of
    >>>>> puzzles me since my understanding was the all the SAX parser stuff
    >>>>> came with java (I'm using 1.5 on Mac OS X 10.5). I thought it
    >>>>> might
    >>>>> be that it could be that it can't find my xml files but I tried
    >>>>> just hard coding the path to the cayanne.xml file and it still
    >>>>> does
    >>>>> not work. Any help would be appreciated.
    >>>>>
    >>>>> jerald dawson
    >>>>>
    >>>>>
    >>>
    >>
    >



    This archive was generated by hypermail 2.0.0 : Tue Jul 01 2008 - 11:58:32 EDT