This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new 1a03823 Fix saving of context.xml file from Manager app 1a03823 is described below commit 1a0382392e318854ec84e3981d30cec35bc4f347 Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Apr 21 11:50:51 2020 +0100 Fix saving of context.xml file from Manager app --- .../catalina/manager/LocalStrings.properties | 1 + .../apache/catalina/manager/ManagerServlet.java | 11 +++++--- .../apache/catalina/storeconfig/StoreConfig.java | 31 +++++++++------------- .../catalina/storeconfig/mbeans-descriptors.xml | 2 +- webapps/docs/changelog.xml | 8 ++++++ 5 files changed, 30 insertions(+), 23 deletions(-) diff --git a/java/org/apache/catalina/manager/LocalStrings.properties b/java/org/apache/catalina/manager/LocalStrings.properties index 001e73b..96f28d3 100644 --- a/java/org/apache/catalina/manager/LocalStrings.properties +++ b/java/org/apache/catalina/manager/LocalStrings.properties @@ -165,6 +165,7 @@ managerServlet.resourcesType=OK - Listed global resources of type [{0}] managerServlet.saveFail=FAIL - Configuration save failed: [{0}] managerServlet.saved=OK - Server configuration saved managerServlet.savedContext=OK - Context [{0}] configuration saved +managerServlet.savedContextFail=FAIL - Context [{0}] configuration save failed managerServlet.serverInfo=OK - Server info\n\ Tomcat Version: [{0}]\n\ OS Name: [{1}]\n\ diff --git a/java/org/apache/catalina/manager/ManagerServlet.java b/java/org/apache/catalina/manager/ManagerServlet.java index 5c87831..44f0db5 100644 --- a/java/org/apache/catalina/manager/ManagerServlet.java +++ b/java/org/apache/catalina/manager/ManagerServlet.java @@ -711,11 +711,14 @@ public class ManagerServlet extends HttpServlet implements ContainerServlet { return; } try { - mBeanServer.invoke(storeConfigOname, "store", + Boolean result = (Boolean) mBeanServer.invoke(storeConfigOname, "store", new Object[] {context}, - new String [] { "java.lang.String"}); - writer.println(smClient.getString("managerServlet.savedContext", - path)); + new String [] { "org.apache.catalina.Context"}); + if (result.booleanValue()) { + writer.println(smClient.getString("managerServlet.savedContext", path)); + } else { + writer.println(smClient.getString("managerServlet.savedContextFail", path)); + } } catch (Exception e) { log(sm.getString("managerServlet.error.storeContextConfig", path), e); writer.println(smClient.getString("managerServlet.exception", diff --git a/java/org/apache/catalina/storeconfig/StoreConfig.java b/java/org/apache/catalina/storeconfig/StoreConfig.java index 8708fe9..3d3cba1 100644 --- a/java/org/apache/catalina/storeconfig/StoreConfig.java +++ b/java/org/apache/catalina/storeconfig/StoreConfig.java @@ -241,26 +241,21 @@ public class StoreConfig implements IStoreConfig { */ @Override public synchronized boolean store(Context aContext) { - URL configFile = aContext.getConfigFile(); - if (configFile != null) { - try { - StoreDescription desc = null; - desc = getRegistry().findDescription(aContext.getClass()); - if (desc != null) { - boolean old = desc.isStoreSeparate(); - try { - desc.setStoreSeparate(true); - desc.getStoreFactory().store(null, -2, aContext); - } finally { - desc.setStoreSeparate(old); - } + try { + StoreDescription desc = null; + desc = getRegistry().findDescription(aContext.getClass()); + if (desc != null) { + boolean old = desc.isStoreSeparate(); + try { + desc.setStoreSeparate(true); + desc.getStoreFactory().store(null, -2, aContext); + } finally { + desc.setStoreSeparate(old); } - return true; - } catch (Exception e) { - log.error(sm.getString("config.storeContextError", aContext.getName()), e); } - } else { - log.error(sm.getString("config.missingContextFile", aContext.getPath())); + return true; + } catch (Exception e) { + log.error(sm.getString("config.storeContextError", aContext.getName()), e); } return false; } diff --git a/java/org/apache/catalina/storeconfig/mbeans-descriptors.xml b/java/org/apache/catalina/storeconfig/mbeans-descriptors.xml index bec2fc2..f0f402d 100644 --- a/java/org/apache/catalina/storeconfig/mbeans-descriptors.xml +++ b/java/org/apache/catalina/storeconfig/mbeans-descriptors.xml @@ -70,7 +70,7 @@ impact="ACTION" returnType="void" > <parameter name="context" description="Context" - type="org.apache.catalina.context"/> + type="org.apache.catalina.Context"/> </operation> <operation name="store" description="Store Host" diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 4bbb5c6..9f5f0e5 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -104,6 +104,14 @@ </update> </changelog> </subsection> + <subseciton name="Web applications"> + <changelog> + <fix> + Fix the saving of a Context configuration file via the scripting + interface of the Manager web application. (markt) + </fix> + </changelog> + </subseciton> <subsection name="Other"> <changelog> <update> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org