[jboss-svn-commits] JBL Code SVN: r5655 - in labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker: actions adapters domain web
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Aug 9 15:33:36 EDT 2006
Author: daniel.brum at jboss.com
Date: 2006-08-09 15:33:33 -0400 (Wed, 09 Aug 2006)
New Revision: 5655
Modified:
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditRequest.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditResponse.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/adapters/CustomerAdapter.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/Customer.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/LoanBrokerConstants.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/LoanBrokerWS.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/WebCustomer.java
Log:
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditRequest.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditRequest.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditRequest.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -76,7 +76,7 @@
if (! (m_oCurr instanceof ObjectMessage))
throw new Exception("Message must be a ObjectMessage");
- System.out.println(m_oCurr);
+// System.out.println(m_oCurr);
CreditCheckRequest creditRequest = (CreditCheckRequest)((ObjectMessage)m_oCurr).getObject();
//use the notification framework to send back our response
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditResponse.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditResponse.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditResponse.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -25,18 +25,28 @@
import java.io.Serializable;
import java.util.Random;
-import javax.jms.Message;
import javax.jms.*;
+import javax.naming.Context;
+//import org.jboss.remoting.samples.transporter.basic.Customer;
import org.jboss.soa.esb.actions.*;
+import org.jboss.soa.esb.common.SystemProperties;
+import org.jboss.soa.esb.helpers.AppServerContext;
import org.jboss.soa.esb.helpers.DomElement;
import org.jboss.soa.esb.listeners.GpListener;
+import org.jboss.soa.esb.samples.loanbroker.adapters.CustomerAdapter;
import org.jboss.soa.esb.samples.loanbroker.creditagency.CreditCheckRequest;
import org.jboss.soa.esb.samples.loanbroker.creditagency.CreditCheckResponseNotification;
+import org.jboss.soa.esb.services.IpersistHandler;
+import org.jboss.soa.esb.services.PersistHandlerFactory;
+import org.jboss.soa.esb.samples.loanbroker.domain.*;
+
import com.thoughtworks.xstream.XStream;
public class ProcessCreditResponse extends AbstractAction {
+
+
public ProcessCreditResponse(DomElement p_oP, Object p_oCurr) throws Exception {
super(p_oP, p_oCurr);
@@ -49,17 +59,30 @@
if (! (m_oCurr instanceof ObjectMessage))
throw new Exception("Message must be a ObjectMessage");
- System.out.println(m_oCurr);
+// System.out.println(m_oCurr);
- //TODO: add code here to send information (customer and credit info to banks)
+ //get the credit response information and send to banks
String[] msg = (String[])((ObjectMessage)m_oCurr).getObject();
CreditCheckResponseNotification response = CreditCheckResponseNotification.fromArray(msg);
System.out.println(response.toString());
+// get handle to the JBossESB Event object store
+ IpersistHandler esbHandler = PersistHandlerFactory.getPersistHandler("remote",
+ SystemProperties.getJndiServerType(),
+ SystemProperties.getJndiServerURL());
+
+ //convert the WebCustomer to an ESB Customer capable of being persisted to the event store
+// long lUid = esbHandler.addObject(CustomerAdapter.esbFromWeb(customer));
+ Customer customer = (Customer) esbHandler.getObject(org.jboss.soa.esb.samples.loanbroker.domain.Customer.class, response.customerUID);
+ CreditRating rating = new CreditRating("");
+ rating.setScore(response.score);
+ customer.setRating(rating);
+ esbHandler.rplObject(customer); //update the object store
-
-
-
+ //TODO: send JMS message to bank
+ sendJMSToBank(customer);
+ //TODO: send file csv to bank
+// sendFileToBank(customer);
} //________________________________
public Serializable getOkNotification()
@@ -90,6 +113,33 @@
}
} //________________________________
+ private void sendJMSToBank(Customer customer) {
+ try {
+ Context ctx = AppServerContext.getServerContext(LoanBrokerConstants.JNDI_TYPE, LoanBrokerConstants.JNDI_URL);
+ Queue queue = (Queue) ctx.lookup(LoanBrokerConstants.BANK_JMS_REQUEST_QUEUE);
+ QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
+ QueueConnection cnn = factory.createQueueConnection();
+ QueueSession sess = cnn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
+
+ //get a customer in the format required by the JMS Bank
+ BanksQuoteRequest quote = CustomerAdapter.bankQuoteFromCustomer(customer);
+ XStream xstream = new XStream();
+ String bankQuoteRequestXml=xstream.toXML(quote);
+
+ TextMessage msg = sess.createTextMessage(bankQuoteRequestXml);
+ MessageProducer sender = sess.createSender(queue);
+ sender = sess.createSender(queue);
+ sender.send(msg);
+ }catch(Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ private void sendFileToBank(Customer customer) {
+
+ }
+
+
}
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/adapters/CustomerAdapter.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/adapters/CustomerAdapter.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/adapters/CustomerAdapter.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -24,7 +24,7 @@
import java.text.*;
-import org.jboss.soa.esb.samples.loanbroker.domain.Customer;
+import org.jboss.soa.esb.samples.loanbroker.domain.*;
import org.jboss.soa.esb.samples.loanbroker.web.WebCustomer;
import org.jboss.soa.esb.util.*;
import org.jboss.soa.esb.common.bizclasses.*;
@@ -51,7 +51,9 @@
oRet.setField(Customer.ATTRIB.salary ,s_NF.format(p_o.salary));
oRet.setField(Customer.ATTRIB.loanDur ,Integer.toString(p_o.loanDuration));
oRet.setField(Customer.ATTRIB.loanAmt ,s_NF.format(p_o.loanAmount));
+ oRet.setField(Customer.ATTRIB.ssn ,Integer.toString(p_o.ssn));
+
return oRet;
}//_________________________________________
@@ -75,6 +77,8 @@
sAux = p_o.getField(Customer.ATTRIB.loanDur);
int iLoanDur = (null==sAux)? 0 : Integer.parseInt(sAux);
+ sAux = p_o.getField(Customer.ATTRIB.ssn);
+ int ssn = (null==sAux)? 0 : Integer.parseInt(sAux);
double dAmount = 0.;
sAux = p_o.getField(Customer.ATTRIB.loanAmt);
@@ -82,8 +86,22 @@
try {dAmount = s_NF.parse(sAux).doubleValue();}
catch (Exception e) {/* OK leave it at zero */ }
- return new WebCustomer(sName,sAddr,sEmployer,dSalary,iLoanDur,dAmount);
+ return new WebCustomer(sName,sAddr,sEmployer,dSalary,iLoanDur,dAmount,ssn);
}//_________________________________________
+
+ public static BanksQuoteRequest bankQuoteFromCustomer(Customer p_o) {
+ BanksQuoteRequest bankRequest = new BanksQuoteRequest();
+ CreditRating rating = p_o.getRating();
+ bankRequest.creditScore = rating.getScore();
+ bankRequest.loanAmount = Double.parseDouble(p_o.getField(Customer.ATTRIB.loanAmt));
+ bankRequest.loanTerm = Integer.parseInt(p_o.getField(Customer.ATTRIB.loanDur));
+ bankRequest.ssn = Integer.parseInt(p_o.getField(Customer.ATTRIB.ssn));
+
+ return bankRequest;
+
+
+
+ }
}
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/Customer.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/Customer.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/Customer.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -35,6 +35,7 @@
,salary
,loanDur
,loanAmt
+ ,ssn
};
private EnumMap<ATTRIB,String>m_oData;
@@ -83,6 +84,7 @@
setField(ATTRIB.salary ,s_NF.format(salary));
setField(ATTRIB.loanDur ,Integer.toString(loanDuration));
setField(ATTRIB.loanAmt ,s_NF.format(loanAMount));
+ setField(ATTRIB.ssn ,Integer.toString(loanDuration));
}//_________________________________________
public String setField(ATTRIB pKey, String pVal)
@@ -107,7 +109,14 @@
{ return (null!=person)? person : (person=new Person((String)null));
}
- public void setRating(CreditRating pO) { rating = pO; }
+ public void setRating(CreditRating pO) { rating = pO;
+ try {
+ System.out.println(this.toDTO().toXml());
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
public CreditRating getRating()
{ return (null!=rating)? rating : (rating=new CreditRating((String)null));
}
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/LoanBrokerConstants.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/LoanBrokerConstants.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/LoanBrokerConstants.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -22,12 +22,16 @@
package org.jboss.soa.esb.samples.loanbroker.domain;
+import org.jboss.soa.esb.helpers.AppServerContext;
+
public class LoanBrokerConstants {
public static final String SELECTOR_SERVICE = "sample_loanbroker_servicecode";
public static final String CREDIT_CHECK_REQUEST = "creditRequest";
public static final String CREDIT_CHECK_RESPONSE = "creditResponse";
public static final String CREDIT_CHECK_QUEUE = "queue/A";
public static final String BANK_JMS_REQUEST_QUEUE = "queue/C";
+ public static final String JNDI_URL = "localhost";
+ public static final String JNDI_TYPE = AppServerContext.SERVER_TYPE.jboss.toString();
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/LoanBrokerWS.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/LoanBrokerWS.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/LoanBrokerWS.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -98,7 +98,7 @@
public static void main(String args[]) throws Exception{
LoanBrokerWS ws = new LoanBrokerWS();
- WebCustomer customer = new WebCustomer("John Doe", "123 My St.", "JBoss", 50.00, 12, 100.00);
+ WebCustomer customer = new WebCustomer("John Doe", "123 My St.", "JBoss", 50.00, 12, 100.00,123456);
ws.RequestLoan(customer);
}
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/WebCustomer.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/WebCustomer.java 2006-08-09 19:00:36 UTC (rev 5654)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/WebCustomer.java 2006-08-09 19:33:33 UTC (rev 5655)
@@ -20,6 +20,10 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
+
+/*
+ * a simple web Customer to use in the web services call and not expose the internal esb Customer object
+ */
package org.jboss.soa.esb.samples.loanbroker.web;
public class WebCustomer
@@ -28,8 +32,9 @@
public double salary ,loanAmount;
public int loanDuration;
private int creditScore;
+ public int ssn;
- public WebCustomer(String name, String address, String employerName, double salary, int loanDuration, double loanAmount)
+ public WebCustomer(String name, String address, String employerName, double salary, int loanDuration, double loanAmount, int ssn)
{
this.name = name;
this.address = address;
@@ -38,19 +43,8 @@
this.loanAmount = loanAmount;
this.loanDuration = loanDuration;
this.creditScore = 0;
+ this.ssn = ssn;
- }//_________________________________________
-
- //Using .NET friendly method names for accessors
- public String GetName() { return this.name; }
- public void SetName(String val) { this.name=val; }
-
- public String GetAddress(){ return this.address; }
- public void SetAddress(String val){ this.address=val; }
-
-
-
-
-
+ }//_________________________________________
}
More information about the jboss-svn-commits
mailing list