WOGen can not generate java classes from EOModel with defined prototypes
------------------------------------------------------------------------
Key: WOL-537
URL: http://issues.objectstyle.org/jira/browse/WOL-537
Project: WOProject/WOLips
Issue Type: Bug
Components: woproject
Affects Versions: 3.3.* (nightly build please specify)
Environment: Gentoo Linux 2.6, Eclipse 3.3
Reporter: Łukasz Szydło
Priority: Blocker
I have EOModel with prototypes defined. When I try to generate java classes by WOGen an exception ocures :
BUILD FAILED
/local/home/szydler/workspace/IFirmaFoundation/build.xml:111: Error generating classes: java.lang.NullPointerException
at org.objectstyle.cayenne.tools.CayenneGenerator.execute(CayenneGenerator.java:128)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
Caused by: java.lang.NullPointerException
at org.objectstyle.woproject.ant.EOModelReader$WOFriendlyHelper.javaTypeForEOModelerType(Unknown Source)
at org.objectstyle.cayenne.wocompat.EOModelProcessor.makeAttributes(EOModelProcessor.java:444)
at org.objectstyle.cayenne.wocompat.EOModelProcessor.loadEOModel(EOModelProcessor.java:194)
at org.objectstyle.cayenne.wocompat.EOModelProcessor.loadEOModel(EOModelProcessor.java:154)
at org.objectstyle.woproject.ant.WOGenerator.loadDataMap(Unknown Source)
at org.objectstyle.cayenne.tools.CayenneGenerator.processMap(CayenneGenerator.java:134)
at org.objectstyle.cayenne.tools.CayenneGenerator.execute(CayenneGenerator.java:116)
... 16 more
--- Nested Exception ---
java.lang.NullPointerException
at org.objectstyle.woproject.ant.EOModelReader$WOFriendlyHelper.javaTypeForEOModelerType(Unknown Source)
at org.objectstyle.cayenne.wocompat.EOModelProcessor.makeAttributes(EOModelProcessor.java:444)
at org.objectstyle.cayenne.wocompat.EOModelProcessor.loadEOModel(EOModelProcessor.java:194)
at org.objectstyle.cayenne.wocompat.EOModelProcessor.loadEOModel(EOModelProcessor.java:154)
at org.objectstyle.woproject.ant.WOGenerator.loadDataMap(Unknown Source)
at org.objectstyle.cayenne.tools.CayenneGenerator.processMap(CayenneGenerator.java:134)
at org.objectstyle.cayenne.tools.CayenneGenerator.execute(CayenneGenerator.java:116)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
Problem seems to be in class org.objectstyle.woproject.ant.EOModelReader$WOFriendlyHelper.java .
Method 'javaTypeForEOModelerType' takes two parameters : valueClassName, valueType.
If there are no prototypes used, <entity>.plist looks like this:
{
allowsNull = Y;
columnName = ABON_EMAIL;
externalType = VARCHAR2;
name = abonEmail;
valueClassName = NSString;
width = 50;
},
and everything is ok. But when I have prototype that looks like below:
{
columnName = ABONENT_ID;
name = abonentId;
prototypeName = keyPrototype;
},
then both parameters of method 'javaTypeForEOModelerType are 'null'. Inside the method there is no null checking, and nullPointerException is thrown.
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.objectstyle.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
This archive was generated by hypermail 2.0.0 : Wed Jul 11 2007 - 12:10:55 EDT