01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19:
20: package org.apache.geronimo.tomcat.cluster.wadi;
21:
22: import org.apache.geronimo.clustering.wadi.WADISessionManager;
23: import org.apache.geronimo.gbean.GBeanInfo;
24: import org.apache.geronimo.gbean.GBeanInfoBuilder;
25: import org.apache.geronimo.gbean.GBeanLifecycle;
26: import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
27: import org.apache.geronimo.tomcat.ObjectRetriever;
28: import org.codehaus.wadi.core.manager.Manager;
29:
30: /**
31: *
32: * @version $Rev$ $Date$
33: */
34: public class WADIClusteredValveRetriever implements ObjectRetriever,
35: GBeanLifecycle {
36: private final WADISessionManager sessionManager;
37: private Manager wadiManager;
38:
39: public WADIClusteredValveRetriever(WADISessionManager sessionManager) {
40: this .sessionManager = sessionManager;
41: }
42:
43: public Object getInternalObject() {
44: return new WADIClusteredValve(wadiManager);
45: }
46:
47: public void doStart() throws Exception {
48: wadiManager = sessionManager.getManager();
49: }
50:
51: public void doStop() throws Exception {
52: }
53:
54: public void doFail() {
55: }
56:
57: public static final GBeanInfo GBEAN_INFO;
58: public static final String GBEAN_REF_WADI_SESSION_MANAGER = "WADISessionManager";
59:
60: static {
61: GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(
62: "WADI Clustered Valve Retriever",
63: WADIClusteredValveRetriever.class,
64: NameFactory.GERONIMO_SERVICE);
65:
66: infoFactory.addReference(GBEAN_REF_WADI_SESSION_MANAGER,
67: WADISessionManager.class, NameFactory.GERONIMO_SERVICE);
68:
69: infoFactory
70: .setConstructor(new String[] { GBEAN_REF_WADI_SESSION_MANAGER });
71:
72: GBEAN_INFO = infoFactory.getBeanInfo();
73: }
74:
75: public static GBeanInfo getGBeanInfo() {
76: return GBEAN_INFO;
77: }
78:
79: }
|