Author: remm
Date: Tue Jun 30 16:06:24 2015
New Revision: 1688478

URL: http://svn.apache.org/r1688478
Log:
Add new Connector children to storeconfig (with utility methods to allow 
accessing the configuration). Some work remains on attributes.

Added:
    tomcat/trunk/java/org/apache/catalina/storeconfig/SSLHostConfigSF.java   
(with props)
Modified:
    tomcat/trunk/java/org/apache/catalina/connector/Connector.java
    tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java
    tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml
    tomcat/trunk/java/org/apache/coyote/ProtocolHandler.java
    tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Tue Jun 30 
16:06:24 2015
@@ -858,10 +858,17 @@ public class Connector extends Lifecycle
         protocolHandler.addSslHostConfig(sslHostConfig);
     }
 
+    public SSLHostConfig[] findSslHostConfigs() {
+        return protocolHandler.findSslHostConfigs();
+    }
+
 
     public void addUpgradeProtocol(UpgradeProtocol upgradeProtocol) {
         protocolHandler.addUpgradeProtocol(upgradeProtocol);
     }
+    public UpgradeProtocol[] findUpgradeProtocols() {
+        return protocolHandler.findUpgradeProtocols();
+    }
 
     // --------------------------------------------------------- Public Methods
 

Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java Tue Jun 
30 16:06:24 2015
@@ -21,6 +21,8 @@ import java.io.PrintWriter;
 
 import org.apache.catalina.LifecycleListener;
 import org.apache.catalina.connector.Connector;
+import org.apache.coyote.UpgradeProtocol;
+import org.apache.tomcat.util.net.SSLHostConfig;
 
 /**
  * Store Connector and Listeners
@@ -44,6 +46,12 @@ public class ConnectorSF extends StoreFa
             // Store nested <Listener> elements
             LifecycleListener listeners[] = connector.findLifecycleListeners();
             storeElementArray(aWriter, indent, listeners);
+            // Store nested <UpgradeProtocol> elements
+            UpgradeProtocol[] upgradeProtocols = 
connector.findUpgradeProtocols();
+            storeElementArray(aWriter, indent, upgradeProtocols);
+            // Store nested <SSLHostConfig> elements
+            SSLHostConfig[] hostConfigs = connector.findSslHostConfigs();
+            storeElementArray(aWriter, indent, hostConfigs);
         }
     }
 
@@ -60,15 +68,6 @@ public class ConnectorSF extends StoreFa
         if (aDesc.isAttributes()) {
             getStoreAppender().printAttributes(aWriter, indent, false, bean,
                     aDesc);
-            /*
-             * if (bean instanceof Connector) { StoreDescription elementDesc =
-             * getRegistry().findDescription( bean.getClass().getName() +
-             * ".[ProtocolHandler]"); if (elementDesc != null) { 
ProtocolHandler
-             * protocolHandler = ((Connector) bean) .getProtocolHandler(); if
-             * (protocolHandler != null)
-             * getStoreAppender().printAttributes(aWriter, indent, false,
-             * protocolHandler, elementDesc); } }
-             */
         }
     }
 

Added: tomcat/trunk/java/org/apache/catalina/storeconfig/SSLHostConfigSF.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/SSLHostConfigSF.java?rev=1688478&view=auto
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/SSLHostConfigSF.java 
(added)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/SSLHostConfigSF.java Tue 
Jun 30 16:06:24 2015
@@ -0,0 +1,49 @@
+/**
+ * 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.apache.catalina.storeconfig;
+
+import java.io.PrintWriter;
+
+import org.apache.tomcat.util.net.SSLHostConfig;
+import org.apache.tomcat.util.net.SSLHostConfigCertificate;
+
+/**
+ * Store SSLHostConfig
+ */
+public class SSLHostConfigSF extends StoreFactoryBase {
+
+    /**
+     * Store SSLHostConfig description
+     *
+     * @param aWriter
+     * @param indent
+     * @param aSSLHostConfig
+     * @throws Exception
+     */
+    @Override
+    public void storeChildren(PrintWriter aWriter, int indent, Object 
aSSLHostConfig,
+            StoreDescription parentDesc) throws Exception {
+        if (aSSLHostConfig instanceof SSLHostConfig) {
+            SSLHostConfig sslHostConfig = (SSLHostConfig) aSSLHostConfig;
+            // Store nested <SSLHostConfigCertificate> elements
+            SSLHostConfigCertificate[] hostConfigsCertificates = 
sslHostConfig.getCertificates().toArray(new SSLHostConfigCertificate[0]);
+            storeElementArray(aWriter, indent, hostConfigsCertificates);
+        }
+    }
+
+}
\ No newline at end of file

Propchange: 
tomcat/trunk/java/org/apache/catalina/storeconfig/SSLHostConfigSF.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml 
(original)
+++ tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml Tue 
Jun 30 16:06:24 2015
@@ -91,7 +91,7 @@
         tagClass="org.apache.catalina.deploy.NamingResourcesImpl"
         
storeFactoryClass="org.apache.catalina.storeconfig.GlobalNamingResourcesSF">
      </Description>
-      <Description
+     <Description
         tag="Connector"
         standard="true"
         default="true"
@@ -101,7 +101,32 @@
         
storeAppenderClass="org.apache.catalina.storeconfig.ConnectorStoreAppender">
         <TransientAttribute>URIEncoding</TransientAttribute>
         <TransientAttribute>maxProcessor</TransientAttribute>
-         <TransientAttribute>minProcessor</TransientAttribute>
+        <TransientAttribute>minProcessor</TransientAttribute>
+     </Description>
+     <Description
+        tag="UpgradeProtocol"
+        standard="false"
+        default="true"
+        tagClass="org.apache.coyote.UpgradeProtocol"
+        children="false"
+        storeFactoryClass="org.apache.catalina.storeconfig.StoreFactoryBase">
+     </Description>
+     <Description
+        tag="SSLHostConfig"
+        standard="true"
+        default="true"
+        tagClass="org.apache.tomcat.util.net.SSLHostConfig"
+        children="true"
+        storeFactoryClass="org.apache.catalina.storeconfig.SSLHostConfigSF">
+        <TransientAttribute>openSslContext</TransientAttribute>
+     </Description>
+     <Description
+        tag="Certificate"
+        standard="true"
+        default="true"
+        tagClass="org.apache.tomcat.util.net.SSLHostConfigCertificate"
+        children="false"
+        storeFactoryClass="org.apache.catalina.storeconfig.StoreFactoryBase">
      </Description>
      <Description
         tag="NamingResources"

Modified: tomcat/trunk/java/org/apache/coyote/ProtocolHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ProtocolHandler.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ProtocolHandler.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ProtocolHandler.java Tue Jun 30 
16:06:24 2015
@@ -99,7 +99,9 @@ public interface ProtocolHandler {
 
 
     public void addSslHostConfig(SSLHostConfig sslHostConfig);
+    public SSLHostConfig[] findSslHostConfigs();
 
 
     public void addUpgradeProtocol(UpgradeProtocol upgradeProtocol);
+    public UpgradeProtocol[] findUpgradeProtocols();
 }

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Tue Jun 30 
16:06:24 2015
@@ -136,11 +136,23 @@ public abstract class AbstractAjpProtoco
 
 
     @Override
+    public SSLHostConfig[] findSslHostConfigs() {
+        return new SSLHostConfig[0];
+    }
+
+
+    @Override
     public void addUpgradeProtocol(UpgradeProtocol upgradeProtocol) {
         getLog().warn(sm.getString("ajpprotocol.noUpgrade", 
upgradeProtocol.getClass().getName()));
     }
 
 
+    @Override
+    public UpgradeProtocol[] findUpgradeProtocols() {
+        return new UpgradeProtocol[0];
+    }
+
+
     protected void configureProcessor(AjpProcessor processor) {
         processor.setAdapter(getAdapter());
         processor.setTomcatAuthentication(getTomcatAuthentication());

Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Protocol.java Tue 
Jun 30 16:06:24 2015
@@ -297,6 +297,10 @@ public abstract class AbstractHttp11Prot
     public void addUpgradeProtocol(UpgradeProtocol upgradeProtocol) {
         upgradeProtocols.add(upgradeProtocol);
     }
+    @Override
+    public UpgradeProtocol[] findUpgradeProtocols() {
+        return upgradeProtocols.toArray(new UpgradeProtocol[0]);
+    }
 
     /**
      * The protocols that are available via internal Tomcat support for access
@@ -391,6 +395,10 @@ public abstract class AbstractHttp11Prot
         getEndpoint().addSslHostConfig(sslHostConfig);
     }
 
+    @Override
+    public SSLHostConfig[] findSslHostConfigs() {
+        return getEndpoint().findSslHostConfigs();
+    }
 
     // ----------------------------------------------- HTTPS specific 
properties
     // -------------------------------------------- Handled via an 
SSLHostConfig

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Tue Jun 
30 16:06:24 2015
@@ -251,6 +251,9 @@ public abstract class AbstractEndpoint<S
         }
         sslHostConfig.setConfigType(getSslConfigType());
     }
+    public SSLHostConfig[] findSslHostConfigs() {
+        return sslHostConfigs.values().toArray(new SSLHostConfig[0]);
+    }
     protected abstract SSLHostConfig.Type getSslConfigType();
 
     protected SSLHostConfig getSSLHostConfig(String sniHostName) {

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java?rev=1688478&r1=1688477&r2=1688478&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SSLHostConfigCertificate.java 
Tue Jun 30 16:06:24 2015
@@ -54,6 +54,10 @@ public class SSLHostConfigCertificate {
     private String certificateKeyFile;
 
 
+    public SSLHostConfigCertificate() {
+        this(null, Type.UNDEFINED);
+    }
+
     public SSLHostConfigCertificate(SSLHostConfig sslHostConfig, Type type) {
         this.sslHostConfig = sslHostConfig;
         this.type = type;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to