-
Notifications
You must be signed in to change notification settings - Fork 78
/
ContextListener.java
93 lines (85 loc) · 3.65 KB
/
ContextListener.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/*
*
* *
* * The Apache Software License, Version 1.1
* *
* * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
* * Copyright (c) 1999-2001 The Apache Software Foundation. All rights
* * reserved.
* *
* * Redistribution and use in source and binary forms, with or without
* * modification, are permitted provided that the following conditions
* * are met:
* *
* * 1. Redistributions of source code must retain the above copyright
* * notice, this list of conditions and the following disclaimer.
* *
* * 2. 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.
* *
* * 3. The end-user documentation included with the redistribution, if
* * any, must include the following acknowlegement:
* * "This product includes software developed by the
* * Apache Software Foundation (http://www.apache.org/)."
* * Alternately, this acknowlegement may appear in the software itself,
* * if and wherever such third-party acknowlegements normally appear.
* *
* * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
* * Foundation" must not be used to endorse or promote products derived
* * from this software without prior written permission. For written
* * permission, please contact apache@apache.org.
* *
* * 5. Products derived from this software may not be called "Apache"
* * nor may "Apache" appear in their names without prior written
* * permission of the Apache Group.
* *
* * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* * ITS CONTRIBUTORS 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.
* * ====================================================================
* *
* * This software consists of voluntary contributions made by many
* * individuals on behalf of the Apache Software Foundation. For more
* * information on the Apache Software Foundation, please see
* * <http://www.apache.org/>.
* *
*/
package com.sun.ts.tests.servlet.api.jakarta_servlet.sclistener;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletContextEvent;
import jakarta.servlet.ServletContextListener;
public final class ContextListener implements ServletContextListener {
// The servlet context with which we are associated.
private ServletContext context = null;
public void contextDestroyed(ServletContextEvent event) {
createAttribute("ContextDestroyed");
this.context = null;
}
public void contextInitialized(ServletContextEvent event) {
this.context = event.getServletContext();
createAttribute("ContextInitialized");
}
private void createAttribute(String s) {
String tmp = null;
Object o = context.getAttribute("ContextListener");
if (o != null) {
if (o instanceof String) {
tmp = (String) o + s;
}
} else {
tmp = s;
}
context.setAttribute("ContextListener", tmp);
}
}