This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 204327 - AssertionError at org.netbeans.modules.hibernate.wizards.support.DBSchemaManager.getSchemaElement
Summary: AssertionError at org.netbeans.modules.hibernate.wizards.support.DBSchemaMana...
Status: RESOLVED FIXED
Alias: None
Product: javaee
Classification: Unclassified
Component: Hibernate (show other bugs)
Version: 7.0
Hardware: All All
: P3 normal (vote)
Assignee: Sergey Petrov
URL:
Keywords:
: 204792 (view as bug list)
Depends on:
Blocks: 191951
  Show dependency tree
 
Reported: 2011-10-27 13:15 UTC by Sergey Petrov
Modified: 2011-11-16 01:57 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 182210


Attachments
stacktrace (5.74 KB, text/plain)
2011-10-27 13:15 UTC, Sergey Petrov
Details
stacktrace (5.72 KB, text/plain)
2011-11-05 17:45 UTC, _ pandajava
Details
stacktrace (5.72 KB, text/plain)
2011-11-07 17:27 UTC, _ pandajava
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Petrov 2011-10-27 13:15:37 UTC
Build: NetBeans IDE Dev (Build 20111026-ec2195fcddcc)
VM: Java HotSpot(TM) Client VM, 20.2-b06, Java(TM) SE Runtime Environment, 1.6.0_27-b07
OS: Windows 7

User Comments:
GUEST: Creating a new Hibernate Mapping Wizard

sj-nb: hibarnate mapping wizard.

in j2se create hibernate config on sample derby db connection
create some class
invoke hibernate mapping




Stacktrace: 
java.lang.AssertionError
   at org.netbeans.modules.hibernate.wizards.support.DBSchemaManager.getSchemaElement(DBSchemaManager.java:96)
   at org.netbeans.modules.hibernate.util.HibernateUtil.getAllDatabaseTablesOnEventThread(HibernateUtil.java:180)
   at org.netbeans.modules.hibernate.service.spi.HibernateEnvironmentImpl.getAllDatabaseTablesOnEventThread(HibernateEnvironmentImpl.java:294)
   at org.netbeans.modules.hibernate.wizards.HibernateMappingWizardPanel.fillDatabaseTable(HibernateMappingWizardPanel.java:109)
   at org.netbeans.modules.hibernate.wizards.HibernateMappingWizardPanel.<init>(HibernateMappingWizardPanel.java:91)
   at org.netbeans.modules.hibernate.wizards.HibernateMappingWizardDescriptor.getComponent(HibernateMappingWizardDescriptor.java:77)
Comment 1 Sergey Petrov 2011-10-27 13:15:42 UTC
Created attachment 112497 [details]
stacktrace
Comment 2 Sergey Petrov 2011-10-27 14:13:30 UTC
reproducible in case of "fast wizard access" i.e. New|Mapping..  isntead of New|Other
Comment 3 Sergey Petrov 2011-10-28 12:00:23 UTC
it's one more wizard broken after recent changes to wizards, it may have wrong code within but it was ok before but now cause problems.
Comment 4 _ pandajava 2011-11-05 17:45:34 UTC
Created attachment 112869 [details]
stacktrace

Creating hibernate mapping file for a maven project
Comment 5 _ pandajava 2011-11-07 17:27:43 UTC
Created attachment 112946 [details]
stacktrace

Creating hibernate mapping file with wizard
Date ; 07 nov. 2011
Comment 6 Sergey Petrov 2011-11-08 11:40:59 UTC
*** Bug 204792 has been marked as a duplicate of this bug. ***
Comment 7 Sergey Petrov 2011-11-08 11:43:19 UTC
I'm working on it, unfortunatly fast fix with just move initialization into swingutilities.invokelater do not solve the problem, need some more time.
Comment 8 Sergey Petrov 2011-11-08 12:22:37 UTC
http://hg.netbeans.org/web-main/rev/b4c04e90ad57 fix similar to persistence wizrd fix
Comment 9 Quality Engineering 2011-11-09 16:10:51 UTC
Integrated into 'main-golden'
Changeset: http://hg.netbeans.org/main-golden/rev/b4c04e90ad57
User: Sergey B. Petrov <sj-nb@netbeans.org>
Log: #204327 postpone initialization, similar to 202022
Comment 10 Jesse Glick 2011-11-15 18:51:23 UTC
Not sure what the original assertion was about, but one mistake in iterator code that could cause problems is creating the GUI component for a panel eagerly. This should only be done if and when getComponent is called by the wizard infrastructure, which will happen just if and when the panel is actually displayed.
Comment 11 Sergey Petrov 2011-11-15 20:54:36 UTC
Do you mean there is a problem with this fix or in initial logic?

Initial assertion was cause by changes in a way wizard can be initialized, before 7.1 it was always in EDT, now it may be either in EDT or not. But If I got it right, I agree, there was strange order of panels initialization as second panel connect to db right after panel creation and this part of code was possible to invoke later (once panel is accessed), not sure if getComponent can be used, need to look at.
Comment 12 Jesse Glick 2011-11-16 01:57:42 UTC
(In reply to comment #11)
> Do you mean there is a problem with this fix or in initial logic?

In initial logic, perhaps - I do not know anything specifically about this wizard, just a hint.