Remote Interface: Cart



Remote Interface: CartBeanRemote.java

package ejbstateful;

import java.util.Collection;

import javax.ejb.Remote;

@Remote

public interface CartBeanRemote {

public void addItem(String item);

public void removeItem(String item);

public Collection getItems();

}

Stateful Session Bean: CartBean.java

package ejbstateful;

import java.util.ArrayList;

import java.util.Collection;

import javax.annotation.PostConstruct;

import javax.ejb.Stateful;

@Stateful

public class CartBean implements CartBeanRemote {

private ArrayList items;

@PostConstruct

public void initialize() {

items = new ArrayList();

}

public void addItem(String item) {

items.add(item);

}

public void removeItem(String item) {

items.remove(item);

}

public Collection getItems() {

return items;

}

}

EJB Client: CartClient.java

package ejbcart;

import ejbstateful.CartBeanRemote;

import java.util.Collection;

import java.util.Iterator;

import javax.ejb.EJB;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

public class CartClient {

@EJB

private static CartBeanRemote cart;

public CartClient(String[] args) {

}

public static void main(String[] args) throws NamingException {

CartClient client = new CartClient(args);

client.doTest();

}

public void doTest() {

System.out.println("Adding items to cart");

try {

cart.addItem("Apple");

cart.addItem("Peach");

cart.addItem("Grape");

cart.addItem("Kiwi");

System.out.println("Listing cart contents");

Collection items = cart.getItems();

for (Iterator i = items.iterator(); i.hasNext();) {

String item = (String) i.next();

System.out.println(" " + item);

}

} catch (Exception ex) {

ex.printStackTrace();

}

}

private static Context getInitialContext() throws NamingException {

return new InitialContext();

}

}

Output:

Adding items to cart

Listing cart contents

Apple

Peach

Grape

Kiwi

(add app-serv-rt.jar(for GlassFish 2.0) in your client project)

Source:

package cart.ejb;

import cart.util.ItemException;

import java.util.List;

import javax.ejb.Remote;

@Remote

public interface CartRemote {

public void initialize(String person) throws ItemException;

public void initialize(

String person,

String id) throws ItemException;

public void addItem(String title);

public void removeItem(String title) throws ItemException;

public List getContents();

public void remove();

}

-----------------------------------------------------------

package cart.ejb;

import cart.util.ItemException;

import java.util.ArrayList;

import java.util.List;

import javax.ejb.Remove;

import javax.ejb.Stateful;

@Stateful

public class Cart implements CartRemote {

List contents;

String customerId;

String customerName;

public void initialize(String person) throws ItemException {

if (person == null) {

throw new ItemException("Null is not allowed.");

} else {

customerName = person; }

customerId = "0";

contents = new ArrayList();

}

public void initialize(

String person,

String id) throws ItemException {

if (person == null) {

throw new ItemException("Null is not allowed.");

} else {

customerName = person; }

contents = new ArrayList();

}

public void addItem(String item) {

contents.add(item);

}

public void removeItem(String item) throws ItemException {

boolean result = contents.remove(item);

if (result == false) {

throw new ItemException("An item \"" + item + "\" not found in the cart to remove");

}

}

public List getContents() {

return contents;

}

@Remove()

public void remove() {

contents = null;

}

}

------------------------------------------------------

package cart.client;

import java.util.Iterator;

import java.util.List;

import javax.ejb.EJB;

import cart.ejb.CartRemote;

import cart.util.ItemException;

public class CartClient {

@EJB

private static CartRemote cart;

public CartClient(String[] args) {

}

/**@param args the command line arguments */

public static void main(String[] args) {

CartClient client = new CartClient(args);

client.doTest();

}

public void doTest() {

try {

cart.initialize("Kanchan", "100");

//cart.addItem("Pizza");

cart.addItem("Noodles");

cart.addItem("Rice");

cart.addItem("Chicken");

List bookList = cart.getContents();

bookList = cart.getContents();

Iterator iterator = bookList.iterator();

while (iterator.hasNext()) {

String itemName = iterator.next();

System.out.println("Fetch an item from cart: " + itemName);

}

System.out.println("Deleting \"Pizza\" from cart.");

cart.removeItem("Pizza");

cart.remove();

System.exit(0);

} catch (ItemException ex) {

System.err.println("Caught a ItemException: " + ex.getMessage());

System.exit(1);

} catch (Exception ex) {

System.err.println("Caught an unexpected exception!");

ex.printStackTrace();

System.exit(1);

}

}

}

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches