KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > cruisecontrol > listeners > ListenerTestPlugin


1 /********************************************************************************
2  * CruiseControl, a Continuous Integration Toolkit
3  * Copyright (c) 2001, ThoughtWorks, Inc.
4  * 651 W Washington Ave. Suite 600
5  * Chicago, IL 60661 USA
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * + Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * + Redistributions in binary form must reproduce the above
16  * copyright notice, this list of conditions and the following
17  * disclaimer in the documentation and/or other materials provided
18  * with the distribution.
19  *
20  * + Neither the name of ThoughtWorks, Inc., CruiseControl, nor the
21  * names of its contributors may be used to endorse or promote
22  * products derived from this software without specific prior
23  * written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
29  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36  ********************************************************************************/

37 package net.sourceforge.cruisecontrol.listeners;
38
39 import net.sourceforge.cruisecontrol.CruiseControlException;
40 import net.sourceforge.cruisecontrol.Listener;
41 import net.sourceforge.cruisecontrol.ProjectEvent;
42 import net.sourceforge.cruisecontrol.util.ValidationHelper;
43 import org.apache.log4j.Logger;
44
45 /**
46  * Test listener.
47  *
48  * This is basically a dummy test plugin.
49  *
50  * Register with
51  * <pre>
52  * &lt;plugin string='listenertest' class='net.sourceforge.cruisecontrol.listeners.ListenerTestPlugin'/&gt;
53  *
54  * &lt;testlistener string='aaa'&gt;
55  * &lt;testselfconfiguring string='bbb'&gt;
56   * &lt;testnested string='bbb'/&gt;
57   * &lt;/testselfconfiguring&gt;
58  * &lt;testnested string='ddd'/&gt;
59  * &lt;stringwrapper string='eee'/&gt;
60  * &lt;/testlistener&gt;
61   *
62  * </pre>
63  * @author jerome@coffeebreaks.org
64  */

65 public class ListenerTestPlugin implements Listener {
66     private static final Logger LOG = Logger.getLogger(ListenerTestPlugin.class);
67
68     private ProjectEvent lastEvent;
69     private String JavaDoc string;
70     private String JavaDoc otherString;
71     private StringWrapper stringWrapper;
72     private ListenerTestNestedPlugin nested;
73     private ListenerTestSelfConfiguringPlugin selfConfiguring;
74
75     public void handleEvent(ProjectEvent event) throws CruiseControlException {
76         lastEvent = event;
77     }
78
79     public void validate() throws CruiseControlException {
80         LOG.debug("validate()");
81         ValidationHelper.assertIsSet(string, "string", this.getClass());
82         // ValidationHelper.assertIsSet(nested, "testnested", this.getClass());
83
// ValidationHelper.assertIsSet(selfConfiguring, "testselfconfiguring", this.getClass());
84
}
85
86     public ProjectEvent getLastEvent() {
87         return lastEvent;
88     }
89
90     public void setString(String JavaDoc string) {
91         this.string = string.trim();
92     }
93
94     public void setOtherString(String JavaDoc otherString) {
95         this.otherString = otherString;
96     }
97
98     public static class StringWrapper {
99         private String JavaDoc string;
100
101         public String JavaDoc getString() {
102             return string;
103         }
104
105         public void setString(String JavaDoc string) {
106             this.string = string;
107         }
108     }
109
110     /*
111     public void setStringWrapper(StringWrapper stringWrapper) {
112         this.stringWrapper = stringWrapper;
113     }
114     */

115
116     public Object JavaDoc createStringWrapper() {
117         return stringWrapper = new StringWrapper();
118     }
119
120     public void add(ListenerTestNestedPlugin nested) {
121         this.nested = nested;
122     }
123
124     public void add(ListenerTestSelfConfiguringPlugin selfConfiguring) {
125         this.selfConfiguring = selfConfiguring;
126     }
127
128     public String JavaDoc getString() {
129         return string;
130     }
131
132     public String JavaDoc getOtherString() {
133         return otherString;
134     }
135
136     public StringWrapper getStringWrapper() {
137         return stringWrapper;
138     }
139
140     public ListenerTestNestedPlugin getNested() {
141         return nested;
142     }
143
144     public ListenerTestSelfConfiguringPlugin getSelfConfiguring() {
145         return selfConfiguring;
146     }
147 }
148
Popular Tags