1 /**
2  * @author janaudy
3  * @date Apr 29, 2003
4  */
5 package org.jyperion.j2ee.sample.sfsb;
6 
7 import java.rmi.RemoteException;
8 import java.util.LinkedList;
9 import java.util.List;
10
11import javax.ejb.EJBException;
12import javax.ejb.SessionBean;
13import javax.ejb.SessionContext;
14
15/**
16 * CartBean
17 * 
18 * @ejb.bean
19 *   name = "SecurityCart"
20 *   type = "Stateful"
21 *   jndi-name = "org.jyperion.sample.securitysessionbean.CartBean"
22 *   view-type = "remote"
23 * 
24 * @jboss.security-proxy
25 *   name="org.jyperion.j2ee.sample.sfsb.CartBeanSecurityProxy"
26 *
27 * @author janaudy
28 * @date 19, April 2003
29 */
30public class CartBean implements SessionBean {
31    private LinkedList books = null;
32
33    /**
34     * @ejb.create-method
35     *   view-type="local|remote"
36     * 
37     * @ejb.permission
38     *  role-name="directeur,consultant"
39     */
40    public void ejbCreate() {
41        log("ejbCreate()");
42        this.books = new LinkedList();
43    }
44
45    /**
46     * @ejb.interface-method
47     * 
48     * @ejb.permission
49     *  role-name="directeur,consultant"
50     * 
51     * @param nom
52     */
53    public void addBook(String nom) {
54        log("Adding book " + nom);
55        this.books.add(nom);
56    }
57
58    /**
59     * @ejb.interface-method
60     * 
61     * @ejb.permission
62     *  role-name="directeur"
63     * 
64     * @param nom
65     */
66    public void removeBook(String nom) {
67        log("Removing book " + nom);
68        this.books.remove(nom);
69    }
70
71    /**
72     * @ejb.interface-method
73     * 
74     * @ejb.permission
75     *  role-name="directeur"
76     * 
77     * @return
78     */
79    public List getContent() {
80        log("Returning list... " + this.books.size() + " elements!");
81        return this.books;
82    }
83
84    /**
85     * @see javax.ejb.SessionBean#ejbActivate()
86     */
87    public void ejbActivate() throws EJBException, RemoteException {
88        log("ejbActivate()");
89    }
90
91    /**
92     * @see javax.ejb.SessionBean#ejbPassivate()
93     */
94    public void ejbPassivate() throws EJBException, RemoteException {
95        log("ejbPassivate()");
96    }
97
98    /**
99     * @ejb.permission
00     *  role-name="directeur"
01     * 
02     * @see javax.ejb.SessionBean#ejbRemove()
03     */
04    public void ejbRemove() throws EJBException, RemoteException {
05        log("ejbRemove()");
06    }
07
08    /**
09     * @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)
10     */
11    public void setSessionContext(SessionContext arg0)
12        throws EJBException, RemoteException {
13        log("setSessionContext " + arg0);
14    }
15
16    /**
17     * log
18     * @param o
19     */
20    private static void log(Object o) {
21        System.err.println(o);
22    }
23}
24