This is an automated email from the ASF dual-hosted git repository.

neilcsmith pushed a commit to branch revert-7011-jtulach/MultiLineTextsInMx
in repository https://gitbox.apache.org/repos/asf/netbeans.git

commit 574338ac651a915d7e5bb7d9d24ad6e9a04ee48b
Author: Neil C Smith <[email protected]>
AuthorDate: Mon Feb 12 22:57:24 2024 +0000

    Revert "`NbLaunchDelegate` fix and test multi line texts in suite.py"
---
 .../server/debugging/launch/NbLaunchDelegate.java  |  16 +--
 .../debugging/launch/NbLaunchRequestHandler.java   |   2 +
 .../debugging/launch/NbLaunchDelegateTest.java     | 132 ---------------------
 .../modules/java/mx/project/ParseSuitesTest.java   |  12 --
 .../modules/java/mx/project/multilinetexts.py      |  53 ---------
 5 files changed, 4 insertions(+), 211 deletions(-)

diff --git 
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
 
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
index 51aa650d25..156d8734c1 100644
--- 
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
+++ 
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java
@@ -550,7 +550,7 @@ public abstract class NbLaunchDelegate {
         ActionProvider provider = null;
         String command = null;
         Collection<ActionProvider> actionProviders = findActionProviders(prj);
-        Lookup testLookup = createTargetLookup(preferProjActions ? prj : null, 
singleMethod, toRun);
+        Lookup testLookup = preferProjActions && prj != null ? 
Lookups.singleton(prj) : (singleMethod != null) ? Lookups.fixed(toRun, 
singleMethod) : Lookups.singleton(toRun);
         String[] actions;
         if (!mainSource && singleMethod != null) {
             actions = debug ? new String[] 
{SingleMethod.COMMAND_DEBUG_SINGLE_METHOD}
@@ -564,7 +564,7 @@ public abstract class NbLaunchDelegate {
                 if (debug && !mainSource) {
                     // We are calling COMMAND_DEBUG_TEST_SINGLE instead of a 
missing COMMAND_DEBUG_TEST
                     // This is why we need to add the file to the lookup
-                    testLookup = createTargetLookup(null, singleMethod, toRun);
+                    testLookup = (singleMethod != null) ? Lookups.fixed(toRun, 
singleMethod) : Lookups.singleton(toRun);
                 }
             } else {
                 actions = debug ? mainSource ? new String[] 
{ActionProvider.COMMAND_DEBUG_SINGLE}
@@ -625,18 +625,6 @@ public abstract class NbLaunchDelegate {
         return Pair.of(provider, command);
     }
 
-    static Lookup createTargetLookup(Project prj, SingleMethod singleMethod, 
FileObject toRun) {
-        if (prj != null) {
-            return prj.getLookup();
-        }
-        if (singleMethod != null) {
-            Lookup methodLookup = Lookups.singleton(singleMethod);
-            return new ProxyLookup(toRun.getLookup(), methodLookup);
-        } else {
-            return toRun.getLookup();
-        }
-    }
-
     private static Collection<ActionProvider> findActionProviders(Project prj) 
{
         Collection<ActionProvider> actionProviders = new ArrayList<>();
         if (prj != null) {
diff --git 
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
 
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
index 056c613149..b79320a62e 100644
--- 
a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
+++ 
b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java
@@ -30,6 +30,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Consumer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -60,6 +61,7 @@ import org.openide.filesystems.FileObject;
 import org.openide.filesystems.FileUtil;
 import org.openide.util.Lookup;
 import org.openide.util.Utilities;
+import org.openide.util.lookup.Lookups;
 
 /**
  *
diff --git 
a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java
 
b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java
deleted file mode 100644
index b891dbd044..0000000000
--- 
a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.netbeans.modules.java.lsp.server.debugging.launch;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Map;
-import java.util.concurrent.CompletableFuture;
-import java.util.function.Consumer;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import static org.junit.Assert.*;
-import org.netbeans.api.project.Project;
-import org.netbeans.api.project.ProjectManager;
-import org.netbeans.modules.java.lsp.server.debugging.DebugAdapterContext;
-import org.netbeans.spi.project.ActionProvider;
-import org.netbeans.spi.project.ProjectFactory;
-import org.netbeans.spi.project.ProjectState;
-import org.netbeans.spi.project.SingleMethod;
-import org.openide.filesystems.FileObject;
-import org.openide.filesystems.FileUtil;
-import org.openide.loaders.DataObject;
-import org.openide.util.Lookup;
-import org.openide.util.Pair;
-import org.openide.util.lookup.Lookups;
-import org.openide.util.lookup.ServiceProvider;
-
-public class NbLaunchDelegateTest {
-
-    public NbLaunchDelegateTest() {
-    }
-
-    @Test
-    public void testFileObjectsLookup() throws Exception {
-        FileObject fo = 
FileUtil.createMemoryFileSystem().getRoot().createData("test.txt");
-        Lookup lkp = NbLaunchDelegate.createTargetLookup(null, null, fo);
-        assertEquals(fo, lkp.lookup(FileObject.class));
-
-        DataObject obj = lkp.lookup(DataObject.class);
-        assertNotNull("DataObject also found", obj);
-
-        assertEquals("It's FileObject's data object", obj, 
DataObject.find(fo));
-        assertNull("No single method", lkp.lookup(SingleMethod.class));
-    }
-
-    @Test
-    public void testFileObjectsLookupWithSingleMethod() throws Exception {
-        FileObject fo = 
FileUtil.createMemoryFileSystem().getRoot().createData("test-with-method.txt");
-        SingleMethod m = new SingleMethod(fo, "main");
-        Lookup lkp = NbLaunchDelegate.createTargetLookup(null, m, fo);
-        assertEquals(fo, lkp.lookup(FileObject.class));
-
-        DataObject obj = lkp.lookup(DataObject.class);
-        assertNotNull("DataObject also found", obj);
-
-        assertEquals("It's FileObject's data object", obj, 
DataObject.find(fo));
-
-        assertEquals("Found single method", m, lkp.lookup(SingleMethod.class));
-    }
-
-    @Test
-    public void testFindsMavenProject() throws Exception {
-        FileObject dir = 
FileUtil.createMemoryFileSystem().getRoot().createFolder("testprj");
-        FileObject xml = dir.createData("build.xml");
-        Project prj = ProjectManager.getDefault().findProject(dir);
-        assertNotNull("Project dir recognized", prj);
-
-        SingleMethod m = new SingleMethod(xml, "main");
-        Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, m, xml);
-        assertNull("No file object", lkp.lookup(FileObject.class));
-        DataObject obj = lkp.lookup(DataObject.class);
-        assertNull("No DataObject ", obj);
-        assertNull("No single method", lkp.lookup(SingleMethod.class));
-        assertEquals(prj, lkp.lookup(Project.class));
-    }
-
-    @ServiceProvider(service = ProjectFactory.class)
-    public static final class MockProjectFactory implements ProjectFactory {
-
-        @Override
-        public boolean isProject(FileObject projectDirectory) {
-            return projectDirectory.getNameExt().equals("testprj");
-        }
-
-        @Override
-        public Project loadProject(FileObject projectDirectory, ProjectState 
state) throws IOException {
-            return new MockProject(projectDirectory);
-        }
-
-        @Override
-        public void saveProject(Project project) throws IOException, 
ClassCastException {
-        }
-
-        private static final class MockProject implements Project {
-            private final FileObject dir;
-
-            MockProject(FileObject dir) {
-                this.dir = dir;
-            }
-
-            @Override
-            public FileObject getProjectDirectory() {
-                return dir;
-            }
-
-            @Override
-            public Lookup getLookup() {
-                return Lookups.fixed(this);
-            }
-
-        }
-    }
-}
diff --git 
a/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/ParseSuitesTest.java
 
b/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/ParseSuitesTest.java
index bb4391a79c..9c53905162 100644
--- 
a/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/ParseSuitesTest.java
+++ 
b/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/ParseSuitesTest.java
@@ -20,17 +20,14 @@ package org.netbeans.modules.java.mx.project;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.PrintWriter;
 import java.io.StringWriter;
-import java.net.URL;
 import java.nio.file.FileVisitResult;
 import java.nio.file.FileVisitor;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.attribute.BasicFileAttributes;
 import org.netbeans.junit.NbTestCase;
-import org.netbeans.modules.java.mx.project.suitepy.MxDistribution;
 import org.netbeans.modules.java.mx.project.suitepy.MxSuite;
 
 public final class ParseSuitesTest extends NbTestCase {
@@ -42,15 +39,6 @@ public final class ParseSuitesTest extends NbTestCase {
     public void testParseThemAll() throws IOException {
         assertSuitePys(getDataDir(), 15);
     }
-    
-    public void testParseMultiLineSuite() throws IOException {
-        URL url = getClass().getResource("multilinetexts.py");
-        MxSuite suite = MxSuite.parse(url);
-        assertNotNull("suite parsed", suite);
-        MxDistribution tool = suite.distributions().get("TOOLCHAIN");
-        assertNotNull("toolchain found", tool);
-        assertEquals("No deps", 0, tool.dependencies().size());
-    }
 
     public static void main(String... args) throws IOException {
         if (args.length == 0) {
diff --git 
a/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/multilinetexts.py
 
b/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/multilinetexts.py
deleted file mode 100644
index b6f8f12076..0000000000
--- 
a/java/java.mx.project/test/unit/src/org/netbeans/modules/java/mx/project/multilinetexts.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-
-suite = {
-  "mxversion": "7.5.0",
-  "name" : "multilinetexts",
-  "version" : "1.0.0",
-  "repositories" : {
-  },
-  "libraries" : {
-  },
-  "licenses" : {
-},
-  "distributions" : {
-    "TOOLCHAIN": {
-      "native": True,
-      "platformDependent": True,
-      "os": {
-        "linux": {
-          "layout": {
-            "toolchain.multi": {
-              "source_type": "string",
-              "value": '''
-line1
-line2
-line3
-line5
-'''
-            },
-          },
-          "dependencies": [
-          ],
-        },
-      },
-      "maven" : False,
-    },
-  },
-}


---------------------------------------------------------------------
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

Reply via email to