[ 
https://issues.apache.org/jira/browse/NETBEANS-3996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Brooksbank updated NETBEANS-3996:
-----------------------------------------
    Attachment: messages.log
                Code Assert error caused by code completion.png

> 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
>            Priority: Minor
>         Attachments: Code Assert error caused by code completion.png, 
> messages.log
>
>
> 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: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to