KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > accounting > AccountingManagerBean


1 /*
2  * Created on Jan 10, 2005
3  */

4 package com.nightlabs.ipanema.accounting;
5
6 import java.rmi.RemoteException JavaDoc;
7 import java.util.ArrayList JavaDoc;
8 import java.util.Collection JavaDoc;
9 import java.util.Iterator JavaDoc;
10
11 import javax.ejb.CreateException JavaDoc;
12 import javax.ejb.EJBException JavaDoc;
13 import javax.ejb.SessionBean JavaDoc;
14 import javax.ejb.SessionContext JavaDoc;
15 import javax.jdo.FetchPlan;
16 import javax.jdo.PersistenceManager;
17
18 import org.apache.log4j.Logger;
19
20 import com.nightlabs.ModuleException;
21 import com.nightlabs.ipanema.base.BaseSessionBeanImpl;
22 import com.nightlabs.jdo.NLJDOHelper;
23
24 /**
25  * @ejb.bean name="AccountingManager"
26  * jndi-name="AccountingManager"
27  * type="Stateful"
28  * transaction-type="Container"
29  *
30  * @ejb.util generate = "physical"
31  */

32 public abstract class AccountingManagerBean
33     extends BaseSessionBeanImpl
34     implements SessionBean JavaDoc
35 {
36     public static final Logger LOGGER = Logger.getLogger(AccountingManagerBean.class);
37
38     /**
39      * @see com.nightlabs.ipanema.base.BaseSessionBeanImpl#setSessionContext(javax.ejb.SessionContext)
40      */

41     public void setSessionContext(SessionContext JavaDoc sessionContext)
42             throws EJBException JavaDoc, RemoteException JavaDoc
43     {
44         LOGGER.debug(this.getClass().getName() + ".setSessionContext("+sessionContext+")");
45         super.setSessionContext(sessionContext);
46     }
47     /**
48      * @see com.nightlabs.ipanema.base.BaseSessionBeanImpl#unsetSessionContext()
49      */

50     public void unsetSessionContext() {
51         super.unsetSessionContext();
52     }
53     /**
54      * @ejb.create-method
55      * @ejb.permission role-name="_Guest_"
56      */

57     public void ejbCreate()
58     throws CreateException JavaDoc
59     {
60         LOGGER.debug(this.getClass().getName() + ".ejbCreate()");
61     }
62     /**
63      * @see javax.ejb.SessionBean#ejbRemove()
64      *
65      * @ejb.permission unchecked="true"
66      */

67     public void ejbRemove() throws EJBException JavaDoc, RemoteException JavaDoc
68     {
69         LOGGER.debug(this.getClass().getName() + ".ejbRemove()");
70     }
71     
72     /**
73      * @see javax.ejb.SessionBean#ejbActivate()
74      */

75     public void ejbActivate() throws EJBException JavaDoc, RemoteException JavaDoc
76     {
77         LOGGER.debug(this.getClass().getName() + ".ejbActivate()");
78     }
79     /**
80      * @see javax.ejb.SessionBean#ejbPassivate()
81      */

82     public void ejbPassivate() throws EJBException JavaDoc, RemoteException JavaDoc
83     {
84         LOGGER.debug(this.getClass().getName() + ".ejbPassivate()");
85     }
86
87     /**
88      * @throws ModuleException
89      *
90      * @ejb.interface-method
91      * @ejb.transaction type = "Required"
92      * @ejb.permission role-name="_Guest_"
93      */

94     public Collection JavaDoc getTariffs(String JavaDoc[] fetchGroups)
95         throws ModuleException
96     {
97         PersistenceManager pm = getPersistenceManager();
98         try {
99             FetchPlan fetchPlan = pm.getFetchPlan();
100             for (int i = 0; i < fetchGroups.length; ++i)
101                 fetchPlan.addGroup(fetchGroups[i]);
102
103             Collection JavaDoc res = new ArrayList JavaDoc();
104             for (Iterator JavaDoc it = pm.getExtent(Tariff.class, true).iterator(); it.hasNext(); ) {
105                 Tariff t = (Tariff)it.next();
106                 res.add(pm.detachCopy(t));
107             }
108
109             return res;
110         } finally {
111             pm.close();
112         }
113     }
114
115     /**
116      * @throws ModuleException
117      *
118      * @ejb.interface-method
119      * @ejb.transaction type = "Required"
120      * @ejb.permission role-name="_Guest_"
121      */

122     public Tariff storeTariff(Tariff tariff)
123         throws ModuleException
124     {
125         PersistenceManager pm = getPersistenceManager();
126         try {
127             return (Tariff) NLJDOHelper.storeJDO(pm, tariff);
128         } finally {
129             pm.close();
130         }
131     }
132
133     /**
134      * @throws ModuleException
135      *
136      * @ejb.interface-method
137      * @ejb.transaction type = "Required"
138      * @ejb.permission role-name="_Guest_"
139      */

140     public long createPriceConfigID()
141         throws ModuleException
142     {
143         PersistenceManager pm = getPersistenceManager();
144         try {
145             return Accounting.getAccounting(pm).createPriceConfigID();
146         } finally {
147             pm.close();
148         }
149     }
150 }
151
Popular Tags