[ http://jira.andromda.org/browse/EJB-53?page=comments#action_14420 ] 

Karl-Heinz Walk commented on EJB-53:
------------------------------------

I used this modification and encoutered several problems/ errors:

1. With stereotype <<MappedSuperclass>> the class is generated without the 
member "id" and methods getId and setId. But this methods are called in the 
derived classes.

2. When I model the "id" member explictly in the <<MappedSuperclass>> the model 
will not be validated. For each derived class I get the following message:

2007-05-17 13:59:55,013 ERROR [AndroMDA] 1) 
[Data::aiinfosys::de.amnesty.bezirk.aiinfosys::domain::EinzelMitglied]:An 
undocumented constraint has been violated: context EJB3EntityFacade\r\ninv: 
identifiersPresent

This also happens if I annote the "id" member with @andromda.persistence.coulmn

3.  I would like to have the <<MappedSuperclass>> to be abstract. If I set the 
flag in MagicDraw for the class I get the following error:

------- AndroMDA Exception Recording -------
Version ........: 3.3-SNAPSHOT
Error ..........: Error performing ModelProcessor.process with model(s) --> 
'C:\Projects\aiinfosys\mda\src\main\uml\aiinfosys.uml2'
Build ..........: ${build.date}
Build System ...: Linux-2.4.29-su-1.2
Build JDK ......: Sun Microsystems Inc.-1.5.0_07-b03
Build Builder ..: su-builder
Run System .....: Windows XP5.1
Run JDK ........: Sun Microsystems Inc.1.5.0_06-b05
Main Exception .: org.andromda.core.cartridge.CartridgeException: Error 
processing template 'templates/ejb3/EntityEmbeddable.vsl' with template context 
'{entity=org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogicImpl[Adresse],
 [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], 
driver=com.mysql.jdbc.Driver, username=amnesty, password=andisherpa, 
connectionUrl=jdbc:mysql://localhost:3306/aiinfosys, 
dataSource=java:/jdbc/aiinfosys, dataSourceName=jdbc/aiinfosys, 
entityManagerName=aiinfosys, hibernateHbm2DDLAuto=update, 
hibernateDialect=org.hibernate.dialect.MySQLInnoDBDialect, 
hibernateShowSql=null, hibernateMaxFetchDepth=null, 
hibernateJdbcFetchSize=null, hibernateJdbcBatchSize=null, 
hibernateJdbcUseScrollableResultSet=null, 
hibernateJdbcUseStreamsForBinary=null, hibernate
 CacheProvider=org.jboss.ejb3.entity.TreeCacheProviderHook, 
hibernateTreecacheMbeanObject=jboss.cache:service=EJB3EntityTreeCache, 
hibernateEnableCache=false, hibernateEnableAssociationsCache=false, 
hibernateUseQueryCache=false, useDefaultCacheRegion=false, 
hibernateTransactionManagerLookupClass=null, 
hibernateTransactionFlushBeforeCompletion=null, 
hibernateTransactionAutoCloseSession=null, serviceLocatorName=ServiceLocator, 
manageableServiceLocatorName=ManageableServiceLocator, 
ejb3TypesPackage=de.amnesty.bezirk.infosys, persistenceProviderExtensions=none, 
persistenceContextUnitName=aiinfosys, persistenceContainerName=jboss, 
parameterRequiredCheck=true, xmlEncoding=UTF-8, enableTemplating=true, 
jndiNamePrefix=aiinfosys-1.0, securityRealm=null, manageableRolesAllowed=Admin, 
enableClustering=false, webServiceContextRoot=/aiinfosys-ws, 
webServiceUrlPattern=/services, 
dao-impls=C:\Projects\aiinfosys\mda/../core/src/main/java, 
daos=C:\Projects\aiinfosys\mda/../core/target/src, da
 oInheritanceEnabled=false, enableDaoPropertiesCreateMethod=true, 
seamEnabled=false, jarFiles=null}' using cartridge 'ejb3'
Root Exception .: org.apache.velocity.exception.MethodInvocationException: 
Invocation of method 'getAllEntityRelations' in  class 
org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogicImpl threw 
exception class java.lang.IllegalStateException : Relation 
'adresse2adressierbar' has the abstract target 'Adressierbar'. Abstract targets 
are not allowed in EJB.
org.apache.velocity.exception.MethodInvocationException: Invocation of method 
'getAllEntityRelations' in  class 
org.andromda.cartridges.ejb3.metafacades.EJB3EntityFacadeLogicImpl threw 
exception class java.lang.IllegalStateException : Relation 
'adresse2adressierbar' has the abstract target 'Adressierbar'. Abstract targets 
are not allowed in EJB.
    at 
org.apache.velocity.runtime.parser.node.ASTIdentifier.execute(ASTIdentifier.java:193)
    at 
org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175)
    at 
org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:327)
    at 
org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:51)
    at 
org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:95)
    at 
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230)
    at org.apache.velocity.Template.merge(Template.java:256)
    at 
org.andromda.templateengines.velocity.VelocityTemplateEngine.processTemplate(VelocityTemplateEngine.java:240)
    at 
org.andromda.core.cartridge.Cartridge.processWithTemplate(Cartridge.java:373)
    at 
org.andromda.core.cartridge.Cartridge.processTemplateWithMetafacades(Cartridge.java:235)
    at org.andromda.core.cartridge.Cartridge.processTemplate(Cartridge.java:111)
    at 
org.andromda.core.cartridge.Cartridge.processModelElements(Cartridge.java:62)
    at 
org.andromda.core.engine.ModelProcessor.processModels(ModelProcessor.java:249)
    at org.andromda.core.engine.ModelProcessor.process(ModelProcessor.java:146)
    at org.andromda.core.engine.ModelProcessor.process(ModelProcessor.java:82)
    at org.andromda.core.engine.Engine.run(Engine.java:82)
    at org.andromda.core.AndroMDA.run(AndroMDA.java:197)
    at org.andromda.maven.plugin.AndroMDAMojo.execute(AndroMDAMojo.java:92)
    at 
org.andromda.maven.plugin.AbstractAndroMDAMojo.execute(AbstractAndroMDAMojo.java:106)
    at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:420)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
    at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:330)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:123)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
    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)


> Wrong class reference of associations of a MappedSuperclass
> -----------------------------------------------------------
>
>          Key: EJB-53
>          URL: http://jira.andromda.org/browse/EJB-53
>      Project: EJB Cartridge
>         Type: Bug

>     Reporter: Karl-Heinz Walk
>     Assignee: Vance Karimi
>     Priority: Critical

>
> A modelled entity  "XXX" with stereotype <<MappedSuperclass>> which has an 
> association to an entity "YYY" is named "XXXEmbeddable". But in the class 
> "YYY" the association definition is of class "XXX" instead of 
> "XXXEmbeddable".  The generated code can't be compiled.
> To solve this bug I suggest that explicitly modelled mapped superclasses are 
> NOT renamed to "XXXEmbeddable" but simply named "XXX". 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.andromda.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

Reply via email to