Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 345558 - BIGINT columns types in DB2 for i5/OS tables cause NPE during entity generation
Summary: BIGINT columns types in DB2 for i5/OS tables cause NPE during entity generation
Status: NEW
Alias: None
Product: Data Tools
Classification: Tools
Component: Enablement (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Brian Payton CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-12 05:38 EDT by Missing name CLA
Modified: 2011-06-29 10:13 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 Missing name CLA 2011-05-12 05:38:43 EDT
Build Identifier: 20110218-0911

When attempting to generate JPA entities from an DB2 for i5/OS table containing
the BIGINT column type, an NPE is thrown in entity generation code:

!ENTRY org.eclipse.jpt.ui 4 0 2011-05-12 10:58:16.038
!MESSAGE 
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jpt.utility.internal.StringTools.removeAllWhitespace(StringTools.java:2558)
	at org.eclipse.jpt.utility.internal.ReflectionTools.buildTypeDeclaration(ReflectionTools.java:1216)
	at org.eclipse.jpt.utility.internal.ReflectionTools.getClassNameForTypeDeclaration(ReflectionTools.java:1355)
	at org.eclipse.jpt.db.internal.DTPColumnWrapper.getJavaType(DTPColumnWrapper.java:137)
	at org.eclipse.jpt.db.internal.DTPColumnWrapper.getJavaType(DTPColumnWrapper.java:122)
	at org.eclipse.jpt.db.internal.DTPColumnWrapper.getPrimaryKeyJavaType(DTPColumnWrapper.java:131)
	at org.eclipse.jpt.db.internal.DTPColumnWrapper.getPrimaryKeyJavaTypeDeclaration(DTPColumnWrapper.java:127)
	at org.eclipse.jpt.gen.internal.util.DTPUtil.getJavaType(DTPUtil.java:71)
	at org.eclipse.jpt.gen.internal.BaseEntityGenCustomizer.getPropertyTypeFromColumn(BaseEntityGenCustomizer.java:90)
	at org.eclipse.jpt.gen.internal.ORMGenColumn.getPropertyType(ORMGenColumn.java:180)
	at org.eclipse.jpt.ui.internal.wizards.gen.ColumnGenPanel.updateControls(ColumnGenPanel.java:102)
	at org.eclipse.jpt.ui.internal.wizards.gen.ColumnGenPanel.setColumn(ColumnGenPanel.java:87)
	at org.eclipse.jpt.ui.internal.wizards.gen.TablesAndColumnsCustomizationWizardPage.updateColumnGenDetail(TablesAndColumnsCustomizationWizardPage.java:184)
	at org.eclipse.jpt.ui.internal.wizards.gen.TablesAndColumnsCustomizationWizardPage.updateDetailPanel(TablesAndColumnsCustomizationWizardPage.java:172)
	at org.eclipse.jpt.ui.internal.wizards.gen.TablesAndColumnsCustomizationWizardPage.access$1(TablesAndColumnsCustomizationWizardPage.java:166)
	at org.eclipse.jpt.ui.internal.wizards.gen.TablesAndColumnsCustomizationWizardPage$1.selectionChanged(TablesAndColumnsCustomizationWizardPage.java:139)
	at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
	at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2162)
	at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1190)
	at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1220)
	at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:228)
	at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:222)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:389)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at org.eclipse.ui.internal.navigator.wizards.WizardShortcutAction.run(WizardShortcutAction.java:98)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	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:369)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1408)


Reproducible: Always

Steps to Reproduce:
Steps to reproduce:

1. Create a DB2 for i5/OS table with the BIGINT column type, using DDL like the
following:
create table MYTABLE.MYTABLE (
  ID bigint generated by default as identity,
  VERSION integer not null,
  MYFIELD varchar(50) not null);

2. Run the entity generation wizard on a connection using that table

(problem seems identical to https://bugs.eclipse.org/bugs/show_bug.cgi?id=296868 but for different database/fieldtype combination)
Comment 1 Brian Fitzpatrick CLA 2011-05-12 12:50:22 EDT
Brian, can your DB2 folks look into this?
Comment 2 Missing name CLA 2011-06-29 10:09:27 EDT
Logged with Rational as APAR ID: PM42681
Comment 3 Maarten Lemmens CLA 2011-06-29 10:13:51 EDT
May I ask what the status is of this bug?