Set thread cap to a reasonable default.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / IdPConfig.java
index f1a8611..42dcfdf 100644 (file)
@@ -1,26 +1,17 @@
 /*
- * The Shibboleth License, Version 1. Copyright (c) 2002 University Corporation for Advanced Internet Development, Inc.
- * All rights reserved Redistribution and use in source and binary forms, with or without modification, are permitted
- * provided that the following conditions are met: Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials
- * provided with the distribution, if any, must include the following acknowledgment: "This product includes software
- * developed by the University Corporation for Advanced Internet Development <http://www.ucaid.edu> Internet2 Project.
- * Alternately, this acknowledegement may appear in the software itself, if and wherever such third-party
- * acknowledgments normally appear. Neither the name of Shibboleth nor the names of its contributors, nor Internet2, nor
- * the University Corporation for Advanced Internet Development, Inc., nor UCAID may be used to endorse or promote
- * products derived from this software without specific prior written permission. For written permission, please contact
- * shibboleth@shibboleth.org Products derived from this software may not be called Shibboleth, Internet2, UCAID, or the
- * University Corporation for Advanced Internet Development, nor may Shibboleth appear in their name, without prior
- * written permission of the University Corporation for Advanced Internet Development. THIS SOFTWARE IS PROVIDED BY THE
- * COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND WITH ALL FAULTS. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
- * DISCLAIMED AND THE ENTIRE RISK OF SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AND EFFORT IS WITH LICENSEE. IN NO
- * EVENT SHALL THE COPYRIGHT OWNER, CONTRIBUTORS OR THE UNIVERSITY CORPORATION FOR ADVANCED INTERNET DEVELOPMENT, INC.
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp;
@@ -42,10 +33,10 @@ public class IdPConfig {
 
        private String defaultRelyingPartyName;
        private String providerId;
-       public static final String originConfigNamespace = "urn:mace:shibboleth:origin:1.0";
+       public static final String configNameSpace = "urn:mace:shibboleth:idp:config:1.0";
        private String resolverConfig = "/conf/resolver.xml";
        private boolean passThruErrors = false;
-       private int maxThreads = 5;
+       private int maxThreads = 30;
        private String authHeaderName = "REMOTE_USER";
        private URI defaultAuthMethod;
        private URL AAUrl;
@@ -55,21 +46,21 @@ public class IdPConfig {
        public IdPConfig(Element config) throws ShibbolethConfigurationException {
 
                if (!config.getTagName().equals("IdPConfig")) { throw new ShibbolethConfigurationException(
-                               "Unexpected configuration data.  <IdPConfig> is needed."); }
+                               "Unexpected configuration data.  <IdPConfig/> is needed."); }
 
                log.debug("Loading global configuration properties.");
 
                // Global providerId
                providerId = ((Element) config).getAttribute("providerId");
                if (providerId == null || providerId.equals("")) {
-                       log.error("Global providerId not set.  Add a (providerId) attribute to <IdPConfig>.");
+                       log.error("Global providerId not set.  Add a (providerId) attribute to <IdPConfig/>.");
                        throw new ShibbolethConfigurationException("Required configuration not specified.");
                }
 
                // Default Relying Party
                defaultRelyingPartyName = ((Element) config).getAttribute("defaultRelyingParty");
                if (defaultRelyingPartyName == null || defaultRelyingPartyName.equals("")) {
-                       log.error("Default Relying Party not set.  Add a (defaultRelyingParty) attribute to <IdPConfig>.");
+                       log.error("Default Relying Party not set.  Add a (defaultRelyingParty) attribute to <IdPConfig/>.");
                        throw new ShibbolethConfigurationException("Required configuration not specified.");
                }
 
@@ -87,7 +78,7 @@ public class IdPConfig {
 
                attribute = ((Element) config).getAttribute("AAUrl");
                if (attribute == null || attribute.equals("")) {
-                       log.error("Global Attribute Authority URL not set.  Add an (AAUrl) attribute to <IdPConfig>.");
+                       log.error("Global Attribute Authority URL not set.  Add an (AAUrl) attribute to <IdPConfig/>.");
                        throw new ShibbolethConfigurationException("Required configuration not specified.");
                }
                try {
@@ -105,20 +96,21 @@ public class IdPConfig {
                                // Shouldn't happen
                                throw new ShibbolethConfigurationException("Default Auth Method URI could not be constructed.");
                        }
-               }
-               try {
-                       defaultAuthMethod = new URI(attribute);
-               } catch (URISyntaxException e1) {
-                       log.error("(defaultAuthMethod) attribute to is not a valid URI.");
-                       throw new ShibbolethConfigurationException("Required configuration is invalid.");
+               } else {
+                       try {
+                               defaultAuthMethod = new URI(attribute);
+                       } catch (URISyntaxException e1) {
+                               log.error("(defaultAuthMethod) attribute to is not a valid URI.");
+                               throw new ShibbolethConfigurationException("Required configuration is invalid.");
+                       }
                }
 
-               attribute = ((Element) config).getAttribute("maxHSThreads");
+               attribute = ((Element) config).getAttribute("maxSigningThreads");
                if (attribute != null && !attribute.equals("")) {
                        try {
                                maxThreads = Integer.parseInt(attribute);
                        } catch (NumberFormatException e) {
-                               log.error("(maxHSThreads) attribute to is not a valid integer.");
+                               log.error("(maxSigningThreads) attribute to is not a valid integer.");
                                throw new ShibbolethConfigurationException("Configuration is invalid.");
                        }
                }
@@ -130,7 +122,7 @@ public class IdPConfig {
 
                log.debug("Global IdP config: (AAUrl) = (" + getAAUrl() + ").");
                log.debug("Global IdP config: (defaultAuthMethod) = (" + getDefaultAuthMethod() + ").");
-               log.debug("Global IdP config: (maxHSThreads) = (" + getMaxThreads() + ").");
+               log.debug("Global IdP config: (maxSigningThreads) = (" + getMaxThreads() + ").");
                log.debug("Global IdP config: (authHeaderName) = (" + getAuthHeaderName() + ").");
 
                log.debug("Global IdP config: (resolverConfig) = (" + getResolverConfigLocation() + ").");
@@ -177,4 +169,4 @@ public class IdPConfig {
 
                return AAUrl;
        }
-}
+}
\ No newline at end of file