castor

Create JConstant class (analogue to JField)

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.3
  • Component/s: XML schema support
  • Labels:
    None
  • Number of attachments :
    2

Description

Create a JConstant class as a convenience class. Basically, this mimics most of the JField logic, but sets a couple of things by default

Issue Links

Activity

Hide
Werner Guttmann added a comment -

Initial patch for review.

Show
Werner Guttmann added a comment - Initial patch for review.
Hide
Ralf Joachim added a comment -

It seams there are some parts missing in the patch.

Show
Ralf Joachim added a comment - It seams there are some parts missing in the patch.
Hide
Werner Guttmann added a comment -

Complete patch, including the missing files.

Show
Werner Guttmann added a comment - Complete patch, including the missing files.
Hide
Thomas Dreyer added a comment -

Hi Werner,

I get an embedded error by generating from XSDs with descriptor.

The problem occur in DescriptorSourceFactory.createDiscriptor(...)
by calling on JClass the addMember(final JMember jMember) method.
Since this issue the method is called with the new JConstant class and
can not handle this.

Regards Thomas Dreyer

...
[INFO] ------------------------------------------------------------------------
[INFO] Building VK Backend: Value Objects
[INFO] task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [castor:generate {execution: Generating common VOs}]
[INFO] Processing D:\vk\main\backend\vo\xsd\dekanet\PersonAddress.xsd
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Castor execution failed

Embedded error: An Exception occurred processing D:\vk\main\backend\vo\xsd\dekanet\PersonAddress.xsd
Cannot add JMember 'org.exolab.javasource.JConstant' to JClass, unrecognized type.
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Castor execution failed
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:584)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:500)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:331)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:292)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:301)
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.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: Castor execution failed
at org.codehaus.mojo.castor.GenerateMojo.execute(GenerateMojo.java:257)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:453)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
... 16 more
Caused by: org.apache.maven.plugin.MojoExecutionException: An Exception occurred processing D:\vk\main\backend\vo\xsd\dekanet\PersonAddress.xsd
at org.codehaus.mojo.castor.GenerateMojo.processFile(GenerateMojo.java:452)
at org.codehaus.mojo.castor.GenerateMojo.execute(GenerateMojo.java:239)
... 18 more
Caused by: java.lang.IllegalArgumentException: Cannot add JMember 'org.exolab.javasource.JConstant' to JClass, unrecognized type.
at org.exolab.javasource.JClass.addMember(JClass.java:114)
at org.exolab.castor.builder.descriptors.DescriptorSourceFactory.createDescriptor(DescriptorSourceFactory.java:380)
at org.exolab.castor.builder.descriptors.DescriptorSourceFactory.createSource(DescriptorSourceFactory.java:269)
at org.exolab.castor.builder.SingleClassGenerator.processClassDescriptor(SingleClassGenerator.java:397)
at org.exolab.castor.builder.SingleClassGenerator.process(SingleClassGenerator.java:376)
at org.exolab.castor.builder.SingleClassGenerator.process(SingleClassGenerator.java:314)
at org.exolab.castor.builder.SourceGenerator.createClasses(SourceGenerator.java:944)
at org.exolab.castor.builder.SourceGenerator.generateAllClassFiles(SourceGenerator.java:797)
at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:752)
at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:696)
at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:593)
at org.codehaus.mojo.castor.GenerateMojo.processFile(GenerateMojo.java:438)
... 19 more

Show
Thomas Dreyer added a comment - Hi Werner, I get an embedded error by generating from XSDs with descriptor. The problem occur in DescriptorSourceFactory.createDiscriptor(...) by calling on JClass the addMember(final JMember jMember) method. Since this issue the method is called with the new JConstant class and can not handle this. Regards Thomas Dreyer ... [INFO] ------------------------------------------------------------------------ [INFO] Building VK Backend: Value Objects [INFO] task-segment: [install] [INFO] ------------------------------------------------------------------------ [INFO] [castor:generate {execution: Generating common VOs}] [INFO] Processing D:\vk\main\backend\vo\xsd\dekanet\PersonAddress.xsd [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Castor execution failed Embedded error: An Exception occurred processing D:\vk\main\backend\vo\xsd\dekanet\PersonAddress.xsd Cannot add JMember 'org.exolab.javasource.JConstant' to JClass, unrecognized type. [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Castor execution failed at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:584) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:500) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:479) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:331) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:292) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) at org.apache.maven.cli.MavenCli.main(MavenCli.java:301) 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.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: Castor execution failed at org.codehaus.mojo.castor.GenerateMojo.execute(GenerateMojo.java:257) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:453) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559) ... 16 more Caused by: org.apache.maven.plugin.MojoExecutionException: An Exception occurred processing D:\vk\main\backend\vo\xsd\dekanet\PersonAddress.xsd at org.codehaus.mojo.castor.GenerateMojo.processFile(GenerateMojo.java:452) at org.codehaus.mojo.castor.GenerateMojo.execute(GenerateMojo.java:239) ... 18 more Caused by: java.lang.IllegalArgumentException: Cannot add JMember 'org.exolab.javasource.JConstant' to JClass, unrecognized type. at org.exolab.javasource.JClass.addMember(JClass.java:114) at org.exolab.castor.builder.descriptors.DescriptorSourceFactory.createDescriptor(DescriptorSourceFactory.java:380) at org.exolab.castor.builder.descriptors.DescriptorSourceFactory.createSource(DescriptorSourceFactory.java:269) at org.exolab.castor.builder.SingleClassGenerator.processClassDescriptor(SingleClassGenerator.java:397) at org.exolab.castor.builder.SingleClassGenerator.process(SingleClassGenerator.java:376) at org.exolab.castor.builder.SingleClassGenerator.process(SingleClassGenerator.java:314) at org.exolab.castor.builder.SourceGenerator.createClasses(SourceGenerator.java:944) at org.exolab.castor.builder.SourceGenerator.generateAllClassFiles(SourceGenerator.java:797) at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:752) at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:696) at org.exolab.castor.builder.SourceGenerator.generateSource(SourceGenerator.java:593) at org.codehaus.mojo.castor.GenerateMojo.processFile(GenerateMojo.java:438) ... 19 more

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
30m
Original Estimate - 30 minutes Original Estimate - 30 minutes
Remaining:
0m
Remaining Estimate - 0 minutes
Logged:
1h
Time Spent - 1 hour