the code in JPAMapToolActionDelegate.setEnabled is collecting all compilationunits instead of just looking at subtype.
When JBoss is hanging; it appears to be in the CompilationUnit Collector code - which is what we are seeing with Process Monitor where it is scanning the entire Workspace (I suspect).
at org.hibernate.eclipse.jdt.ui.internal.jpa.collect.CompilationUnitCollector.addCompilationUnit(CompilationUnitCollector.java:86)
at org.hibernate.eclipse.jdt.ui.internal.jpa.collect.CompilationUnitCollector.processJavaElements(CompilationUnitCollector.java:153)
at org.hibernate.eclipse.jdt.ui.internal.jpa.collect.CompilationUnitCollector.processJavaElements(CompilationUnitCollector.java:168)
at org.hibernate.eclipse.jdt.ui.internal.jpa.collect.CompilationUnitCollector.processJavaElements(CompilationUnitCollector.java:135) JBoss DevStudio is unresponsive
at org.hibernate.eclipse.jdt.ui.internal.jpa.actions.JPAMapToolActor.processJavaElements(JPAMapToolActor.java:333)
at org.hibernate.eclipse.jdt.ui.internal.jpa.actions.JPAMapToolActionDelegate.setEnabled(JPAMapToolActionDelegate.java:101)
at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:233)
at org.eclipse.core.commands.Command.setEnabled(Command.java:857)
at org.eclipse.ui.menus.CommandContributionItem.isEnabled(CommandContributionItem.java:918)