cleanup, add checks to arguments and responses, add log statements
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / serviceprovider / ServletContextInitializer.java
index 65df48f..b142688 100644 (file)
@@ -1,4 +1,20 @@
 /*
+ * 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.
+ */
+
+/*
  * ServletContextInitializer.java
  * 
  * Each application in a Servlet Container (a Java Web server like Tomcat)
  * 
  * As with Servlet and Filter classes, this class knows about javax.servlet.* 
  * objects that other shibboleth classes are not allowed to reference.
- * 
- * --------------------
- * Copyright 2002, 2004 
- * University Corporation for Advanced Internet Development, Inc. 
- * All rights reserved
- * [Thats all we have to say to protect ourselves]
- * Your permission to use this code is governed by "The Shibboleth License".
- * A copy may be found at http://shibboleth.internet2.edu/license.html
- * [Nothing in copyright law requires license text in every file.]
  */
 package edu.internet2.middleware.shibboleth.serviceprovider;
 
@@ -59,7 +66,7 @@ import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationExcepti
  */
 public class ServletContextInitializer {
        
-       private static Logger log = Logger.getLogger(ServletContextInitializer.class.getName());
+       private static Logger log = Logger.getLogger(ContextListener.SHIBBOLETH_INIT+".Initializer");
        private static ServiceProviderContext context   = ServiceProviderContext.getInstance();
 
        public static boolean initialized = false;
@@ -78,7 +85,7 @@ public class ServletContextInitializer {
                        
                        // could config.addOrReplaceXXXImplementor()
 
-                       String configFileName = getTargetConfigFile(scontext);
+                       String configFileName = getServiceProviderConfigFile(scontext);
                        config.loadConfigObjects(configFileName);
                        
                        // could config.addOrReplaceXXXImplementor()
@@ -97,22 +104,24 @@ public class ServletContextInitializer {
        
        /**
         * Return name of target's XML configuration file from
-        *  TargetConfigFile parameter of WEB-INF/web.xml, or
+        *  ServiceProviderConfigFile parameter of WEB-INF/web.xml, or
         *  default string
         * 
         * @param ServletContext or null 
         * @return String filename
+        * @throws ShibbolethConfigurationException 
         */
-       private static String getTargetConfigFile(ServletContext scontext) {
+       private static String getServiceProviderConfigFile(ServletContext scontext) 
+               throws ShibbolethConfigurationException {
            
                if (scontext!=null) {
-                       String servletparm = scontext.getInitParameter("TargetConfigFile");
+                       String servletparm = scontext.getInitParameter("ServiceProviderConfigFile");
                        if (servletparm != null) {
                                return servletparm;
                        }
                }
-
-               return "/conf/shibboleth.xml";
+               log.error("ServiceProviderConfigFile parameter missing in WEB-INF/web.xml");
+               throw new ShibbolethConfigurationException("ServiceProviderConfigFile parameter missing");
                
        }