Hi,
I have successfully deployed Java Adventure Builder Reference 1.0.1
application on Geronimo and purchase order & order tracking is working.
But I have made few changes to the EJB classes due to automatic-key
generation for unknown primary key field issue that I have faced.
Instead of automatically generating the key I have generated the key in
the Bean class itself using the random key generator and the issue has been
fixed time being.
The EJB's that I have modified are
(1) ActivityDetailsBean
(2) AddressBean
(3) ContactInfoBean
(4) LodgingBean
(5) CreditCardBean
(6) TransportationBean
(7) ActivityBean
Herewith I have attached the latest plans without using automatic primary key
generation.
EAR Plans:
(1) ActivitySupplier Plan
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar configId=""
xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment">
<cmp-connection-factory>
<resource-link>MysqlDataSource</resource-link>
</cmp-connection-factory>
<enterprise-beans>
<entity>
<ejb-name>ActivityPurchaseOrderBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.activitysupplier.purchaseorder.ejb.ActivityPurchaseOrderLocalHome</jndi-name>
<table-name>ActivityPurchaseOrder</table-name>
<cmp-field-mapping>
<cmp-field-name>poId</cmp-field-name>
<table-column>poId</table-column>
</cmp-field-mapping>
<ejb-local-ref>
<ref-name>ejb/local/activitysupplier/ActivityDetails</ref-name>
<name>ActivityDetailsBean</name>
</ejb-local-ref>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>ActivityDetailsBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.activitysupplier.purchaseorder.ejb.ActivityDetailsLocalHome</jndi-name>
<table-name>ActivityDetails</table-name>
<cmp-field-mapping>
<cmp-field-name>activityId</cmp-field-name>
<table-column>activityId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>startDate</cmp-field-name>
<table-column>startDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>endDate</cmp-field-name>
<table-column>endDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>headCount</cmp-field-name>
<table-column>headCount</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>activityDetailsBean_upk</cmp-field-name>
<table-column>ActivityDetailsBean_upk</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<session>
<ejb-name>ActivityPOEndpointBean</ejb-name>
<jndi-name>ActivityPOEndpointBean</jndi-name>
<resource-ref>
<ref-name>jms/activity/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
<web-service-address>http://localhost:8080/webservice/ActivityPOService</web-service-address>
</session>
<message-driven>
<ejb-name>ActivityMessageEJB</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
</message-driven>
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>ActivityRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>ActivityPurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>ActivityPurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>activities</cmr-field-name>
</cmr-field>
<role-mapping>
<cmr-field-mapping>
<key-column>poId</key-column>
<foreign-key-column>ActivityPurchaseOrderBean_activities</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
</relationships>
</openejb-jar>
(2) AirlineSupplier Plan
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar configId=""
xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment">
<cmp-connection-factory>
<resource-link>MysqlDataSource</resource-link>
</cmp-connection-factory>
<enterprise-beans>
<entity>
<ejb-name>AirlineOrderBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.airlinesupplier.purchaseorder.ejb.AirlineOrderLocalHome</jndi-name>
<table-name>AirlineOrder</table-name>
<cmp-field-mapping>
<cmp-field-name>orderId</cmp-field-name>
<table-column>orderId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>depFlightId</cmp-field-name>
<table-column>depFlightId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>depFlightDate</cmp-field-name>
<table-column>depFlightDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>retFlightId</cmp-field-name>
<table-column>retFlightId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>retFlightDate</cmp-field-name>
<table-column>retFlightDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>headCount</cmp-field-name>
<table-column>headCount</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<session>
<ejb-name>AirlinePOEndpointBean</ejb-name>
<jndi-name>AirlinePOEndpointBean</jndi-name>
<resource-ref>
<ref-name>jms/airline/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
<web-service-address>http://localhost:8080/webservice/AirlinePOService</web-service-address>
</session>
<message-driven>
<ejb-name>AirlineMessageEJB</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
</message-driven>
</enterprise-beans>
</openejb-jar>
(3) Bank Plan
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar configId=""
xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment">
<enterprise-beans>
<session>
<ejb-name>CreditCardEndpointBean</ejb-name>
<jndi-name>CreditCardEndpointBean</jndi-name>
<web-service-address>http://localhost:8080/webservice/CreditCardService</web-service-address>
</session>
</enterprise-beans>
</openejb-jar>
(4) LodgingSupplier Plan
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar configId=""
xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment">
<cmp-connection-factory>
<resource-link>MysqlDataSource</resource-link>
</cmp-connection-factory>
<enterprise-beans>
<entity>
<ejb-name>LodgingOrderBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.lodgingsupplier.purchaseorder.ejb.LodgingOrderLocalHome</jndi-name>
<table-name>LodgingOrder</table-name>
<cmp-field-mapping>
<cmp-field-name>orderId</cmp-field-name>
<table-column>orderId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>lodgingId</cmp-field-name>
<table-column>lodgingId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>startDate</cmp-field-name>
<table-column>startDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>endDate</cmp-field-name>
<table-column>endDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>headCount</cmp-field-name>
<table-column>headCount</table-column>
</cmp-field-mapping>
</entity>
<session>
<ejb-name>LodgingPOEndpointBean</ejb-name>
<jndi-name>LodgingPOEndpointBean</jndi-name>
<resource-ref>
<ref-name>jms/lodging/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
<web-service-address>http://localhost:8080/webservice/LodgingPOService</web-service-address>
</session>
<message-driven>
<ejb-name>LodgingMessageEJB</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
</message-driven>
</enterprise-beans>
</openejb-jar>
(5) OPC Plan
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar configId=""
xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment">
<cmp-connection-factory>
<resource-link>MysqlDataSource</resource-link>
</cmp-connection-factory>
<enterprise-beans>
<entity>
<ejb-name>PurchaseOrderBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.PurchaseOrderLocalHome</jndi-name>
<table-name>PurchaseOrder</table-name>
<cmp-field-mapping>
<cmp-field-name>locale</cmp-field-name>
<table-column>locale</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>totalPrice</cmp-field-name>
<table-column>totalPrice</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>startDate</cmp-field-name>
<table-column>startDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>userId</cmp-field-name>
<table-column>userId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>departureCity</cmp-field-name>
<table-column>departureCity</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>endDate</cmp-field-name>
<table-column>endDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>orderDate</cmp-field-name>
<table-column>orderDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>headCount</cmp-field-name>
<table-column>headCount</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>poId</cmp-field-name>
<table-column>poId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>emailId</cmp-field-name>
<table-column>emailId</table-column>
</cmp-field-mapping>
<ejb-local-ref>
<ref-name>ejb/local/CreditCard</ref-name>
<name>CreditCardBean</name>
</ejb-local-ref>
<ejb-local-ref>
<ref-name>ejb/local/ContactInfo</ref-name>
<name>ContactInfoBean</name>
</ejb-local-ref>
<ejb-local-ref>
<ref-name>ejb/local/Activity</ref-name>
<name>ActivityBean</name>
</ejb-local-ref>
<ejb-local-ref>
<ref-name>ejb/local/Lodging</ref-name>
<name>LodgingBean</name>
</ejb-local-ref>
<ejb-local-ref>
<ref-name>ejb/local/Transportation</ref-name>
<name>TransportationBean</name>
</ejb-local-ref>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>CreditCardBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.CreditCardLocalHome</jndi-name>
<table-name>CreditCard</table-name>
<cmp-field-mapping>
<cmp-field-name>cardNumber</cmp-field-name>
<table-column>cardNumber</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>cardType</cmp-field-name>
<table-column>cardType</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>cardExpiryDate</cmp-field-name>
<table-column>cardExpiryDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>creditCardBean_upk</cmp-field-name>
<table-column>CreditCardBean_upk</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>ActivityBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.ActivityLocalHome</jndi-name>
<table-name>Activity_Bean</table-name>
<cmp-field-mapping>
<cmp-field-name>activityId</cmp-field-name>
<table-column>activityId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>startDate</cmp-field-name>
<table-column>startDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>price</cmp-field-name>
<table-column>price</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>endDate</cmp-field-name>
<table-column>endDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>headCount</cmp-field-name>
<table-column>headCount</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>location</cmp-field-name>
<table-column>location</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>name</cmp-field-name>
<table-column>name</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>activityBean_upk</cmp-field-name>
<table-column>ActivityBean_upk</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>TransportationBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.TransportationLocalHome</jndi-name>
<table-name>Transportation_Bean</table-name>
<cmp-field-mapping>
<cmp-field-name>transportationId</cmp-field-name>
<table-column>transportationId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>departureDate</cmp-field-name>
<table-column>departureDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>destination</cmp-field-name>
<table-column>destination</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>travelClass</cmp-field-name>
<table-column>travelClass</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>price</cmp-field-name>
<table-column>price</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>carrier</cmp-field-name>
<table-column>carrier</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>origin</cmp-field-name>
<table-column>origin</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>departureTime</cmp-field-name>
<table-column>departureTime</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>headCount</cmp-field-name>
<table-column>headCount</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>transportationBean_upk</cmp-field-name>
<table-column>TransportationBean_upk</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>ContactInfoBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.ContactInfoLocalHome</jndi-name>
<table-name>ContactInfo</table-name>
<cmp-field-mapping>
<cmp-field-name>phone</cmp-field-name>
<table-column>phone</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>email</cmp-field-name>
<table-column>email</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>givenName</cmp-field-name>
<table-column>givenName</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>familyName</cmp-field-name>
<table-column>familyName</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>contactInfoBean_upk</cmp-field-name>
<table-column>ContactInfoBean_upk</table-column>
</cmp-field-mapping>
<ejb-local-ref>
<ref-name>ejb/local/Address</ref-name>
<name>AddressBean</name>
</ejb-local-ref>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>AddressBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.AddressLocalHome</jndi-name>
<table-name>Address</table-name>
<cmp-field-mapping>
<cmp-field-name>streetName1</cmp-field-name>
<table-column>streetName1</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>streetName2</cmp-field-name>
<table-column>streetName2</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>city</cmp-field-name>
<table-column>city</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>state</cmp-field-name>
<table-column>state</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>postalCode</cmp-field-name>
<table-column>postalCode</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>country</cmp-field-name>
<table-column>country</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>addressBean_upk</cmp-field-name>
<table-column>AddressBean_upk</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<entity>
<ejb-name>LodgingBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.opc.purchaseorder.ejb.LodgingLocalHome</jndi-name>
<table-name>Lodging_Bean</table-name>
<cmp-field-mapping>
<cmp-field-name>startDate</cmp-field-name>
<table-column>startDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>lodgingId</cmp-field-name>
<table-column>lodgingId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>noNights</cmp-field-name>
<table-column>noNights</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>endDate</cmp-field-name>
<table-column>endDate</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>location</cmp-field-name>
<table-column>location</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>noRooms</cmp-field-name>
<table-column>noRooms</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>name</cmp-field-name>
<table-column>name</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>pricePerNight</cmp-field-name>
<table-column>pricePerNight</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>lodgingBean_upk</cmp-field-name>
<table-column>LodgingBean_upk</table-column>
</cmp-field-mapping>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
<session>
<ejb-name>PoEndpointBean</ejb-name>
<jndi-name>PoEndpointBean</jndi-name>
<resource-ref>
<ref-name>jms/opc/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
<web-service-address>http://localhost:8080/webservice/PoEndpointBean</web-service-address>
</session>
<session>
<ejb-name>BrokerServiceBean</ejb-name>
<jndi-name>BrokerServiceBean</jndi-name>
<resource-ref>
<ref-name>jms/opc/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
<web-service-address>http://localhost:8080/webservice/WebServiceBroker</web-service-address>
</session>
<session>
<ejb-name>OtEndpointBean</ejb-name>
<jndi-name>OtEndpointBean</jndi-name>
<ejb-local-ref>
<ref-name>ejb/local/processmanager/ProcessManager</ref-name>
<name>ProcessManagerBean</name>
</ejb-local-ref>
<ejb-local-ref>
<ref-name>ejb/local/purchaseorder/PurchaseOrder</ref-name>
<name>PurchaseOrderBean</name>
</ejb-local-ref>
<web-service-address>http://localhost:8080/webservice/OtEndpointBean</web-service-address>
</session>
<message-driven>
<ejb-name>WorkFlowManagerBean</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
<resource-ref>
<ref-name>jms/opc/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
</message-driven>
<message-driven>
<ejb-name>OrderFillerBean</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
<resource-ref>
<ref-name>jms/opc/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
</message-driven>
<message-driven>
<ejb-name>BrokerRequestorBean</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
<resource-ref>
<ref-name>jms/opc/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
</message-driven>
<message-driven>
<ejb-name>CRMBean</ejb-name>
<resource-adapter>
<resource-link>ActiveMQ AdventureBuilder</resource-link>
</resource-adapter>
<resource-ref>
<ref-name>jms/opc/QueueConnectionFactory</ref-name>
<resource-link>JmsXA</resource-link>
</resource-ref>
</message-driven>
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>ContactAddressRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>ContactInfoBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>ContactInfoBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>address</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>AddressBean_upk</key-column>
<foreign-key-column>address</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseTransportationRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>returnFlightInfo</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>TransportationBean_upk</key-column>
<foreign-key-column>returnFlightInfo</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseLodgingRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>lodging</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>LodgingBean_upk</key-column>
<foreign-key-column>lodging</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseActivityRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>activities</cmr-field-name>
</cmr-field>
<role-mapping>
<cmr-field-mapping>
<key-column>poId</key-column>
<foreign-key-column>PurchaseOrderBean_activities</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseTransportationRelations1</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>departureFlightInfo</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>TransportationBean_upk</key-column>
<foreign-key-column>departureFlightInfo</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseContactRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>billingInfo</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>ContactInfoBean_upk</key-column>
<foreign-key-column>billingInfo</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseContactRelations1</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>shippingInfo</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>ContactInfoBean_upk</key-column>
<foreign-key-column>shippingInfo</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
<ejb-relation>
<ejb-relation-name>PurchaseCreditRelations</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>PurchaseOrderBean</ejb-relationship-role-name>
<relationship-role-source>
<ejb-name>PurchaseOrderBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>creditCard</cmr-field-name>
</cmr-field>
<foreign-key-column-on-source/>
<role-mapping>
<cmr-field-mapping>
<key-column>CreditCardBean_upk</key-column>
<foreign-key-column>creditCard</foreign-key-column>
</cmr-field-mapping>
</role-mapping>
</ejb-relationship-role>
</ejb-relation>
</relationships>
</openejb-jar>
(6) Process Manager Plan
<?xml version="1.0" encoding="UTF-8"?>
<openejb-jar configId=""
xmlns="http://www.openejb.org/xml/ns/openejb-jar"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment">
<cmp-connection-factory>
<resource-link>MysqlDataSource</resource-link>
</cmp-connection-factory>
<enterprise-beans>
<session>
<ejb-name>ProcessManagerBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.processmanager.ejb.ProcessManagerLocalHome</jndi-name>
<local-jndi-name>com.sun.j2ee.blueprints.processmanager.ejb.ProcessManagerLocalHome</local-jndi-name>
<ejb-local-ref>
<ref-name>ejb/local/processmanager/Manager</ref-name>
<name>ManagerBean</name>
</ejb-local-ref>
</session>
<entity>
<ejb-name>ManagerBean</ejb-name>
<jndi-name>com.sun.j2ee.blueprints.processmanager.manager.ejb.ManagerLocalHome</jndi-name>
<local-jndi-name>com.sun.j2ee.blueprints.processmanager.manager.ejb.ManagerLocalHome</local-jndi-name>
<table-name>Manager</table-name>
<cmp-field-mapping>
<cmp-field-name>lodgingOrderStatus</cmp-field-name>
<cmp-field-class>String</cmp-field-class>
<table-column>lodgingOrderStatus</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>orderError</cmp-field-name>
<cmp-field-class>boolean</cmp-field-class>
<table-column>orderError</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>orderId</cmp-field-name>
<cmp-field-class>String</cmp-field-class>
<table-column>orderId</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>status</cmp-field-name>
<cmp-field-class>String</cmp-field-class>
<table-column>status</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>activityOrderStatus</cmp-field-name>
<cmp-field-class>String</cmp-field-class>
<table-column>activityOrderStatus</table-column>
</cmp-field-mapping>
<cmp-field-mapping>
<cmp-field-name>airlineOrderStatus</cmp-field-name>
<cmp-field-class>String</cmp-field-class>
<table-column>airlineOrderStatus</table-column>
</cmp-field-mapping>
<primkey-field>orderId</primkey-field>
<resource-ref>
<ref-name>jdbc/adventure/AdventureDB</ref-name>
<resource-link>MysqlDataSource</resource-link>
</resource-ref>
</entity>
</enterprise-beans>
</openejb-jar>
Currently working on using GBean's for automatic key generation so that
changes related to key generation are not necessary in the EJB classes. If
there is any other way to resolve the automatic primary key generation issue
kindly let me know.
Thanks & Regards,
S.Saraswathi
-----Original Message-----
From: Jakob Roesgaard Færch [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 07, 2005 3:05 PM
To: [email protected]
Subject: Re: Java Adventure Builder Reference 1.0.3 webapp deployed
Jacek Laskowski wrote:
> Whow! Thanks for sharing them with us. With them all I think we can
> achieve the goal of deploying PetStore and Adventure Builder on time
> *before* 1.0 is announced.
I'm a little uneasy about the fact that we still need to add CMP fields
to the CMP beans to make the application deploy - with this limitation,
will we able to claim that Geronimo is compatible with the adventure
builder app?
The EJB spec (section 10.8.3) suggests that the
Container Provider will provide a tool to add these special field(s) to
hold the primary key value without having to actually add them to the
EJB's implementation and deployment descriptors.
What Saraswathi has done is - as far as I can tell - what is described
at the Wiki at
<http://wiki.apache.org/geronimo/Working_with_Enterprise_JavaBeans?highlight=%28primary%29%7C%28unknow%29%7C%28key%29#head-d3c8257af5f8402c0d47c6a3dc47ad73972d2aa0>
Does anyone know whether Geronimo/OpenEJB supports the
"behind-the-curtains" generation of fields to hold the primary key?
If this support is not present, what should the strategy be for
packaging the Adventure Builder App with Geronimo; should we
a) Distribute a copy of the entire app with the necessary changes
incorporated
b) Let the maven script modify the adventure app sources and rebuild
the ear's before distributing the app?
For the time being, would it be possible for someone (I guess that means
Saraswathi) to share the modified beans - this would save me the time to
add the fields myself.
Kindly,
Jakob
This e-mail and any files transmitted with it are for the sole use of the
intended recipient(s) and may contain confidential and privileged information.
If you are not the intended recipient, please contact the sender by reply
e-mail and destroy all copies of the original message.
Any unauthorized review, use, disclosure, dissemination, forwarding, printing
or copying of this email or any action taken in reliance on this e-mail is
strictly
prohibited and may be unlawful.
Visit us at http://www.cognizant.com