diff options
Diffstat (limited to 'Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one')
5 files changed, 191 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/Order.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/Order.java new file mode 100644 index 0000000..6af54aa --- /dev/null +++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/Order.java @@ -0,0 +1,45 @@ +package examples.entity.bid.one_to_one;
+
+import java.io.Serializable;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+
+@Entity(name="OrderBid")
+public class Order implements Serializable {
+ private int id;
+ private String orderName;
+ private Shipment shipment;
+
+ public Order() {
+ id = (int)System.nanoTime();
+ }
+
+ @Id
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getOrderName() {
+ return orderName;
+ }
+
+ public void setOrderName(String orderName) {
+ this.orderName = orderName;
+ }
+
+ @OneToOne(cascade={CascadeType.PERSIST})
+ public Shipment getShipment() {
+ return shipment;
+ }
+
+ public void setShipment(Shipment shipment) {
+ this.shipment = shipment;
+ }
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/OrderShipmentBidBean.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/OrderShipmentBidBean.java new file mode 100644 index 0000000..792c2de --- /dev/null +++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/OrderShipmentBidBean.java @@ -0,0 +1,40 @@ +package examples.entity.bid.one_to_one;
+
+import java.util.List;
+
+import javax.ejb.Stateless;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+
+import examples.entity.bid.one_to_one.interfaces.OrderShipment;
+
+@Stateless
+public class OrderShipmentBidBean implements OrderShipment {
+ @PersistenceContext
+ EntityManager em;
+
+ public void doSomeStuff() {
+ Shipment s = new Shipment();
+ s.setCity("Austin");
+ s.setZipcode("78727");
+
+ Order o = new Order();
+ o.setOrderName("Software Order");
+ o.setShipment(s);
+
+ s.setOrder(o);
+
+ em.persist(o);
+ }
+
+ public List getOrders() {
+ Query q = em.createQuery("SELECT o FROM OrderBid o");
+ return q.getResultList();
+ }
+
+ public List getShipments() {
+ Query q = em.createQuery("SELECT s FROM ShipmentBid s");
+ return q.getResultList();
+ }
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/Shipment.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/Shipment.java new file mode 100644 index 0000000..c778ae2 --- /dev/null +++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/Shipment.java @@ -0,0 +1,53 @@ +package examples.entity.bid.one_to_one;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+
+@Entity(name="ShipmentBid")
+public class Shipment implements Serializable {
+ private int id;
+ private String city;
+ private String zipcode;
+ private Order order;
+
+ public Shipment() {
+ id = (int)System.nanoTime();
+ }
+
+ @Id
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getZipcode() {
+ return zipcode;
+ }
+
+ public void setZipcode(String zipcode) {
+ this.zipcode = zipcode;
+ }
+
+ @OneToOne(mappedBy="shipment")
+ public Order getOrder() {
+ return order;
+ }
+
+ public void setOrder(Order order) {
+ this.order = order;
+ }
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/client/OrderShipmentClient.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/client/OrderShipmentClient.java new file mode 100644 index 0000000..d99444c --- /dev/null +++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/client/OrderShipmentClient.java @@ -0,0 +1,39 @@ +package examples.entity.bid.one_to_one.client;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import examples.entity.bid.one_to_one.Order;
+import examples.entity.bid.one_to_one.Shipment;
+import examples.entity.bid.one_to_one.interfaces.OrderShipment;
+
+
+public class OrderShipmentClient {
+ public static void main(String[] args) {
+ try {
+ InitialContext ic = new InitialContext();
+ OrderShipment os = (OrderShipment)ic.lookup(OrderShipment.class.getName());
+
+ os.doSomeStuff();
+
+ System.out.println("Bidirectional One-To-One client\n");
+
+ for (Object o : os.getOrders()) {
+ Order order = (Order)o;
+ System.out.println("Order "+order.getId()+": "+order.getOrderName());
+ System.out.println("\tShipment details: "+order.getShipment().getCity()+" "+order.getShipment().getZipcode());
+ }
+
+ System.out.println();
+
+ for (Object o : os.getShipments()) {
+ Shipment shipment = (Shipment)o;
+ System.out.println("Shipment: "+shipment.getCity()+" "+shipment.getZipcode());
+ System.out.println("\tOrder details: "+shipment.getOrder().getOrderName());
+ }
+ }
+ catch (NamingException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/interfaces/OrderShipment.java b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/interfaces/OrderShipment.java new file mode 100644 index 0000000..cc4ae2b --- /dev/null +++ b/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/bid/one_to_one/interfaces/OrderShipment.java @@ -0,0 +1,14 @@ +package examples.entity.bid.one_to_one.interfaces;
+
+import java.util.List;
+
+import javax.ejb.Remote;
+
+@Remote
+public interface OrderShipment {
+ public void doSomeStuff();
+
+ public List getOrders();
+
+ public List getShipments();
+}
|
