EMMA Coverage Report (generated Mon Mar 20 21:27:43 EST 2006)
[all classes][com.webhydra.slug]

COVERAGE SUMMARY FOR SOURCE FILE [SlugCleaner.java]

nameclass, %method, %block, %line, %
SlugCleaner.java100% (1/1)100% (3/3)100% (31/31)100% (9/9)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class SlugCleaner100% (1/1)100% (3/3)100% (31/31)100% (9/9)
SlugCleaner (): void 100% (1/1)100% (3/3)100% (1/1)
sessionCreated (HttpSessionEvent): void 100% (1/1)100% (1/1)100% (1/1)
sessionDestroyed (HttpSessionEvent): void 100% (1/1)100% (27/27)100% (7/7)

1/*
2 * @(#) $Id: SlugCleaner.java,v 1.1.1.1 2006/03/19 06:09:42 rossen Exp $
3 *
4 * Copyright (c) 2006, WebHydra.com
5 * All rights reserved.
6 * 
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 * 
10 *     * Redistributions of source code must retain the above copyright notice,
11 *       this list of conditions and the following disclaimer.
12 *     * Redistributions in binary form must reproduce the above copyright
13 *       notice, this list of conditions and the following disclaimer in the
14 *       documentation and/or other materials provided with the distribution.
15 *     * Neither the name of the WebHydra.com nor the names of its contributors
16 *       may be used to endorse or promote products derived from this software
17 *       without specific prior written permission.
18 * 
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31 
32package com.webhydra.slug;
33 
34import com.webhydra.slug.process.ISlugRunner;
35import java.util.Iterator;
36import javax.servlet.http.HttpSessionListener;
37import javax.servlet.http.HttpSessionEvent;
38 
39/**
40 * Session listener for orphant <code>SluggishProcess</code>es cleanup.
41 * Remove all <code>SluggishProcess</code>es related to current session.
42 * @author  rossen
43 * @version
44 *
45 * Web application lifecycle listener.
46 */
47 
48public class SlugCleaner implements HttpSessionListener {
49 
50    /**
51     * Not implemented.
52     * Called when a session is created.
53     * @param evt session creation event.
54     */
55    public void sessionCreated(HttpSessionEvent evt) {
56        // We are not interested in this event.
57    }
58 
59    /**
60     * Cleant all orphant SluggishProcess for this session
61     * Called when a session is destroyed(invalidated).
62     * @param evt session creation event.
63     */
64    public void sessionDestroyed(HttpSessionEvent evt) {
65        String session = evt.getSession().getId();
66        SlugConfig config = SlugConfig.getInstance();
67        String [] runnerNames = config.getRunnerNames();
68        for (int i = 0; i < runnerNames.length; i++)
69        {
70            ISlugRunner runner = config.getRunner(runnerNames[i]);
71            runner.cleanSession(session);
72        }
73    }
74}

[all classes][com.webhydra.slug]
EMMA 2.0.5312 (C) Vladimir Roubtsov