Crash if Entity associated to non-Entity
----------------------------------------

         Key: HIB-174
         URL: http://jira.andromda.org/browse/HIB-174
     Project: Hibernate Cartridge
        Type: Bug

    Versions: 3.1    
 Environment: Using AndroMDA 3.2-RC1-SNAPSHOT
    Reporter: Matthias Bohlen
 Assigned to: Carlos Cuenca 
     Fix For: 3.2-RC1


An error in the input model causes the cartridge to crash:

When an <<Entity>> has an association to another class with no stereotype (user 
forgot to model the stereotype <<Entity>> there), the cartridge crashes because 
it tries to evaluate an OCL condition in HibernateAssociationEnd and assumes 
that "otherEnd" is also an instance of HibernateAssociationEnd (which it is not 
because of the missing stereotype!).

The full stack trace:

------- AndroMDA Exception Recording -------
Version ........: 3.2-RC1-SNAPSHOT
Error ..........: Error performing ModelProcessor.process with model(s) --> 
'file:SomeModel.xml'
Build ..........: ${build.date}
Build System ...: AndroMDA Core-3.2-RC1-SNAPSHOT
Build JDK ......: ${java.vm.vendor}-${java.vm.version}
Build Builder ..: AndroMDA Core
Run System .....: Windows XP5.1
Run JDK ........: Sun Microsystems Inc.1.4.2_05-b04
Main Exception .: org.andromda.core.common.IntrospectorException: No readable 
property named 'list', exists on object 
'org.andromda.metafacades.uml14.AssociationEndFacadeLogicImpl[finance]'
Root Exception .: org.andromda.core.common.IntrospectorException: No readable 
property named 'list', exists on object 
'org.andromda.metafacades.uml14.AssociationEndFacadeLogicImpl[finance]'
org.andromda.core.common.IntrospectorException: No readable property named 
'list', exists on object 
'org.andromda.metafacades.uml14.AssociationEndFacadeLogicImpl[finance]'
        at 
org.andromda.core.common.Introspector.internalGetProperty(Introspector.java:490)
        at 
org.andromda.core.common.Introspector.getNestedProperty(Introspector.java:226)
        at 
org.andromda.core.common.Introspector.getNestedProperty(Introspector.java:241)
        at 
org.andromda.core.common.Introspector.getProperty(Introspector.java:182)
        at 
org.andromda.translation.ocl.validation.OCLIntrospector.invoke(OCLIntrospector.java:40)
        at 
org.andromda.cartridges.hibernate.metafacades.HibernateAssociationEndLogic.validateInvariants(HibernateAssociationEndLogic.java:1260)
        at 
org.andromda.core.metafacade.MetafacadeBase.validate(MetafacadeBase.java:106)
        at 
org.andromda.core.metafacade.MetafacadeFactory.validateAllMetafacades(MetafacadeFactory.java:258)
        at 
org.andromda.core.engine.ModelProcessor.validateModel(ModelProcessor.java:367)
        at 
org.andromda.core.engine.ModelProcessor.loadModelIfNecessary(ModelProcessor.java:324)
        at 
org.andromda.core.engine.ModelProcessor.loadIfNecessary(ModelProcessor.java:504)
        at 
org.andromda.core.engine.ModelProcessor.processModels(ModelProcessor.java:217)
        at 
org.andromda.core.engine.ModelProcessor.process(ModelProcessor.java:143)
        at 
org.andromda.core.engine.ModelProcessor.process(ModelProcessor.java:79)
        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:83)
        at 
org.andromda.maven.plugin.AbstractAndroMDAMojo.execute(AbstractAndroMDAMojo.java:106)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:432)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:530)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:472)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:451)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
        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:324)
        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)


-- 
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: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642

Reply via email to