NPE in Branding Panel for maven project  #4084

Description

@ebarboni

Apache NetBeans version

Apache NetBeans latest daily build

What happened

I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

On branding artetfact right click on branding
Should open a branding panel but a NPE happens

java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:208)
at java.base/java.util.TreeMap.merge(TreeMap.java:708)
at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
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)

How to reproduce

To generate a example:
File -> new project
Java with Maven -> NetBeans Applications
Select RELEASE130 for version

wait until project created the select the branding artefact. Right click on it and click on branding.

Did this work correctly in an earlier version?

No

Operating System

Windows 11

JDK

jdk 17

Apache NetBeans packaging

Apache NetBeans provided installer

Anything else

It was a long time I didn't use the branding. I'm not sure how old the issue is.
I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

Are you willing to submit a pull request?

No

Code of Conduct

Yes

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
       blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
      }
      } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
      })();
      (function(){
      try {
      var __m = "github.com";
      var __re = new RegExp('^' + "github\\.com" + '
      
      Skip to content

      NPE in Branding Panel for maven project  #4084

      Description

      @ebarboni

      Apache NetBeans version

      Apache NetBeans latest daily build

      What happened

      I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

      On branding artetfact right click on branding
      Should open a branding panel but a NPE happens

      java.lang.NullPointerException
      at java.base/java.util.Objects.requireNonNull(Objects.java:208)
      at java.base/java.util.TreeMap.merge(TreeMap.java:708)
      at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
      at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
      at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
      at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
      at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
      at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
      at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
      at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
      at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
      at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
      at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
      at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
      at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
      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)
      

      How to reproduce

      To generate a example:
      File -> new project
      Java with Maven -> NetBeans Applications
      Select RELEASE130 for version

      wait until project created the select the branding artefact. Right click on it and click on branding.

      Did this work correctly in an earlier version?

      No

      Operating System

      Windows 11

      JDK

      jdk 17

      Apache NetBeans packaging

      Apache NetBeans provided installer

      Anything else

      It was a long time I didn't use the branding. I'm not sure how old the issue is.
      I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

      Are you willing to submit a pull request?

      No

      Code of Conduct

      Yes

      Activity

      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

      Metadata

      Metadata

      Assignees

      No one assigned

        Labels

        Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

        Type

        No type

        Projects

        No projects

          Milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
          Skip to content

          NPE in Branding Panel for maven project  #4084

          Description

          @ebarboni

          Apache NetBeans version

          Apache NetBeans latest daily build

          What happened

          I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

          On branding artetfact right click on branding
          Should open a branding panel but a NPE happens

          java.lang.NullPointerException
          at java.base/java.util.Objects.requireNonNull(Objects.java:208)
          at java.base/java.util.TreeMap.merge(TreeMap.java:708)
          at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
          at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
          at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
          at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
          at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
          at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
          at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
          at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
          at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
          at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
          at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
          at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
          at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
          at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
          at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
          at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
          at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
          at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
          at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
          at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
          at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
          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)
          

          How to reproduce

          To generate a example:
          File -> new project
          Java with Maven -> NetBeans Applications
          Select RELEASE130 for version

          wait until project created the select the branding artefact. Right click on it and click on branding.

          Did this work correctly in an earlier version?

          No

          Operating System

          Windows 11

          JDK

          jdk 17

          Apache NetBeans packaging

          Apache NetBeans provided installer

          Anything else

          It was a long time I didn't use the branding. I'm not sure how old the issue is.
          I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

          Are you willing to submit a pull request?

          No

          Code of Conduct

          Yes

          Activity

          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

          Metadata

          Metadata

          Assignees

          No one assigned

            Labels

            Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

            Type

            No type

            Projects

            No projects

              Milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
              Skip to content

              NPE in Branding Panel for maven project  #4084

              Description

              @ebarboni

              Apache NetBeans version

              Apache NetBeans latest daily build

              What happened

              I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

              On branding artetfact right click on branding
              Should open a branding panel but a NPE happens

              java.lang.NullPointerException
              at java.base/java.util.Objects.requireNonNull(Objects.java:208)
              at java.base/java.util.TreeMap.merge(TreeMap.java:708)
              at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
              at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
              at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
              at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
              at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
              at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
              at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
              at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
              at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
              at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
              at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
              at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
              at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
              at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
              at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
              at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
              at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
              at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
              at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
              at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
              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)
              

              How to reproduce

              To generate a example:
              File -> new project
              Java with Maven -> NetBeans Applications
              Select RELEASE130 for version

              wait until project created the select the branding artefact. Right click on it and click on branding.

              Did this work correctly in an earlier version?

              No

              Operating System

              Windows 11

              JDK

              jdk 17

              Apache NetBeans packaging

              Apache NetBeans provided installer

              Anything else

              It was a long time I didn't use the branding. I'm not sure how old the issue is.
              I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

              Are you willing to submit a pull request?

              No

              Code of Conduct

              Yes

              Activity

              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

              Metadata

              Metadata

              Assignees

              No one assigned

                Labels

                Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

                Type

                No type

                Projects

                No projects

                  Milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions

                  , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
                  Skip to content

                  NPE in Branding Panel for maven project  #4084

                  Description

                  @ebarboni

                  Apache NetBeans version

                  Apache NetBeans latest daily build

                  What happened

                  I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

                  On branding artetfact right click on branding
                  Should open a branding panel but a NPE happens

                  java.lang.NullPointerException
                  at java.base/java.util.Objects.requireNonNull(Objects.java:208)
                  at java.base/java.util.TreeMap.merge(TreeMap.java:708)
                  at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
                  at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
                  at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
                  at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
                  at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
                  at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
                  at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
                  at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
                  at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                  at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
                  at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
                  at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
                  at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
                  at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
                  at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
                  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
                  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
                  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
                  at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
                  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
                  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
                  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)
                  

                  How to reproduce

                  To generate a example:
                  File -> new project
                  Java with Maven -> NetBeans Applications
                  Select RELEASE130 for version

                  wait until project created the select the branding artefact. Right click on it and click on branding.

                  Did this work correctly in an earlier version?

                  No

                  Operating System

                  Windows 11

                  JDK

                  jdk 17

                  Apache NetBeans packaging

                  Apache NetBeans provided installer

                  Anything else

                  It was a long time I didn't use the branding. I'm not sure how old the issue is.
                  I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

                  Are you willing to submit a pull request?

                  No

                  Code of Conduct

                  Yes

                  Activity

                  Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                  Metadata

                  Metadata

                  Assignees

                  No one assigned

                    Labels

                    Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

                    Type

                    No type

                    Projects

                    No projects

                      Milestone

                      Relationships

                      None yet

                      Development

                      No branches or pull requests

                      Issue actions

                      , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                      Skip to content

                      NPE in Branding Panel for maven project  #4084

                      Description

                      @ebarboni

                      Apache NetBeans version

                      Apache NetBeans latest daily build

                      What happened

                      I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

                      On branding artetfact right click on branding
                      Should open a branding panel but a NPE happens

                      java.lang.NullPointerException
                      at java.base/java.util.Objects.requireNonNull(Objects.java:208)
                      at java.base/java.util.TreeMap.merge(TreeMap.java:708)
                      at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
                      at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
                      at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
                      at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
                      at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
                      at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
                      at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
                      at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
                      at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                      at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
                      at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
                      at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
                      at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
                      at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
                      at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
                      at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
                      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
                      at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
                      at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
                      at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
                      at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
                      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)
                      

                      How to reproduce

                      To generate a example:
                      File -> new project
                      Java with Maven -> NetBeans Applications
                      Select RELEASE130 for version

                      wait until project created the select the branding artefact. Right click on it and click on branding.

                      Did this work correctly in an earlier version?

                      No

                      Operating System

                      Windows 11

                      JDK

                      jdk 17

                      Apache NetBeans packaging

                      Apache NetBeans provided installer

                      Anything else

                      It was a long time I didn't use the branding. I'm not sure how old the issue is.
                      I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

                      Are you willing to submit a pull request?

                      No

                      Code of Conduct

                      Yes

                      Activity

                      Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                      Metadata

                      Metadata

                      Assignees

                      No one assigned

                        Labels

                        Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

                        Type

                        No type

                        Projects

                        No projects

                          Milestone

                          Relationships

                          None yet

                          Development

                          No branches or pull requests

                          Issue actions

                          , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
                          Skip to content

                          NPE in Branding Panel for maven project  #4084

                          Description

                          @ebarboni

                          Apache NetBeans version

                          Apache NetBeans latest daily build

                          What happened

                          I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

                          On branding artetfact right click on branding
                          Should open a branding panel but a NPE happens

                          java.lang.NullPointerException
                          at java.base/java.util.Objects.requireNonNull(Objects.java:208)
                          at java.base/java.util.TreeMap.merge(TreeMap.java:708)
                          at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
                          at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
                          at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
                          at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
                          at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
                          at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
                          at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
                          at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
                          at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                          at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
                          at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
                          at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
                          at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
                          at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
                          at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
                          at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
                          at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
                          at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
                          at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
                          at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
                          at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
                          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)
                          

                          How to reproduce

                          To generate a example:
                          File -> new project
                          Java with Maven -> NetBeans Applications
                          Select RELEASE130 for version

                          wait until project created the select the branding artefact. Right click on it and click on branding.

                          Did this work correctly in an earlier version?

                          No

                          Operating System

                          Windows 11

                          JDK

                          jdk 17

                          Apache NetBeans packaging

                          Apache NetBeans provided installer

                          Anything else

                          It was a long time I didn't use the branding. I'm not sure how old the issue is.
                          I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

                          Are you willing to submit a pull request?

                          No

                          Code of Conduct

                          Yes

                          Activity

                          Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                          Metadata

                          Metadata

                          Assignees

                          No one assigned

                            Labels

                            Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

                            Type

                            No type

                            Projects

                            No projects

                              Milestone

                              Relationships

                              None yet

                              Development

                              No branches or pull requests

                              Issue actions

                              , 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
                              Skip to content

                              NPE in Branding Panel for maven project  #4084

                              Description

                              @ebarboni

                              Apache NetBeans version

                              Apache NetBeans latest daily build

                              What happened

                              I was trying to use branding in Maven NetBeans platform on NetBeans 14 rc3

                              On branding artetfact right click on branding
                              Should open a branding panel but a NPE happens

                              java.lang.NullPointerException
                              at java.base/java.util.Objects.requireNonNull(Objects.java:208)
                              at java.base/java.util.TreeMap.merge(TreeMap.java:708)
                              at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673)
                              at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
                              at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
                              at java.base/java.util.Spliterators$IntArraySpliterator.forEachRemaining(Spliterators.java:1076)
                              at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711)
                              at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
                              at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
                              at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
                              at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
                              at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
                              at org.netbeans.modules.apisupport.project.ui.branding.BasicBrandingPanel.<init>(BasicBrandingPanel.java:62)
                              at org.netbeans.modules.apisupport.project.ui.branding.BrandingEditorPanel.<init>(BrandingEditorPanel.java:51)
                              at org.netbeans.modules.apisupport.project.api.BrandingUtils.openBrandingEditor(BrandingUtils.java:56)
                              at org.netbeans.modules.maven.apisupport.OpenBrandingEditorAction$1$1.run(OpenBrandingEditorAction.java:104)
                              at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
                              at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
                              at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
                              at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
                              at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
                              at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
                              at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
                              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)
                              

                              How to reproduce

                              To generate a example:
                              File -> new project
                              Java with Maven -> NetBeans Applications
                              Select RELEASE130 for version

                              wait until project created the select the branding artefact. Right click on it and click on branding.

                              Did this work correctly in an earlier version?

                              No

                              Operating System

                              Windows 11

                              JDK

                              jdk 17

                              Apache NetBeans packaging

                              Apache NetBeans provided installer

                              Anything else

                              It was a long time I didn't use the branding. I'm not sure how old the issue is.
                              I'm not sure I can propose a PR for this having issue to understand the intention of the stream and map collectors.

                              Are you willing to submit a pull request?

                              No

                              Code of Conduct

                              Yes

                              Activity

                              Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

                              Metadata

                              Metadata

                              Assignees

                              No one assigned

                                Labels

                                Platform[ci] enable platform tests (platform/*)kind:bugBug report or fix

                                Type

                                No type

                                Projects

                                No projects

                                  Milestone

                                  Relationships

                                  None yet

                                  Development

                                  No branches or pull requests

                                  Issue actions