[JBoss JIRA] Created: (JBIDE-9684) CDI validator fails if a producer has a qualifier declared by inner interface
by Alexey Kazakov (JIRA)
CDI validator fails if a producer has a qualifier declared by inner interface
-----------------------------------------------------------------------------
Key: JBIDE-9684
URL: https://issues.jboss.org/browse/JBIDE-9684
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: CDI
Affects Versions: 3.3.0.M3
Reporter: Alexey Kazakov
Assignee: Viacheslav Kabanovich
Fix For: 3.3.0.M4
1. Create the following code:
{code}
public class A {
@Qualifier
@Retention(RUNTIME)
public @interface T {}
}
{code}
{code}
public class B extends C {
@Produces
@T
Object t;
}
{code}
2. Save the files.
3. See Eclipse log:
{code}
org.jboss.tools.common.validation.JBTValidationException
at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:101)
at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.NullPointerException
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateBean(CDICoreValidator.java:532)
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validateResource(CDICoreValidator.java:442)
at org.jboss.tools.cdi.internal.core.validation.CDICoreValidator.validate(CDICoreValidator.java:318)
at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:116)
at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81)
... 2 more
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 5 months
[JBoss JIRA] Created: (JBIDE-9699) Injection points of disposer methods are not validated
by Alexey Kazakov (JIRA)
Injection points of disposer methods are not validated
------------------------------------------------------
Key: JBIDE-9699
URL: https://issues.jboss.org/browse/JBIDE-9699
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: CDI
Affects Versions: 3.3.0.M3
Reporter: Alexey Kazakov
Assignee: Viacheslav Kabanovich
Fix For: 3.3.0.M4
See JSR-299:
{quote}
*3.3.6. Declaring a disposer method*
...
In addition to the disposed parameter, a disposer method may declare additional parameters, which may also specify qualifiers. These additional parameters are injection points.
{quote}
So we should treat all the parameters of disposer methods (except disposer parameters) as injection points.
For instance the following *@TestQualifier1 String s1* injected parameter should be marked as unsatisfied dependency:
{code}
public void foo2(@Disposes @TestQualifier3 String s, @TestQualifier1 String s1) {
}
@Produces
@TestQualifier3
public String foo3() {
return "";
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 5 months
[JBoss JIRA] Created: (JBIDE-9722) Injection point annotated with @New should be resolved even if bean class does not belong to a bean archive.
by Viacheslav Kabanovich (JIRA)
Injection point annotated with @New should be resolved even if bean class does not belong to a bean archive.
------------------------------------------------------------------------------------------------------------
Key: JBIDE-9722
URL: https://issues.jboss.org/browse/JBIDE-9722
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: CDI
Affects Versions: 3.3.0.M3
Reporter: Viacheslav Kabanovich
Assignee: Viacheslav Kabanovich
Fix For: 3.3.0.M4
See JSR-299 3.12. @New qualified beans.
For each managed bean, and for each session bean, a second bean exists which:
• has the same bean class,
• has the same bean types,
• has the same bean constructor, initializer methods and injected fields, and
• has the same interceptor bindings.
However, this second bean:
• has scope @Dependent,
• has a exactly one qualifier: @javax.enterprise.inject.New(X.class) where X is the bean class,
• has no bean EL name,
• has no stereotypes,
• has no observer methods, producer methods or fields or disposer methods, and
• is not an alternative, and
• is enabled, in the sense of Section 5.1.2, "Enabled and disabled beans", if and only if some other enabled bean has an
injection point with the qualifier @New(X.class) where X is the bean class.
This bean is called the @New qualified bean for the class X.
Note that this second bean exists—and may be enabled and available for injection—even if the first bean is disabled.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 5 months
[JBoss JIRA] Created: (JBIDE-9723) Injection points declared in producer methods should be validated as injection points of the producer but not as injections of the class bean
by Alexey Kazakov (JIRA)
Injection points declared in producer methods should be validated as injection points of the producer but not as injections of the class bean
---------------------------------------------------------------------------------------------------------------------------------------------
Key: JBIDE-9723
URL: https://issues.jboss.org/browse/JBIDE-9723
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: CDI
Affects Versions: 3.3.0.M3
Reporter: Alexey Kazakov
Assignee: Alexey Kazakov
Fix For: 3.3.0.M4
EXECUTE: Create a CDI project.
EXECUTE: Create the following class:
{code}
@ApplicationScoped
public class ProducerWInjections {
@Produces
public Test produce(InjectionPoint ip) {
return null;
}
public static class Test {
}
}
{code}
EXECUTE: Build the project.
FAILURE: *InjectionPoint ip* is marked as an error *Bean that declares any scope other than @Dependent has an injection point of type InjectionPoint and qualifier @Default [JSR-299 §5.5.7]*
That's not correct since the injection points belongs to the producer method bean which scoped correctly. We should not validate such a injection against a bean class.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 5 months
[JBoss JIRA] Created: (JBIDE-9667) NPE when deleting project
by Libor Zoubek (JIRA)
NPE when deleting project
-------------------------
Key: JBIDE-9667
URL: https://issues.jboss.org/browse/JBIDE-9667
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: Seam 2
Affects Versions: 3.3.0.M3
Reporter: Libor Zoubek
Assignee: Alexey Kazakov
Priority: Minor
Sometimes I get this when running swtbot tests, There is our class in stacktrace.
{noformat}
[java] !ENTRY org.eclipse.ui.navigator 4 0 2011-09-06 14:42:27.944
[java] !MESSAGE An exception occurred invoking extension: org.eclipse.jst.jee.ui.web for object P/BottomUpWS-web
[java] !STACK 0
[java] java.lang.NullPointerException
[java] at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.createModelResource(JEE5ModelProvider.java:193)
[java] at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.getModelResource(JEE5ModelProvider.java:174)
[java] at org.eclipse.jst.jee.model.internal.Web25ModelProvider.getModelObject(Web25ModelProvider.java:44)
[java] at org.eclipse.jst.jee.model.internal.JEE5ModelProvider.getModelObject(JEE5ModelProvider.java:217)
[java] at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getLastModificationTimeOfDDFile(AbstractMergedModelProvider.java:235)
[java] at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.hasToReloadModel(AbstractMergedModelProvider.java:229)
[java] at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getMergedModel(AbstractMergedModelProvider.java:218)
[java] at org.eclipse.jst.jee.model.internal.common.AbstractMergedModelProvider.getModelObject(AbstractMergedModelProvider.java:139)
[java] at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getNewContentProviderInstance(Web25ContentProvider.java:69)
[java] at org.eclipse.jst.jee.ui.internal.navigator.JEE5ContentProvider.getCachedContentProvider(JEE5ContentProvider.java:92)
[java] at org.eclipse.jst.jee.ui.internal.navigator.Web25ContentProvider.getChildren(Web25ContentProvider.java:35)
[java] at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:96)
[java] at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:275)
[java] at org.eclipse.ui.internal.navigator.extensions.SafeDelegateTreeContentProvider.getChildren(SafeDelegateTreeContentProvider.java:94)
[java] at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider$1.run(NavigatorContentServiceContentProvider.java:152)
[java] at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[java] at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.internalGetChildren(NavigatorContentServiceContentProvider.java:139)
[java] at org.eclipse.ui.internal.navigator.NavigatorContentServiceContentProvider.getChildren(NavigatorContentServiceContentProvider.java:125)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1352)
[java] at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:391)
[java] at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:917)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:605)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2620)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1908)
[java] at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1915)
[java] at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1883)
[java] at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1840)
[java] at org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:561)
[java] at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1535)
[java] at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1443)
[java] at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
[java] at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404)
[java] at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1533)
[java] at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:548)
[java] at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:353)
[java] at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:510)
[java] at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1465)
[java] at org.jboss.tools.seam.ui.views.AbstractSeamContentProvider$3.run(AbstractSeamContentProvider.java:224)
[java] at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
[java] at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
[java] at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
[java] at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
[java] at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173)
[java] at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388)
[java] at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:331)
[java] at org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:605)
[java] at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:153)
[java] at org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.performFinish(DeleteResourcesWizard.java:151)
[java] at org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:678)
[java] at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:455)
[java] at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
[java] at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
[java] at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
[java] at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
[java] at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
[java] at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
[java] at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
[java] at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1061)
[java] at org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot$2.run(AbstractSWTBot.java:159)
[java] at org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable$5.doRun(UIThreadRunnable.java:221)
[java] at org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable$1.run(UIThreadRunnable.java:89)
[java] at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
[java] at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
[java] at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
[java] at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
[java] at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
[java] at org.eclipse.jface.window.Window.open(Window.java:801)
[java] at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:181)
[java] at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
[java] at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:193)
[java] at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:116)
[java] at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:40)
[java] at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
[java] at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
[java] at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
[java] at org.eclipse.ui.internal.handlers.HandlerService.executeCommandInContext(HandlerService.java:270)
[java] at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:95)
[java] at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:47)
[java] at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:474)
[java] at org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:165)
[java] at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:275)
[java] at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:251)
[java] at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
[java] at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
[java] at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
[java] at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
[java] at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
[java] at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
[java] at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282)
[java] at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1267)
[java] at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1061)
[java] at org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot$2.run(AbstractSWTBot.java:159)
[java] at org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable$5.doRun(UIThreadRunnable.java:221)
[java] at org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable$1.run(UIThreadRunnable.java:89)
[java] at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
[java] at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
[java] at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3563)
[java] at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3212)
[java] at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
[java] at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
[java] at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
[java] at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
[java] at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
[java] at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
[java] at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
[java] at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
[java] at org.eclipse.swtbot.eclipse.junit4.headless.UITestApplication.start(UITestApplication.java:53)
[java] at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
[java] at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
[java] at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
[java] at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
[java] at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:616)
[java] at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
[java] at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
[java] at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
[java] at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
[java] at org.eclipse.core.launcher.Main.main(Main.java:34)
{noformat}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 5 months