You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2020/10/13 18:26:50 UTC

[netbeans] branch master updated: [NETBEANS-4559] Web Project Properties Dialog fails to save Relative URL

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

lkishalmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new ac8a8e7  [NETBEANS-4559] Web Project Properties Dialog fails to save Relative URL
ac8a8e7 is described below

commit ac8a8e7e4607e7a12589452bdd610adaf0b6935a
Author: Gaurav Gupta <ga...@payara.fish>
AuthorDate: Tue Oct 6 15:38:55 2020 +0530

    [NETBEANS-4559] Web Project Properties Dialog fails to save Relative URL
---
 enterprise/maven.j2ee/nbproject/project.xml        |  2 +
 .../payara/micro/project/MicroActionsProvider.java | 60 +++++++--------------
 ...tionChecker.java => MicroExecutionChecker.java} | 22 +++++---
 .../payara/micro/project/MicroProjectHook.java     |  8 ++-
 .../fish/payara/micro/project/ReloadAction.java    |  2 -
 .../micro/project/resources/action-mapping.xml     | 63 +++++++++++++++++++++-
 6 files changed, 106 insertions(+), 51 deletions(-)

diff --git a/enterprise/maven.j2ee/nbproject/project.xml b/enterprise/maven.j2ee/nbproject/project.xml
index 6d79637..9fde5ea 100644
--- a/enterprise/maven.j2ee/nbproject/project.xml
+++ b/enterprise/maven.j2ee/nbproject/project.xml
@@ -540,6 +540,8 @@
             </test-dependencies>
             <friend-packages>
                 <friend>org.netbeans.modules.payara.micro</friend>
+                <package>org.netbeans.modules.maven.j2ee</package>
+                <package>org.netbeans.modules.maven.j2ee.execution</package>
                 <package>org.netbeans.modules.maven.j2ee.utils</package>
                 <package>org.netbeans.modules.maven.j2ee.ui</package>
             </friend-packages>
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java
index c0ea156..d2db06e 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroActionsProvider.java
@@ -48,6 +48,7 @@ import static org.netbeans.modules.fish.payara.micro.plugin.Constants.WAR_GOAL;
 import org.netbeans.modules.maven.api.NbMavenProject;
 import org.netbeans.modules.maven.api.execute.RunConfig;
 import org.netbeans.modules.maven.execute.model.NetbeansActionMapping;
+import org.netbeans.modules.maven.j2ee.J2eeActionsProvider;
 import org.netbeans.modules.maven.spi.actions.AbstractMavenActionsProvider;
 import org.netbeans.modules.maven.spi.actions.MavenActionsProvider;
 import static org.netbeans.spi.project.ActionProvider.COMMAND_DEBUG;
@@ -102,23 +103,40 @@ public class MicroActionsProvider implements MavenActionsProvider {
 
     @Override
     public RunConfig createConfigForDefaultAction(String actionName, Project project, Lookup lookup) {
+        MicroApplication microApplication = MicroApplication.getInstance(project);
+        if (microApplication == null) {
+            return project.getLookup()
+                    .lookup(J2eeActionsProvider.class)
+                    .createConfigForDefaultAction(actionName, project, lookup);
+        }
         Preferences pref = getPreferences(project, MicroApplication.class, true);
         String microVersionText = pref.get(VERSION, "");
         RunConfig config = actionsProvider.createConfigForDefaultAction(actionName, project, lookup);
         if(!microVersionText.isEmpty()){
             config.setProperty("version.payara", microVersionText);
         }
-        config.getGoals().addAll(getGoals(actionName));
         return config;
     }
 
     @Override
     public NetbeansActionMapping getMappingForAction(String actionName, Project project) {
+        MicroApplication microApplication = MicroApplication.getInstance(project);
+        if (microApplication == null) {
+            return project.getLookup()
+                .lookup(J2eeActionsProvider.class)
+                .getMappingForAction(actionName, project);
+        }
         return actionsProvider.getMappingForAction(actionName, project);
     }
 
     @Override
     public boolean isActionEnable(String action, Project project, Lookup lookup) {
+        MicroApplication microApplication = MicroApplication.getInstance(project);
+        if (microApplication == null) {
+            return project.getLookup()
+                    .lookup(J2eeActionsProvider.class)
+                    .isActionEnable(action, project, lookup);
+        }
         return actionsProvider.isActionEnable(action, project, lookup);
     }
 
@@ -127,42 +145,4 @@ public class MicroActionsProvider implements MavenActionsProvider {
         return actionsProvider.getSupportedDefaultActions();
     }
 
-    public static List<String> getGoals(String actionName) {
-        List<String> goals = new ArrayList<>();
-        if (null != actionName) {
-            switch (actionName) {
-                case RUN_ACTION:
-                case RUN_SINGLE_ACTION:
-                    goals.add(RESOURCES_GOAL);
-                    goals.add(COMPILE_GOAL);
-                    goals.add(EXPLODED_GOAL);
-                    goals.add(STOP_GOAL);
-                    goals.add(START_GOAL);
-                    break;
-                case DEBUG_ACTION:
-                case DEBUG_SINGLE_ACTION:
-                case PROFILE_ACTION:
-                case PROFILE_SINGLE_ACTION:
-                    goals.add(WAR_GOAL);
-                    goals.add(STOP_GOAL);
-                    goals.add(START_GOAL);
-                    break;
-                case COMPILE_EXPLODE_ACTION:
-                    goals.add(RESOURCES_GOAL);
-                    goals.add(COMPILE_GOAL);
-                    goals.add(EXPLODED_GOAL);
-                    break;
-                case EXPLODE_ACTION:
-                    goals.add(EXPLODED_GOAL);
-                    break;
-                case STOP_ACTION:
-                    goals.add(STOP_GOAL);
-                    break;
-                default:
-                    break;
-            }
-        }
-        return goals;
-    }
-
-}
+}
\ No newline at end of file
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ExecutionChecker.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroExecutionChecker.java
similarity index 92%
rename from enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ExecutionChecker.java
rename to enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroExecutionChecker.java
index 64be20e..b786c09 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ExecutionChecker.java
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroExecutionChecker.java
@@ -34,6 +34,7 @@ import org.netbeans.modules.maven.api.execute.ExecutionContext;
 import org.netbeans.modules.maven.api.execute.ExecutionResultChecker;
 import org.netbeans.modules.maven.api.execute.PrerequisitesChecker;
 import org.netbeans.modules.maven.api.execute.RunConfig;
+import org.netbeans.modules.maven.j2ee.execution.ExecutionChecker;
 import static org.netbeans.spi.project.ActionProvider.COMMAND_BUILD;
 import static org.netbeans.spi.project.ActionProvider.COMMAND_CLEAN;
 import static org.netbeans.spi.project.ActionProvider.COMMAND_DEBUG;
@@ -53,29 +54,32 @@ import org.netbeans.spi.project.ProjectServiceProvider;
         }, 
         projectType = MAVEN_WAR_PROJECT_TYPE
 )
-public class ExecutionChecker implements ExecutionResultChecker, PrerequisitesChecker {
+public class MicroExecutionChecker extends ExecutionChecker {
     
     private static final String COMMAND_BUILD_WITH_DEPENDENCIES = "build-with-dependencies";
     
-    private static final Set<String> BUILD_ACTIONS = new HashSet<>(asList(new String[]{
+    private static final Set<String> BUILD_ACTIONS = new HashSet<>(asList(
         COMMAND_CLEAN, 
         COMMAND_BUILD, 
         COMMAND_REBUILD,
         COMMAND_BUILD_WITH_DEPENDENCIES,
         COMPILE_EXPLODE_ACTION, 
         EXPLODE_ACTION
-    }));
+    ));
     
-    private static final Set<String> RUN_ACTIONS = new HashSet<>(asList(new String[]{
+    private static final Set<String> RUN_ACTIONS = new HashSet<>(asList(
         COMMAND_RUN, 
         COMMAND_DEBUG, 
         COMMAND_PROFILE, 
         RUN_SINGLE_ACTION, 
         DEBUG_SINGLE_ACTION,
         PROFILE_SINGLE_ACTION
-    }));
-    
+    ));
     
+    public MicroExecutionChecker(Project project) {
+        super(project);
+    }
+
     @Override
     public boolean checkRunConfig(RunConfig config) {
         Project project = config.getProject();
@@ -86,8 +90,10 @@ public class ExecutionChecker implements ExecutionResultChecker, PrerequisitesCh
             }else if (RUN_ACTIONS.contains(config.getActionName())) {
                 microApplication.setRunning(true, config.getActionName());
             }
+            return true;
+        } else {
+           return super.checkRunConfig(config);
         }
-        return true;
     }
 
     @Override
@@ -104,6 +110,8 @@ public class ExecutionChecker implements ExecutionResultChecker, PrerequisitesCh
             } else if (RUN_ACTIONS.contains(config.getActionName())) {
                 microApplication.setRunning(false);
             }
+        } else {
+            super.executionResult(config, res, resultCode);
         }
     }
     
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroProjectHook.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroProjectHook.java
index 8e22f3c..0deb466 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroProjectHook.java
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroProjectHook.java
@@ -21,6 +21,7 @@ package org.netbeans.modules.fish.payara.micro.project;
 import static org.netbeans.modules.fish.payara.micro.plugin.Constants.MAVEN_WAR_PROJECT_TYPE;
 import org.netbeans.api.project.Project;
 import org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider;
+import org.netbeans.modules.maven.j2ee.ProjectHookImpl;
 import org.netbeans.modules.maven.spi.nodes.SpecialIcon;
 import org.netbeans.spi.project.ProjectServiceProvider;
 import org.netbeans.spi.project.ui.ProjectOpenedHook;
@@ -33,11 +34,12 @@ import org.netbeans.spi.project.ui.ProjectOpenedHook;
         service = ProjectOpenedHook.class,
         projectType = MAVEN_WAR_PROJECT_TYPE
 )
-public class MicroProjectHook extends ProjectOpenedHook {
+public class MicroProjectHook extends ProjectHookImpl {
 
     private final Project project;
 
     public MicroProjectHook(Project project) {
+        super(project);
         this.project = project;
     }
 
@@ -46,6 +48,8 @@ public class MicroProjectHook extends ProjectOpenedHook {
         if (MicroApplication.getInstance(project) != null) {
             addDeployOnSaveManager(project);
             updateMicroIcon();
+        } else {
+            super.projectOpened();
         }
     }
 
@@ -53,6 +57,8 @@ public class MicroProjectHook extends ProjectOpenedHook {
     public void projectClosed() {
         if (MicroApplication.getInstance(project) != null) {
             removeDeployOnSaveManager(project);
+        } else {
+            super.projectOpened();
         }
     }
 
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java
index dfa540b..82bae64 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java
@@ -101,7 +101,6 @@ public class ReloadAction extends AbstractAction {
                 NetbeansActionMapping mapping = ActionToGoalUtils.getDefaultMapping(action, project);
                 ModelRunConfig rc = new ModelRunConfig(project, mapping, mapping.getActionName(), null, Lookup.EMPTY, false);
                 rc.setTaskDisplayName(getMessage(ReloadAction.class, "TXT_Reload", mavenProject.getArtifactId()));
-                rc.getGoals().addAll(MicroActionsProvider.getGoals(action));
                 RunUtils.run(rc);
             });
         }
@@ -120,5 +119,4 @@ public class ReloadAction extends AbstractAction {
         }
     }
 
-
 }
diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml
index b84d926..44245d6 100644
--- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml
+++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml
@@ -25,13 +25,31 @@
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+            <goal>payara-micro:stop</goal>
+            <goal>payara-micro:start</goal>
+        </goals>
+        <properties>
+            <netbeans.deploy>false</netbeans.deploy>
+        </properties>
     </action>
     <action>
         <actionName>run.single.deploy</actionName>
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+            <goal>payara-micro:stop</goal>
+            <goal>payara-micro:start</goal>
+        </goals>
         <properties>
+            <netbeans.deploy>false</netbeans.deploy>
             <netbeans.deploy.clientUrlPart>${webpagePath}</netbeans.deploy.clientUrlPart>
         </properties>
     </action>
@@ -40,10 +58,18 @@
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+            <goal>payara-micro:stop</goal>
+            <goal>payara-micro:start</goal>
+        </goals>
         <properties>
             <exec.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address}</exec.args>
             <jpda.listen>true</jpda.listen>
             <netbeans.deploy.debugmode>true</netbeans.deploy.debugmode>
+            <netbeans.deploy>false</netbeans.deploy>
         </properties>
     </action>
     <action>
@@ -51,11 +77,19 @@
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+            <goal>payara-micro:stop</goal>
+            <goal>payara-micro:start</goal>
+        </goals>
         <properties>
             <exec.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address}</exec.args>
             <jpda.listen>true</jpda.listen>
-            <netbeans.deploy.debugmode>true</netbeans.deploy.debugmode>
             <netbeans.deploy.clientUrlPart>${webpagePath}</netbeans.deploy.clientUrlPart>
+            <netbeans.deploy.debugmode>true</netbeans.deploy.debugmode>
+            <netbeans.deploy>false</netbeans.deploy>
         </properties>
     </action>
     <action>
@@ -63,9 +97,17 @@
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+            <goal>payara-micro:stop</goal>
+            <goal>payara-micro:start</goal>
+        </goals>
         <properties>
             <exec.args></exec.args>
             <exec.executable>java</exec.executable>
+            <netbeans.deploy>false</netbeans.deploy>
             <netbeans.deploy.profilemode>true</netbeans.deploy.profilemode>
         </properties>
     </action>
@@ -74,9 +116,17 @@
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+            <goal>payara-micro:stop</goal>
+            <goal>payara-micro:start</goal>
+        </goals>
         <properties>
             <exec.args></exec.args>
             <exec.executable>java</exec.executable>
+            <netbeans.deploy>false</netbeans.deploy>
             <netbeans.deploy.profilemode>true</netbeans.deploy.profilemode>
             <netbeans.deploy.clientUrlPart>${webpagePath}</netbeans.deploy.clientUrlPart>
         </properties>
@@ -87,14 +137,25 @@
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>resources:resources</goal>
+            <goal>compiler:compile</goal>
+            <goal>war:exploded</goal>
+        </goals>
     </action>
     <action>
         <actionName>micro-explode</actionName>
         <packagings>
             <packaging>war</packaging>
         </packagings>
+        <goals>
+            <goal>war:exploded</goal>
+        </goals>
     </action>
     <action>
         <actionName>micro-stop</actionName>
+        <goals>
+            <goal>payara-micro:stop</goal>
+        </goals>
     </action>
 </actions>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

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