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]