Re: Maven2 cgen task problem

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Mon May 24 2010 - 12:01:03 UTC

  • Next message: MGargan..scholar.com: "Re: Blobs in the DataContext"

    Looks like "additionalMaps" parameter requires some attention and unit
    tests. Looks like it somehow grabs cayenne.xml from the main map
    directory.

    I was actually surprised to notice that "additionalMaps" is a
    directory in the first place. Intuitively this should be a list of
    DataMap locations. Maybe something we should Jira for 3.0.1.. We can
    probably do it even better. Instead of "additionalMaps", we can
    specify a location of cayenne.xml, and take them from there.

    Andrus

    On May 24, 2010, at 11:44 AM, Gary Jarrel wrote:
    >> Aha, the Maven task is naive assuming all XML files in a given
    >> folder are
    >> DataMaps... I guess we may make it smarter by and check for map.xml
    >> extensions. For now the fix is to delete the backup file
    >> "ssistMap.map.xml~".
    >>
    >
    > Ouch, how did I miss that... I removed the files and ran it again the
    > the problem persisted!
    >
    > Then I removed the .svn directory from that folder and am now getting
    > a new error:
    >
    >
    > [DEBUG] Configuring mojo
    > 'org.apache.cayenne.plugins:maven-cayenne-plugin:3.0:cgen' -->
    > [DEBUG] (f) additionalMaps =
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/src/main/
    > webapp/WEB-INF/conf/cayenne
    > [DEBUG] (f) client = false
    > [DEBUG] (f) destDir =
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/src/main/
    > java
    > [DEBUG] (f) makePairs = true
    > [DEBUG] (f) map =
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/src/main/
    > webapp/WEB-INF/conf/cayenne/comoneMap.map.xml
    > [DEBUG] (f) mode = entity
    > [DEBUG] (f) outputPattern = *.java
    > [DEBUG] (f) overwrite = false
    > [DEBUG] (f) project = MavenProject:
    > au.com.jarrel.comone:com1-website:1.0 @
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/pom.xml
    > [DEBUG] (f) superPkg = au.com.jarrel.comone.site.db.entity.auto
    > [DEBUG] (f) superTemplate =
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/src/
    > bootstrap/superclass.vm
    > [DEBUG] (f) usePkgPath = true
    > [DEBUG] -- end configuration --
    > [INFO] [cayenne:cgen {execution: default-cli}]
    > [INFO]
    > ------------------------------------------------------------------------
    > [ERROR] BUILD ERROR
    > [INFO]
    > ------------------------------------------------------------------------
    > [INFO] Error generating classes:
    >
    > Embedded error: [v.3.0 Apr 30 2010 11:29:33] Error loading DataMap,
    > last processed tag: <null>
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/cayenne.xml
    > (No such file or directory)
    > [INFO]
    > ------------------------------------------------------------------------
    > [DEBUG] Trace
    > org.apache.maven.lifecycle.LifecycleExecutionException: Error
    > generating classes:
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:
    > 719)
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor
    > .executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:
    > 539)
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor
    > .executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor
    > .executeTaskSegments(DefaultLifecycleExecutor.java:348)
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    > at
    > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:
    > 60)
    > 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:597)
    > at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:
    > 315)
    > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    > at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:
    > 430)
    > at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
    > Caused by: org.apache.maven.plugin.MojoExecutionException: Error
    > generating classes:
    > at
    > org
    > .apache
    > .cayenne
    > .tools.CayenneGeneratorMojo.execute(CayenneGeneratorMojo.java:249)
    > at
    > org
    > .apache
    > .maven
    > .plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:
    > 490)
    > at
    > org
    > .apache
    > .maven
    > .lifecycle
    > .DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:
    > 694)
    > ... 17 more
    > Caused by: org.apache.cayenne.CayenneRuntimeException: [v.3.0 Apr 30
    > 2010 11:29:33] Error loading DataMap, last processed tag: <null>
    > at org.apache.cayenne.map.MapLoader.loadDataMap(MapLoader.java:732)
    > at
    > org
    > .apache
    > .cayenne
    > .tools
    > .CayenneGeneratorMapLoaderAction
    > .loadDataMap(CayenneGeneratorMapLoaderAction.java:69)
    > at
    > org
    > .apache
    > .cayenne
    > .tools
    > .CayenneGeneratorMapLoaderAction
    > .getMainDataMap(CayenneGeneratorMapLoaderAction.java:54)
    > at
    > org
    > .apache
    > .cayenne
    > .tools.CayenneGeneratorMojo.execute(CayenneGeneratorMojo.java:238)
    > ... 19 more
    > Caused by: java.io.FileNotFoundException:
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/cayenne.xml
    > (No such file or directory)
    > at java.io.FileInputStream.open(Native Method)
    > at java.io.FileInputStream.<init>(FileInputStream.java:106)
    > at java.io.FileInputStream.<init>(FileInputStream.java:66)
    > at
    > sun
    > .net
    > .www.protocol.file.FileURLConnection.connect(FileURLConnection.java:
    > 70)
    > at
    > sun
    > .net
    > .www
    > .protocol
    > .file.FileURLConnection.getInputStream(FileURLConnection.java:161)
    > at
    > com
    > .sun
    > .org
    > .apache
    > .xerces
    > .internal
    > .impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:653)
    > at
    > com
    > .sun
    > .org
    > .apache
    > .xerces
    > .internal
    > .impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:
    > 186)
    > at
    > com
    > .sun
    > .org
    > .apache
    > .xerces
    > .internal.parsers.XML11Configuration.parse(XML11Configuration.java:
    > 771)
    > at
    > com
    > .sun
    > .org
    > .apache
    > .xerces
    > .internal.parsers.XML11Configuration.parse(XML11Configuration.java:
    > 737)
    > at
    > com
    > .sun
    > .org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
    > 107)
    > at
    > com
    > .sun
    > .org
    > .apache
    > .xerces
    > .internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    > at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
    > $JAXPSAXParser.parse(SAXParserImpl.java:522)
    > at org.apache.cayenne.map.MapLoader.loadDataMap(MapLoader.java:721)
    > ... 22 more
    >
    > Notice how in the configuration options all the paths are correct:
    >
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/src/main/
    > webapp/WEB-INF/conf/cayenne
    >
    > However FileNotFoundException says:
    >
    > /home/garyj/dev/workspace/com1-projects/projects/core-site/cayenne.xml
    >
    > Furthermore if I remove cayenne.xml from the conf directory I get the
    > same error but the file name changes to the extra data map that I have
    > in that directory.
    >
    > Any further thoughts?
    >
    > Cheers,
    >
    > Gary
    >



    This archive was generated by hypermail 2.0.0 : Mon May 24 2010 - 12:01:36 UTC