[jbosstools-issues] [JBoss JIRA] Updated: (JBIDE-7720) "Open Source File" and "Open Mapping File" don't work for m2eclipse multi-module project

Martin Ackermann (JIRA) jira-events at lists.jboss.org
Sat Dec 4 09:59:47 EST 2010


     [ https://jira.jboss.org/browse/JBIDE-7720?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ackermann updated JBIDE-7720:
------------------------------------

           Environment: Windows XP SP2, Eclipse Galileo SR2, JBoss Tools 3.1.1, m2eclipse 0.10.0, derby core plugin and derby ui plugin version 10.6.2.1, jboss AS 4.2.2  (was: Windows XP SP2, Eclipse Galileo SR2, JBoss Tools 3.1.1, m2eclipse 0.10.0)
    Steps to Reproduce: 
I'm using a jboss to resolve the classpath dependencies for jpa. I'm not absolutely sure if it works exactly the way below because I encountered some trial, error and undo.

Steps to reproduce without example workspace:
1. Switch to new workspace
2. Create parent project
   -- File->New->Project...
   -- Select Maven->"Maven Project", "Next >"
   -- Check "Create a simple project", "Next >"
   -- Under Artifact: "Group Id" = "mypackage", "Artifact Id" = "mpm", Packaging = "pom", "Next >", "Finish"
2. Create child project
   -- File->New->Project...
   -- Select Maven->"Maven Module", "Next >"
   -- Check "Create a simple project"
   -- Press "Browse..."-Button for "Parent Project", Select "mpm", "OK"
   -- "Next >"
   -- Under Artifact: "Group Id" = "mypackage", "Artifact Id" is disabled, Packaging = "ejb", "Next >", "Finish"
3. Add and configure JPA Facet
   -- Select "mpm-ejb" in Package Explorer
   -- Project->Properties->"Project Facets"
   -- Change Version for Java from 1.4 to 5.0
   -- Check "Java Persistence"
   -- Click on "Further configuration available..."
   -- Type = "Disable Library Configuration"
   -- Check "Discover annotated classes automatically"
   -- Click on "Add connection ...", Select "Derby", Name = "MyDerby", "Next >"
   -- Drivers = "Derby Client JDBC Driver 10.2 Default", "Database" = "mpm-db", "Finish"
   -- Check "Add driver library to build path"
   -- "OK" to leave further configuration
   -- "OK" to leave facet selection
4. Create entity bean
   -- File->New->Other...
   -- Select JPA->Entity
   -- "Class name" = MyClass, "Finish" (Ignore NPE with message "Apply changes to persistence XML")
5. Add id for entity bean
   -- Paste "@Id"
   -- Paste "@GeneratedValue(strategy=GenerationType.AUTO)"
   -- Paste "private long id;"
6. Create JBoss runtime
   -- Window->Preferences->Server->"Runtime Environments"
   -- "Add..."
   -- "JBoss Community"->"JBoss 4.2 Runtime", "Nect >"
   -- Point "Home Directory" to the installation path, e.g. "C:\java\jboss\jboss-4.2.2.GA"
7. Add JBoss to resolve classpath dependencies (otherwise the hibernate perspective will not work)
   -- Select "mpm-ejb" in Package Explorer
   -- Project->Properties...->"Java Build Path"
   -- "Add library..."
   -- "Server Runtime", "Next >"
   -- "JBoss 4.2 Runtime", "Finish"
8. Create database
   -- File->New->Project...
   -- Select General->Project, "Next >"
   -- "Project name" = "mpm-db", "Finish"
   -- Right-click on mpm-db, "Apache Derby"->"Add Apache Derby nature"
9. Mount database
   -- Right-click on mpm-db, "Apache Derby"->"Start Derby Network Server"
10. Open Error Log
   -- Window->"Show View"->Other... General->"Error Log"
11. Use Hibernate Perspective
   -- Window->"Open Perspective"->"Other..."->Hibernate
   -- In the view "Hibernate Configurations" press "[+]"
   -- Type = "JPA", Project = "mpm-ejb", "Database connection" = "MyDerby"
   -- Under "Classpath": "Add External JARs..." chose <path to derby plugin location>\plugins\org.apache.derby.core_10.6.2\derbyclient.jar
   -- Under "Options": "Database dialect" = "Derby"
   -- "OK"
   -- Expand "hibernate" in under "Hibernate Configurations"
   -- Expand "Configuration"
   -- Double-click on MyClass
   -- See the exception in the error log view

Steps to reproduce using the example workspace in workspace.zip:
- Adjust path in the JBoss server runtime to your local JBoss installation
- Perform last three steps from above


> "Open Source File" and "Open Mapping File" don't work for m2eclipse multi-module project
> ----------------------------------------------------------------------------------------
>
>                 Key: JBIDE-7720
>                 URL: https://jira.jboss.org/browse/JBIDE-7720
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: Hibernate
>    Affects Versions: 3.1.1
>         Environment: Windows XP SP2, Eclipse Galileo SR2, JBoss Tools 3.1.1, m2eclipse 0.10.0, derby core plugin and derby ui plugin version 10.6.2.1, jboss AS 4.2.2
>            Reporter: Martin Ackermann
>            Assignee: Vitali Yemialyanchyk
>             Fix For: 3.2.0.CR1
>
>         Attachments: screenshot-1.jpg, screenshot-2.jpg, workspace.zip
>
>
> Maven multi-module projects have directory structures like <parent-project>/<child-project>, e.g. mpm/mpm-ejb. m2eclipse shows <child-project> in the workspace at the root node next to <parent-project>.
> When defining a Hibernate configuration in the Hibernate perspective, everything works except "Open Source File" and "Open Mapping File" (Right click on a entity under "Configuration"). The resulting exception is appended below.
> "Mapping Diagram" and expanding the attributes of the entity do work.
> Maybe a workaround would be to modify the classpath of the Hibernate configuration. But neither "Advanced"->"Attach Source" nor "Advanced"->"Add Folder" for the Source-Folder helped.
> The Hibernate configuration was:
> Type "JPA"
> Database dialect: "Derby"
> Property file with:
> hibernate.dialect=org.hibernate.dialect.DerbyDialect
> hibernate.connection.driver_class=org.apache.derby.jdbc.ClientDriver
> hibernate.connection.url=jdbc:derby://localhost:1527/mpm-db
> hibernate.connection.username=MPM
> hibernate.connection.password=mpm
> hibernate.connection.provider_class=org.hibernate.connection.DriverManagerConnectionProvider
> hibernate.transaction.factory_class org.hibernate.transaction.JDBCTransactionFactory
> Error Log:
> !ENTRY org.hibernate.eclipse.console 4 4 2010-11-23 15:45:45.984
> !MESSAGE Can't find mapping file.
> !SUBENTRY 1 org.hibernate.eclipse.console 4 150 2010-11-23 15:45:45.984
> !MESSAGE Java Model Exception: Java Model Status [mpm does not exist]
> !STACK 1
> Java Model Exception: Java Model Status [mpm does not exist]
> 	at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:502)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
> 	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
> 	at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1561)
> 	at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2258)
> 	at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2268)
> 	at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1279)
> 	at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1186)
> 	at org.hibernate.eclipse.console.actions.OpenSourceAction.run(OpenSourceAction.java:123)
> 	at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:156)
> 	at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:104)
> 	at org.hibernate.eclipse.console.views.KnownConfigurationsView$4.run(KnownConfigurationsView.java:202)
> 	at org.hibernate.eclipse.console.views.KnownConfigurationsView$2.doubleClick(KnownConfigurationsView.java:118)
> 	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:821)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
> 	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> 	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> 	at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:819)
> 	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1419)
> 	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1195)
> 	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:238)
> 	at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:235)
> 	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:296)
> 	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:3910)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
> 	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
> 	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> 	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
> 	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:194)
> 	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:368)
> 	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:559)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> !SUBENTRY 2 org.eclipse.jdt.core 4 969 2010-11-23 15:45:45.984
> !MESSAGE mpm does not exist
> !SUBENTRY 2 org.hibernate.eclipse.console 4 150 2010-11-23 15:45:45.984
> !MESSAGE Java Model Exception: Java Model Status [mpm does not exist]
> !STACK 1
> Java Model Exception: Java Model Status [mpm does not exist]
> 	at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:502)
> 	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
> 	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
> 	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
> 	at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1561)
> 	at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2258)
> 	at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2268)
> 	at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1279)
> 	at org.eclipse.jdt.internal.core.JavaProject.findType(JavaProject.java:1186)
> 	at org.hibernate.eclipse.console.actions.OpenSourceAction.run(OpenSourceAction.java:123)
> 	at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:156)
> 	at org.hibernate.eclipse.console.actions.OpenMappingAction.run(OpenMappingAction.java:104)
> 	at org.hibernate.eclipse.console.views.KnownConfigurationsView$4.run(KnownConfigurationsView.java:202)
> 	at org.hibernate.eclipse.console.views.KnownConfigurationsView$2.doubleClick(KnownConfigurationsView.java:118)
> 	at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:821)
> 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> 	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
> 	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
> 	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
> 	at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:819)
> 	at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1419)
> 	at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1195)
> 	at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:238)
> 	at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:235)
> 	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:296)
> 	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:3910)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
> 	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
> 	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
> 	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
> 	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
> 	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:194)
> 	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:368)
> 	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:559)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
> !SUBENTRY 3 org.eclipse.jdt.core 4 969 2010-11-23 15:45:45.984
> !MESSAGE mpm does not exist

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list