[jbosstools-issues] [JBoss JIRA] Commented: (JBIDE-4901) Exceptions occurs in "Hibernate: add JPA annotations' wizard after finish is pressed

Vitali Yemialyanchyk (JIRA) jira-events at lists.jboss.org
Mon Sep 21 15:20:49 EDT 2009


    [ https://jira.jboss.org/jira/browse/JBIDE-4901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12486710#action_12486710 ] 

Vitali Yemialyanchyk commented on JBIDE-4901:
---------------------------------------------

"Have you checked JDT refactoring sources to be sure you're using LTK API in a right way?" 
I try to check and can't find what is wrong.
Generally I supply PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell() as a shell to RefactoringStarter and
DocumentChange as a TextChange operation.
Internally LTK run separate thread which is in its turn
try to apply CompositeChange and TextChange operations and get the exception.

Other arguments:
The stack trace report about problem in SWT and in LTK, the reason of this problem appears with 3.5 changes...
The stack trace report - about "Invalid thread access" from the thread which was started from LTK.

My workaround is disable redraw and listeners for JavaText editor befor
HibernateJPAWizard -> showWizard() -> refactoringStarter.activate
and enable it after. As result files updated correctly.

May be there are other workarounds, but the best thing is to hear opinion of LTK  developers befor more research here...

> Exceptions occurs in "Hibernate: add JPA annotations' wizard after finish is pressed
> ------------------------------------------------------------------------------------
>
>                 Key: JBIDE-4901
>                 URL: https://jira.jboss.org/jira/browse/JBIDE-4901
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: Hibernate
>    Affects Versions: 3.1.0.M4
>         Environment: Ubuntu Linux 9.04
> Java 1.5.0_update19 from Sun
>            Reporter: Denis Golovin
>            Assignee: Vitali Yemialyanchyk
>             Fix For: 3.1.0.M4
>
>
> 1. EXECUTE: Create Dynamic Web Project with Hibrenate JPA enabled
> 2. EXECUTE: Create simple POJO
> 3. EXECUTE: Select POJO from previous step and select Source/Generate Hibernate/JPA Annotations
> 4. EXECUTE: Go through all steps by default and press Finish
> 5. ASSERT: There have no exceptions happened.
> Now it fails with exceptions below
> java.lang.reflect.InvocationTargetException
> at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:477)
> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
> at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
> at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2578)
> at org.eclipse.ui.internal.progress.ProgressManager$6.run(ProgressManager.java:1203)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1197)
> at org.eclipse.jdt.internal.ui.javaeditor.AddImportOnSelectionAction.run(AddImportOnSelectionAction.java:137)
> at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
> at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
> at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
> at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
> at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
> at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1467)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1175)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
> at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1212)
> at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:706)
> at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2837)
> at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:703)
> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1570)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:4586)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4191)
> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
> at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:7586)
> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1185)
> at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
> at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1858)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3110)
> 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)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
> Caused by: java.lang.IllegalStateException
> at org.eclipse.jface.text.AbstractDocument.startRewriteSession(AbstractDocument.java:1543)
> at org.eclipse.core.internal.filebuffers.SynchronizableDocument.startRewriteSession(SynchronizableDocument.java:98)
> at org.eclipse.jface.text.RewriteSessionEditProcessor.performEdits(RewriteSessionEditProcessor.java:91)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter$ApplyTextEditCommand.run(DocumentAdapter.java:176)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter.run(DocumentAdapter.java:112)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter.access$1(DocumentAdapter.java:109)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter$ApplyTextEditCommand.applyTextEdit(DocumentAdapter.java:186)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter.applyTextEdit(DocumentAdapter.java:579)
> at org.eclipse.jdt.internal.core.CompilationUnit.applyTextEdit(CompilationUnit.java:74)
> at org.eclipse.jdt.internal.corext.util.JavaModelUtil.applyEdit(JavaModelUtil.java:790)
> at org.eclipse.jdt.internal.corext.codemanipulation.AddImportsOperation.run(AddImportsOperation.java:181)
> at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
> at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
> at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4694)
> at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
> at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
> ... 60 more
> Root exception:
> java.lang.IllegalStateException
> at org.eclipse.jface.text.AbstractDocument.startRewriteSession(AbstractDocument.java:1543)
> at org.eclipse.core.internal.filebuffers.SynchronizableDocument.startRewriteSession(SynchronizableDocument.java:98)
> at org.eclipse.jface.text.RewriteSessionEditProcessor.performEdits(RewriteSessionEditProcessor.java:91)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter$ApplyTextEditCommand.run(DocumentAdapter.java:176)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter.run(DocumentAdapter.java:112)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter.access$1(DocumentAdapter.java:109)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter$ApplyTextEditCommand.applyTextEdit(DocumentAdapter.java:186)
> at org.eclipse.jdt.internal.ui.javaeditor.DocumentAdapter.applyTextEdit(DocumentAdapter.java:579)
> at org.eclipse.jdt.internal.core.CompilationUnit.applyTextEdit(CompilationUnit.java:74)
> at org.eclipse.jdt.internal.corext.util.JavaModelUtil.applyEdit(JavaModelUtil.java:790)
> at org.eclipse.jdt.internal.corext.codemanipulation.AddImportsOperation.run(AddImportsOperation.java:181)
> at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
> at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
> at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4694)
> at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:106)
> at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
> at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
> at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2578)
> at org.eclipse.ui.internal.progress.ProgressManager$6.run(ProgressManager.java:1203)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1197)
> at org.eclipse.jdt.internal.ui.javaeditor.AddImportOnSelectionAction.run(AddImportOnSelectionAction.java:137)
> at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
> at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
> at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
> at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
> at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
> at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
> at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
> at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1467)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1175)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1200)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1185)
> at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1212)
> at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:706)
> at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2837)
> at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:703)
> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1570)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:4586)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4191)
> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
> at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:7586)
> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1185)
> at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
> at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1858)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3110)
> 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)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
> org.eclipse.swt.SWTException: Invalid thread access
> at org.eclipse.swt.SWT.error(SWT.java:3884)
> at org.eclipse.swt.SWT.error(SWT.java:3799)
> at org.eclipse.swt.SWT.error(SWT.java:3770)
> at org.eclipse.swt.widgets.Widget.error(Widget.java:450)
> at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:389)
> at org.eclipse.swt.custom.StyledText.getBlockSelection(StyledText.java:3483)
> at org.eclipse.jface.text.TextViewer.getSelection(TextViewer.java:2523)
> at org.eclipse.jface.text.TextViewer$ViewerState.connect(TextViewer.java:1283)
> at org.eclipse.jface.text.TextViewer$ViewerState.<init>(TextViewer.java:1172)
> at org.eclipse.jface.text.TextViewer.disableRedrawing(TextViewer.java:5071)
> at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5109)
> at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5089)
> at org.eclipse.jface.text.TextViewer$RewriteTarget.setRedraw(TextViewer.java:1065)
> at org.eclipse.jface.text.TextViewer$DocumentRewriteSessionListener.documentRewriteSessionChanged(TextViewer.java:1465)
> at org.eclipse.jface.text.AbstractDocument.fireRewriteSessionChanged(AbstractDocument.java:1524)
> at org.eclipse.jface.text.AbstractDocument.startRewriteSession(AbstractDocument.java:1550)
> at org.eclipse.core.internal.filebuffers.SynchronizableDocument.startRewriteSession(SynchronizableDocument.java:98)
> at org.eclipse.ltk.core.refactoring.TextChange.performEdits(TextChange.java:271)
> at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:238)
> at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
> at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
> at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:260)
> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
> at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:308)
> at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)
> at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:225)
> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
> at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
> at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
> org.eclipse.swt.SWTException: Invalid thread access
> at org.eclipse.swt.SWT.error(SWT.java:3884)
> at org.eclipse.swt.SWT.error(SWT.java:3799)
> at org.eclipse.swt.SWT.error(SWT.java:3770)
> at org.eclipse.swt.widgets.Widget.error(Widget.java:450)
> at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:389)
> at org.eclipse.swt.custom.StyledText.getBlockSelection(StyledText.java:3483)
> at org.eclipse.jface.text.TextViewer.getSelection(TextViewer.java:2523)
> at org.eclipse.jface.text.TextViewer$ViewerState.connect(TextViewer.java:1283)
> at org.eclipse.jface.text.TextViewer$ViewerState.<init>(TextViewer.java:1172)
> at org.eclipse.jface.text.TextViewer.disableRedrawing(TextViewer.java:5071)
> at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5109)
> at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5089)
> at org.eclipse.jface.text.TextViewer$RewriteTarget.setRedraw(TextViewer.java:1065)
> at org.eclipse.jface.text.TextViewer$DocumentRewriteSessionListener.documentRewriteSessionChanged(TextViewer.java:1465)
> at org.eclipse.jface.text.AbstractDocument.fireRewriteSessionChanged(AbstractDocument.java:1524)
> at org.eclipse.jface.text.AbstractDocument.startRewriteSession(AbstractDocument.java:1550)
> at org.eclipse.core.internal.filebuffers.SynchronizableDocument.startRewriteSession(SynchronizableDocument.java:98)
> at org.eclipse.ltk.core.refactoring.TextChange.performEdits(TextChange.java:271)
> at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:238)
> at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
> at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
> at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:260)
> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
> at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:308)
> at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)
> at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:225)
> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
> at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
> at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list