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