/* * 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.taglibs.standard.examples.startup; import java.util.Enumeration; import java.util.Hashtable; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.taglibs.standard.examples.beans.Customers; /** * Initialization class. Builds all the data structures * used in the "examples" webapp. * * @author Pierre Delisle * @version $Revision: 602107 $ $Date: 2007-12-07 15:27:35 +0100 (vie, 07 dic 2007) $ */ public class Init implements ServletContextListener { //********************************************************************* // ServletContextListener methods // recovers the one context parameter we need public void contextInitialized(ServletContextEvent sce) { //p("contextInitialized"); init(sce); } public void contextDestroyed(ServletContextEvent sce) { //p("contextInitialized"); } //********************************************************************* // Initializations private void init(ServletContextEvent sce) { /* * Customers */ Customers.create("Richard", "Maurice", "5/15/35", "123 Chemin Royal", "Appt. #301", "Montreal", "QC", "H3J 9R9", "Canada"); Customers.create("Mikita", "Stan", "12/25/47", "45 Fisher Blvd", "Suite 203", "Chicago", "IL", "65982", "USA", "(320)876-9784", null); Customers.create("Gilbert", "Rod", "3/11/51", "123 Main Street", "", "New-York City", "NY", "19432", "USA"); Customers.create("Howe", "Gordie", "7/25/46", "7654 Wings Street", "", "Detroit", "MG", "07685", "USA", "(465)675-0761", "(465)879-9802"); Customers.create("Sawchuk", "Terrie", "11/05/46", "12 Maple Leafs Avenue", "", "Toronto", "ON", "M5C 1Z1", "Canada"); sce.getServletContext().setAttribute("customers", Customers.findAll()); /** * Array of primitives (int) */ int[] intArray = new int[] {10, 20, 30, 40, 50}; sce.getServletContext().setAttribute("intArray", intArray); /** * Array of Objects (String) */ String[] stringArray = new String[] { "A first string", "La deuxieme string", "Ella troisiemo stringo", }; sce.getServletContext().setAttribute("stringArray", stringArray); /** * String-keyed Map */ Hashtable stringMap = new Hashtable(); sce.getServletContext().setAttribute("stringMap", stringMap); stringMap.put("one", "uno"); stringMap.put("two", "dos"); stringMap.put("three", "tres"); stringMap.put("four", "cuatro"); stringMap.put("five", "cinco"); stringMap.put("six", "seis"); stringMap.put("seven", "siete"); stringMap.put("eight", "ocho"); stringMap.put("nine", "nueve"); stringMap.put("ten", "diez"); /** * Integer-keyed Map */ // we use a Hashtable so we can get an Enumeration easily, below Hashtable numberMap = new Hashtable(); sce.getServletContext().setAttribute("numberMap", numberMap); numberMap.put(new Integer(1), "uno"); numberMap.put(new Integer(2), "dos"); numberMap.put(new Integer(3), "tres"); numberMap.put(new Integer(4), "cuatro"); numberMap.put(new Integer(5), "cinco"); numberMap.put(new Integer(6), "seis"); numberMap.put(new Integer(7), "siete"); numberMap.put(new Integer(8), "ocho"); numberMap.put(new Integer(9), "nueve"); numberMap.put(new Integer(10), "diez"); /** * Enumeration */ Enumeration enum_ = numberMap.keys(); // don't use 'enum' for attribute name because it is a // reserved word in EcmaScript. sce.getServletContext().setAttribute("enumeration", enum_); /** * Message arguments for parametric replacement */ Object[] serverInfoArgs = new Object[] { sce.getServletContext().getServerInfo(), System.getProperty("java.version") }; sce.getServletContext().setAttribute("serverInfoArgs", serverInfoArgs); } //********************************************************************* // Initializations private void p(String s) { System.out.println("[Init] " + s); } }