Bug 241472 - Difference exception when setting JoinTable and JoinColumn attributes
Summary: Difference exception when setting JoinTable and JoinColumn attributes
Status: RESOLVED WORKSFORME
Alias: None
Product: Dali JPA Tools
Classification: WebTools
Component: General (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: dali.general-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-20 06:21 EDT by Reto Urfer CLA
Modified: 2008-07-21 13:24 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Reto Urfer CLA 2008-07-20 06:21:42 EDT
Build ID: I20080617-2000

Steps To Reproduce:
1. Create a field 
   private Set<TargetEntity> ref;
   and map it as a OneToMany association field with JPA Details view
2. The contents in JPA Details view is not updated. The following exception is added to ErrorLog view:

eclipse.buildId=I20080617-2000
java.version=1.6.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
Framework arguments:  -showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86 -data D:\Daten\eclipse34\Test\workspace -showlocation


Error
Sun Jul 20 12:06:55 CEST 2008
Unhandled event loop exception

org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException: Index out of bounds)
	at org.eclipse.swt.SWT.error(SWT.java:3777)
	at org.eclipse.swt.SWT.error(SWT.java:3695)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Caused by: java.lang.IllegalArgumentException: Index out of bounds
	at org.eclipse.swt.SWT.error(SWT.java:3761)
	at org.eclipse.swt.SWT.error(SWT.java:3695)
	at org.eclipse.swt.SWT.error(SWT.java:3666)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
	at org.eclipse.swt.widgets.Table.createItem(Table.java:1573)
	at org.eclipse.swt.widgets.TableItem.<init>(TableItem.java:118)
	at org.eclipse.swt.widgets.TableItem.<init>(TableItem.java:112)
	at org.eclipse.jpt.ui.internal.swt.TableModelAdapter.listItemsAdded(TableModelAdapter.java:355)
	at org.eclipse.jpt.ui.internal.swt.TableModelAdapter$1.itemsAdded(TableModelAdapter.java:196)
	at org.eclipse.jpt.ui.internal.listeners.SWTListChangeListenerWrapper.itemsAdded_(SWTListChangeListenerWrapper.java:168)
	at org.eclipse.jpt.ui.internal.listeners.SWTListChangeListenerWrapper.itemsAdded(SWTListChangeListenerWrapper.java:35)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.fireItemsAdded(ChangeSupport.java:1218)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.fireItemsAdded(ChangeSupport.java:1223)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.fireItemsAdded(SingleAspectChangeSupport.java:194)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.fireItemsAdded(AbstractModel.java:434)
	at org.eclipse.jpt.utility.internal.model.value.ItemAspectListValueModelAdapter.itemsAdded(ItemAspectListValueModelAdapter.java:182)
	at org.eclipse.jpt.utility.internal.model.value.ListValueModelWrapper$1.itemsAdded(ListValueModelWrapper.java:63)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.fireItemsAdded(ChangeSupport.java:1218)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.fireItemsAdded(ChangeSupport.java:1223)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.fireItemsAdded(SingleAspectChangeSupport.java:194)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.fireItemsAdded(AbstractModel.java:434)
	at org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel.componentItemsAdded(CompositeListValueModel.java:454)
	at org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel$1.itemsAdded(CompositeListValueModel.java:129)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.fireItemAdded(ChangeSupport.java:1307)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.fireItemAdded(ChangeSupport.java:1313)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.fireItemAdded(SingleAspectChangeSupport.java:206)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.fireItemAdded(AbstractModel.java:426)
	at org.eclipse.jpt.utility.internal.model.value.PropertyListValueModelAdapter.valueChanged(PropertyListValueModelAdapter.java:205)
	at org.eclipse.jpt.utility.internal.model.value.PropertyListValueModelAdapter$1.propertyChanged(PropertyListValueModelAdapter.java:77)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:539)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:545)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.firePropertyChanged(SingleAspectChangeSupport.java:110)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.firePropertyChanged(AbstractModel.java:117)
	at org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter.fireAspectChange(PropertyAspectAdapter.java:185)
	at org.eclipse.jpt.utility.internal.model.value.AspectAdapter.subjectChanged(AspectAdapter.java:119)
	at org.eclipse.jpt.utility.internal.model.value.AspectAdapter$1.propertyChanged(AspectAdapter.java:95)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:539)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:545)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.firePropertyChanged(SingleAspectChangeSupport.java:110)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.firePropertyChanged(AbstractModel.java:117)
	at org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel.valueChanged(TransformationPropertyValueModel.java:79)
	at org.eclipse.jpt.utility.internal.model.value.PropertyValueModelWrapper$1.propertyChanged(PropertyValueModelWrapper.java:58)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:539)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:545)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.firePropertyChanged(SingleAspectChangeSupport.java:110)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.firePropertyChanged(AbstractModel.java:117)
	at org.eclipse.jpt.utility.internal.model.value.FilteringPropertyValueModel.valueChanged(FilteringPropertyValueModel.java:102)
	at org.eclipse.jpt.utility.internal.model.value.PropertyValueModelWrapper$1.propertyChanged(PropertyValueModelWrapper.java:58)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:539)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:545)
	at org.eclipse.jpt.utility.internal.model.SingleAspectChangeSupport.firePropertyChanged(SingleAspectChangeSupport.java:110)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.firePropertyChanged(AbstractModel.java:117)
	at org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter.fireAspectChange(PropertyAspectAdapter.java:185)
	at org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter.propertyChanged(PropertyAspectAdapter.java:253)
	at org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter$1.propertyChanged(PropertyAspectAdapter.java:124)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:539)
	at org.eclipse.jpt.utility.internal.model.ChangeSupport.firePropertyChanged(ChangeSupport.java:545)
	at org.eclipse.jpt.utility.internal.model.AbstractModel.firePropertyChanged(AbstractModel.java:117)
	at org.eclipse.jpt.core.internal.context.java.GenericJavaPersistentAttribute.setSpecifiedMappingKey(GenericJavaPersistentAttribute.java:177)
	at org.eclipse.jpt.ui.internal.mappings.details.PersistentAttributeMapAsComposite$2.morphMapping(PersistentAttributeMapAsComposite.java:147)
	at org.eclipse.jpt.ui.internal.mappings.details.MapAsComposite.morphMapping(MapAsComposite.java:316)
	at org.eclipse.jpt.ui.internal.mappings.details.MapAsComposite$3.execute(MapAsComposite.java:182)
	at org.eclipse.jpt.ui.internal.mappings.details.MapAsComposite$3.execute(MapAsComposite.java:1)
	at org.eclipse.jpt.ui.internal.util.SWTUtil$1.run(SWTUtil.java:153)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	... 23 more



3. After you was successful to force JPA Details view to display the current informaation of the association field, set the Join Table name to 'TEST_ASSOC'.
4. Check the 'Override Default' button in the Join Columns or Inverse Join Columns section. The list with the override definitions and the buttons 'Add...', 'Edit...' and 'Remove' stay greyed out and the following exception is added to the ErrorLog view:

eclipse.buildId=I20080617-2000
java.version=1.6.0_06
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
Framework arguments:  -showlocation
Command-line arguments:  -os win32 -ws win32 -arch x86 -data D:\Daten\eclipse34\Test\workspace -showlocation


Error
Sun Jul 20 12:12:08 CEST 2008
Unhandled event loop exception

org.eclipse.core.runtime.AssertionFailedException: assertion failed: 
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:111)
	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:97)
	at org.eclipse.text.edits.TextEdit.<init>(TextEdit.java:148)
	at org.eclipse.text.edits.ReplaceEdit.<init>(ReplaceEdit.java:36)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.shifEdit(ASTRewriteFormatter.java:375)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.shifEdit(ASTRewriteFormatter.java:389)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.formatNode(ASTRewriteFormatter.java:366)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteFormatter.getFormattedResult(ASTRewriteFormatter.java:184)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doTextInsert(ASTRewriteAnalyzer.java:1021)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer$ListRewriter.rewriteList(ASTRewriteAnalyzer.java:501)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer$ListRewriter.rewriteList(ASTRewriteAnalyzer.java:435)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.rewriteNodeList(ASTRewriteAnalyzer.java:926)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.visit(ASTRewriteAnalyzer.java:3208)
	at org.eclipse.jdt.core.dom.NormalAnnotation.accept0(NormalAnnotation.java:163)
	at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doVisit(ASTRewriteAnalyzer.java:290)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.voidVisitList(ASTRewriteAnalyzer.java:328)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.voidVisit(ASTRewriteAnalyzer.java:322)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doVisitUnchangedChildren(ASTRewriteAnalyzer.java:335)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.visit(ASTRewriteAnalyzer.java:2005)
	at org.eclipse.jdt.core.dom.FieldDeclaration.accept0(FieldDeclaration.java:279)
	at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doVisit(ASTRewriteAnalyzer.java:290)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.voidVisitList(ASTRewriteAnalyzer.java:328)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.voidVisit(ASTRewriteAnalyzer.java:322)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doVisitUnchangedChildren(ASTRewriteAnalyzer.java:335)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.visit(ASTRewriteAnalyzer.java:1334)
	at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:467)
	at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doVisit(ASTRewriteAnalyzer.java:290)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.voidVisitList(ASTRewriteAnalyzer.java:328)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.voidVisit(ASTRewriteAnalyzer.java:322)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.doVisitUnchangedChildren(ASTRewriteAnalyzer.java:335)
	at org.eclipse.jdt.internal.core.dom.rewrite.ASTRewriteAnalyzer.visit(ASTRewriteAnalyzer.java:1314)
	at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:209)
	at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2478)
	at org.eclipse.jdt.core.dom.InternalASTRewrite.rewriteAST(InternalASTRewrite.java:93)
	at org.eclipse.jdt.core.dom.AST.rewrite(AST.java:2860)
	at org.eclipse.jdt.core.dom.CompilationUnit.rewrite(CompilationUnit.java:906)
	at org.eclipse.jpt.core.internal.utility.jdt.JDTMember.edit_(JDTMember.java:176)
	at org.eclipse.jpt.core.internal.utility.jdt.JDTMember.edit(JDTMember.java:142)
	at org.eclipse.jpt.core.internal.utility.jdt.AbstractAnnotationAdapter.edit(AbstractAnnotationAdapter.java:73)
	at org.eclipse.jpt.core.internal.utility.jdt.AbstractAnnotationAdapter.newMarkerAnnotation(AbstractAnnotationAdapter.java:45)
	at org.eclipse.jpt.core.internal.resource.java.AbstractResourceAnnotation.newAnnotation(AbstractResourceAnnotation.java:68)
	at org.eclipse.jpt.core.internal.resource.java.ContainerAnnotationTools.addNestedAnnotation(ContainerAnnotationTools.java:31)
	at org.eclipse.jpt.core.internal.resource.java.JoinTableImpl.addJoinColumn(JoinTableImpl.java:128)
	at org.eclipse.jpt.core.internal.context.java.GenericJavaJoinTable.addSpecifiedJoinColumn(GenericJavaJoinTable.java:180)
	at org.eclipse.jpt.core.internal.context.java.GenericJavaJoinTable.addSpecifiedJoinColumn(GenericJavaJoinTable.java:1)
	at org.eclipse.jpt.ui.internal.mappings.details.JoinTableComposite.updateJoinColumns(JoinTableComposite.java:464)
	at org.eclipse.jpt.ui.internal.mappings.details.JoinTableComposite.access$9(JoinTableComposite.java:443)
	at org.eclipse.jpt.ui.internal.mappings.details.JoinTableComposite$6.widgetSelected(JoinTableComposite.java:212)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Comment 1 Karen Butzke CLA 2008-07-21 13:24:12 EDT
This is not a Dali bug, as described in bug 241470 comment 5