Stephen Brooksbank created NETBEANS-3996:
--------------------------------------------
Summary: Assert error - code completion
Key: NETBEANS-3996
URL: https://issues.apache.org/jira/browse/NETBEANS-3996
Project: NetBeans
Issue Type: Bug
Components: cnd - Code Completion
Affects Versions: 11.2
Environment: Product Version: Apache NetBeans IDE 11.2
Java: 13.0.1; OpenJDK 64-Bit Server VM 13.0.1+9
Runtime: OpenJDK Runtime Environment 13.0.1+9
System: Windows 10 version 10.0 running on amd64; Cp1252; en_GB (nb)
DerbyDB v10.14.2
Wildfly v18.0.1
Reporter: Stephen Brooksbank
The problem started to happen after the Static function was added to the class
DeclarationsFacade (code attached below).
The code completion is trying to add the method findByNDEAArc. The list of
options is shown. You use the cursor to find and select the right one, and then
the error occurs.
I shut down the NetBeans environment, and restarted afresh, and the same error
appears.
NOTE: I have now discovered that Static methods are not allowed in Stateless
EJBs Nevertheless the exception shouldn't happen.
java.lang.AssertionError
at com.sun.tools.javac.util.Assert.error(Assert.java:155)
at com.sun.tools.javac.util.Assert.check(Assert.java:46)
at com.sun.tools.javac.code.Scope$ScopeImpl.dble(Scope.java:410)
at com.sun.tools.javac.code.Scope$ScopeImpl.enter(Scope.java:433)
at com.sun.tools.javac.comp.MemberEnter.visitVarDef(MemberEnter.java:480)
at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:972)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:172)
at com.sun.tools.javac.comp.Attr.visitVarDef(Attr.java:1191)
at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:972)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:674)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:754)
at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:778)
at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1357)
at org.netbeans.lib.nbjavac.services.NBAttr.visitBlock(NBAttr.java:78)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1036)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:674)
at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:754)
at
org.netbeans.api.java.source.TreeUtilities.attributeTree(TreeUtilities.java:892)
at
org.netbeans.api.java.source.TreeUtilities.attributeTree(TreeUtilities.java:822)
at
org.netbeans.modules.editor.java.JavaCodeTemplateProcessor.type(JavaCodeTemplateProcessor.java:718)
at
org.netbeans.modules.editor.java.JavaCodeTemplateProcessor.instanceOf(JavaCodeTemplateProcessor.java:550)
at
org.netbeans.modules.editor.java.JavaCodeTemplateProcessor.getProposedValue(JavaCodeTemplateProcessor.java:399)
at
org.netbeans.modules.editor.java.JavaCodeTemplateProcessor.updateDefaultValues(JavaCodeTemplateProcessor.java:145)
at
org.netbeans.lib.editor.codetemplates.CodeTemplateInsertHandler.processTemplate(CodeTemplateInsertHandler.java:225)
at
org.netbeans.lib.editor.codetemplates.CodeTemplateManagerOperation.insert(CodeTemplateManagerOperation.java:273)
at
org.netbeans.lib.editor.codetemplates.api.CodeTemplate.insert(CodeTemplate.java:82)
at
org.netbeans.modules.editor.java.JavaCompletionItem.process(JavaCompletionItem.java:566)
at
org.netbeans.modules.editor.java.JavaCompletionItem.defaultAction(JavaCompletionItem.java:286)
at
org.netbeans.modules.editor.completion.CompletionImpl.dispatchKeyEvent(CompletionImpl.java:785)
at
org.netbeans.modules.editor.completion.CompletionImpl.keyPressed(CompletionImpl.java:386)
at
java.desktop/java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:258)
at
java.desktop/java.awt.AWTEventMulticaster.keyPressed(AWTEventMulticaster.java:257)
at java.desktop/java.awt.Component.processKeyEvent(Component.java:6594)
at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2849)
at java.desktop/java.awt.Component.processEvent(Component.java:6413)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
at
java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)
at
java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:870)
at
java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1139)
at
java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1009)
at
java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:835)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4893)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2762)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at
java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at
org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
[catch] at
java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at
java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at
java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
+DeclarationsFacade (edited+
package com.xxx.emcs_customs.sessionbeans;
import com.xxx.emcs_customs.entities.Declarations;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
/**
*
* @author sjbro
*/
@Stateless
public class DeclarationsFacade extends AbstractFacade<Declarations> {
private static final Logger LOG =
Logger.getLogger(DeclarationsFacade.class.getName());
@PersistenceContext(unitName = "EMCS_CustomsPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public DeclarationsFacade() {
super(Declarations.class);
}
// ***** ADDED ***** ADDED ***** ADDED *****
@Override
public void create(Declarations entity) {
entity.setCreated(new Date());
entity.setUpdated(entity.getCreated());
super.create(entity);
}
@Override
public void edit(Declarations entity) {
entity.setUpdated(new Date());
super.edit(entity);
}
/**
* Static method to obtain a DeclarationsFacade - for use when injection isn't
available
* @return
*/
public static DeclarationsFacade lookupDeclarationsFacade() {
try {
Context c = new InitialContext();
return (DeclarationsFacade) c.lookup("java:module/DeclarationsFacade");
} catch (NamingException ne) {
LOG.log(Level.SEVERE, "exception caught", ne);
throw new RuntimeException(ne);
}
}
public Declarations findByNDEAArc(String ndea, String arc) {
Query q = em.createNamedQuery("Declarations.findByNDEAArc");
q.setParameter("ndea", ndea);
q.setParameter("arc", arc);
List<Declarations> list = q.getResultList();
// list can only ever be 0 or 1 rows
return ( list.size() == 1 ? list.get(0) : null);
}
public Declarations findByNDEAConsignorLRN(String ndea, String consignorId,
String lrn) {
Query q = em.createNamedQuery("Declarations.findByNDEAConsignoridLrn");
q.setParameter("ndea", ndea);
q.setParameter("consignorid", consignorId);
q.setParameter("lrn", lrn);
List<Declarations> list = q.getResultList();
// list can only ever be 0 or 1 rows
return ( list.size() == 1 ? list.get(0) : null);
}
}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists