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
