[jboss-svn-commits] JBL Code SVN: r5839 - in labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo: . banks/test/org/jboss/soa/esb/samples/loanbroker/banks conf java/resources java/src/org/jboss/soa/esb java/src/org/jboss/soa/esb/loanbroker java/src/org/jboss/soa/esb/samples/loanbroker/actions java/src/org/jboss/soa/esb/samples/loanbroker/domain java/src/org/jboss/soa/esb/samples/loanbroker/web
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 13 10:15:49 EDT 2006
Author: kurt.stam at jboss.com
Date: 2006-08-13 10:15:45 -0400 (Sun, 13 Aug 2006)
New Revision: 5839
Added:
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/loanbroker/
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/loanbroker/LoanBrokerException.java
Modified:
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/build.xml
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml.template
labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/resources/web.xml
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/ProcessEmail.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
Log:
externalizing loanbroker config
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteReplyTest.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -21,7 +21,7 @@
*/
package org.jboss.soa.esb.samples.loanbroker.banks;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
import java.math.BigDecimal;
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankQuoteRequestTest.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -21,7 +21,7 @@
*/
package org.jboss.soa.esb.samples.loanbroker.banks;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
import junit.framework.JUnit4TestAdapter;
import org.apache.log4j.Logger;
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/BankTest.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -21,7 +21,7 @@
*/
package org.jboss.soa.esb.samples.loanbroker.banks;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
import java.math.BigDecimal;
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/FlatFileProcessorTest.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -21,7 +21,8 @@
*/
package org.jboss.soa.esb.samples.loanbroker.banks;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import java.io.File;
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/banks/test/org/jboss/soa/esb/samples/loanbroker/banks/JmsProcessorTest.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -21,6 +21,8 @@
*/
package org.jboss.soa.esb.samples.loanbroker.banks;
+import static org.junit.Assert.assertTrue;
+
import java.util.Properties;
import javax.jms.Queue;
@@ -37,7 +39,7 @@
import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
import org.junit.Test;
-import static org.junit.Assert.*;
+
import com.thoughtworks.xstream.XStream;
public class JmsProcessorTest {
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/build.xml
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/build.xml 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/build.xml 2006-08-13 14:15:45 UTC (rev 5839)
@@ -70,9 +70,19 @@
<path id="org.jboss.esb.samples.loanbroker.javadocs.path">
<pathelement path="esb/classes"/>
</path>
+
+ <!-- configure the web.xml -->
+ <target name="org.jboss.esb.samples.loanbroker.webxml">
+ <copy file="java/resources/web.xml" overwrite="true"
+ todir="${org.jboss.esb.samples.loanbroker.dest}">
+ <filterset>
+ <filter token="LoanBrokerConfigFile" value="${basedir}/conf/LoanBrokerConfig.xml" />
+ </filterset>
+ </copy>
+ </target>
<!-- Jar targets -->
- <target name="org.jboss.esb.samples.loanbroker.jar" depends="org.jboss.esb.samples.loanbroker.compile">
+ <target name="org.jboss.esb.samples.loanbroker.jar" depends="org.jboss.esb.samples.loanbroker.compile, org.jboss.esb.samples.loanbroker.webxml" >
<echo message="Building jar file"/>
<delete file="${org.jboss.esb.samples.loanbroker.dest}/dist/lib/loanbroker.jar" />
<jar destfile="${org.jboss.esb.samples.loanbroker.dest}/dist/lib/loanbroker.jar"
@@ -81,7 +91,7 @@
/>
<delete file="${org.jboss.esb.samples.loanbroker.dest}/dist/lib/loanbroker.war" />
<war warfile="${org.jboss.esb.samples.loanbroker.dest}/dist/lib/loanbroker.war"
- webxml="java/resources/web.xml">
+ webxml="${org.jboss.esb.samples.loanbroker.dest}/web.xml">
<classes dir="build/classes/loanbroker" includes="**/web/**/*.class"/>
<lib dir="${org.jboss.soa.esb.samples.loanbroker.esb_home}/product/build/dist/lib">
<include name="*.jar"/>
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml 2006-08-13 14:15:45 UTC (rev 5839)
@@ -6,14 +6,23 @@
messageSelector="esbApp='esbApp'"
commandJndiName="queue/A"
parameterReloadSecs="60"
+ loanbrokerJndiUrl="localhost"
+ loanbrokerJndiType="jboss"
+ loanbrokerCreditQueue="queue/A"
+ loanbrokerJmsRequestQueue="queue/C"
+ loanbrokerRequestDir="/temp/bankInput"
+ loanbrokerEmailTemplatePath="/cygwin/home/kstam/dev1.6/loanbrokerdemo/template"
+ loanbrokerEmailTemplateFile="quotes"
>
<EmailProperties
- org.jboss.soa.esb.mail.smtp.host="your.smtpserver.com"
- org.jboss.soa.esb.mail.smtp.port="587"
- org.jboss.soa.esb.mail.smtp.from="me at me.com"
- org.jboss.soa.esb.mail.smtp.user="me"
- org.jboss.soa.esb.mail.smtp.password="mypass"
+ org.jboss.soa.esb.mail.smtp.host="mail.mailserver.net"
+ org.jboss.soa.esb.mail.smtp.port="25"
+ org.jboss.soa.esb.mail.smtp.from="jbossesb at jboss.com"
+ org.jboss.soa.esb.mail.smtp.user="kstam"
+ org.jboss.soa.esb.mail.smtp.password=""
org.jboss.soa.esb.mail.smtp.auth="false"
+ org.jboss.soa.esb.mail.template.path="/cygwin/home/kstam/dev1.6/loanbrokerdemo/template"
+ org.jboss.soa.esb.mail.template.name="quotes"
/>
@@ -48,7 +57,7 @@
>
<NotificationList type="OK">
<target class="NotifyFiles">
- <file URI="file:///C:/dev/jbossesb/product/docs/samples/trailblazer/bankloanbrokerdemo/notification_output_files/creditAgency.notifOK" append="true"/>
+ <file URI="file:///C:/Temp/demo/notification_output_files/creditAgency.notifOK" append="true"/>
</target>
</NotificationList>
</CreditAgencyJMSOutput>
@@ -64,7 +73,7 @@
>
<NotificationList type="OK">
<target class="NotifyFiles">
- <file URI="file:///C:/dev/jbossesb/product/docs/samples/trailblazer/bankloanbrokerdemo/notification_output_files/JMSBanksResponse.notifOK" append="true"/>
+ <file URI="file:///C:/Temp/demo/notification_output_files/JMSBanksResponse.notifOK" append="true"/>
</target>
</NotificationList>
</BanksJMSResponse>
@@ -74,28 +83,24 @@
actionClass="org.jboss.soa.esb.samples.loanbroker.actions.ProcessBanksFileResponse"
pollLatencySecs="5"
maxThreads="2"
- inputDirURI="file:///C:/temp/BankInput/outgoing"
+ inputDirURI="file:///C:/Temp/BankInput/outgoing"
inputSuffix=".dat"
workSuffix=".INPROC"
- errorDirURI="file:///C:/temp/outgoing/errorDir"
+ errorDirURI="file:///C:/Temp/outgoing/errorDir"
errorSuffix=".ERR"
- postDirURI="file:///C:/temp/outgoing/inputDoneDir"
+ postDirURI="file:///C:/Temp/outgoing/inputDoneDir"
postSuffix=".DONE"
postDelete="n"
>
<NotificationList type="OK">
<target class="NotifyFiles">
- <file URI="file:///C:/dev/jbossesb/product/docs/samples/trailblazer/bankloanbrokerdemo/notification_output_files/FileBanksResponse.notifOK" append="true"/>
- append="true"
- />
+ <file URI="file:///C:/Temp/demo/notification_output_files/FileBanksResponse.notifOK" append="true"/>
</target>
</NotificationList>
<NotificationList type="err">
<target class="NotifyFiles">
- <file URI="file:///C:/dev/jbossesb/product/docs/samples/trailblazer/bankloanbrokerdemo/notification_output_files/FileBanksResponse.notifErr" append="true"/>
- append="true"
- />
+ <file URI="file:///C:/Temp/demo/notification_output_files/FileBanksResponse.notifErr" append="true"/>
</target>
</NotificationList>
</BanksFilePoller>
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml.template
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml.template 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/conf/LoanBrokerConfig.xml.template 2006-08-13 14:15:45 UTC (rev 5839)
@@ -6,6 +6,13 @@
messageSelector="esbApp='esbApp'"
commandJndiName="queue/A"
parameterReloadSecs="60"
+ loanbrokerJndiUrl="localhost"
+ loanbrokerJndiType="jboss"
+ loanbrokerCreditQueue="queue/A"
+ loanbrokerJmsRequestQueue="queue/C"
+ loanbrokerRequestDir="/temp/bankInput"
+ loanbrokerEmailTemplatePath="/cygwin/home/kstam/dev1.6/loanbrokerdemo/template"
+ loanbrokerEmailTemplateFile="quotes"
>
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/resources/web.xml
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/resources/web.xml 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/resources/web.xml 2006-08-13 14:15:45 UTC (rev 5839)
@@ -8,4 +8,10 @@
<servlet-name>LoanBrokerWS</servlet-name>
<url-pattern>/LoanBrokerWS</url-pattern>
</servlet-mapping>
+<env-entry>
+ <description>LoanBroker Config File</description>
+ <env-entry-name>LoanBrokerConfigFile</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>@LoanBrokerConfigFile@</env-entry-value>
+ </env-entry>
</web-app>
Added: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/loanbroker/LoanBrokerException.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/loanbroker/LoanBrokerException.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/loanbroker/LoanBrokerException.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -0,0 +1,28 @@
+package org.jboss.soa.esb.loanbroker;
+
+import org.jboss.soa.esb.BaseException;
+
+/**
+ * {@link org.jboss.soa.esb.parameters.ParamRepository} access Exception.
+ */
+public class LoanBrokerException extends BaseException {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Public Constructor.
+ * @param message Exception message.
+ */
+ public LoanBrokerException(String message) {
+ super(message);
+ }
+
+ /**
+ * Public Constructor.
+ * @param message Exception message.
+ * @param cause Exception cause.
+ */
+ public LoanBrokerException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
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-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessCreditResponse.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -124,8 +124,9 @@
private void sendJMSToBank(long customerUID) throws Exception{
try {
Customer customer = (Customer) esbHandler.getObject(org.jboss.soa.esb.samples.loanbroker.domain.Customer.class, customerUID);
- Context ctx = AppServerContext.getServerContext(LoanBrokerConstants.JNDI_TYPE, LoanBrokerConstants.JNDI_URL);
- Queue queue = (Queue) ctx.lookup(LoanBrokerConstants.BANK_JMS_REQUEST_QUEUE);
+ Context ctx = AppServerContext.getServerContext(LoanBrokerConstants.getInstance().getJndiType(),
+ LoanBrokerConstants.getInstance().getJndiUrl());
+ Queue queue = (Queue) ctx.lookup(LoanBrokerConstants.getInstance().getBankJMSRequestQueue());
QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
QueueConnection cnn = factory.createQueueConnection();
QueueSession sess = cnn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
@@ -157,7 +158,7 @@
Customer customer = (Customer) esbHandler.getObject(org.jboss.soa.esb.samples.loanbroker.domain.Customer.class, customerUID);
File writableDir=null;
//check to see if we can write to destination first
- File tmpDir = new File(LoanBrokerConstants.BANK_REQUEST_DIR);
+ File tmpDir = new File(LoanBrokerConstants.getInstance().getBankRequestDir());
if (tmpDir.exists() && tmpDir.canWrite()) {
writableDir=tmpDir;
} else {
Modified: labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessEmail.java
===================================================================
--- labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessEmail.java 2006-08-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/actions/ProcessEmail.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -23,12 +23,12 @@
package org.jboss.soa.esb.samples.loanbroker.actions;
-import java.io.File;
-
-import org.antlr.stringtemplate.*;
+import org.antlr.stringtemplate.StringTemplate;
+import org.antlr.stringtemplate.StringTemplateGroup;
import org.apache.log4j.Logger;
import org.jboss.soa.esb.common.bizclasses.Person;
import org.jboss.soa.esb.helpers.Email;
+import org.jboss.soa.esb.loanbroker.LoanBrokerException;
import org.jboss.soa.esb.samples.loanbroker.domain.Customer;
import org.jboss.soa.esb.samples.loanbroker.domain.LoanBrokerConstants;
import org.jboss.soa.esb.samples.loanbroker.domain.LoanOffer;
@@ -63,9 +63,11 @@
}
}
- private String fillTemplate() {
- StringTemplateGroup group = new StringTemplateGroup("loan",LoanBrokerConstants.EMAIL_TEMPLATE_PATH);
- StringTemplate email = group.getInstanceOf(LoanBrokerConstants.EMAIL_TEMPLATE_FILE);
+ private String fillTemplate() throws LoanBrokerException{
+ StringTemplateGroup group = new StringTemplateGroup("loan",
+ LoanBrokerConstants.getInstance().getEmailTemplatePath());
+ StringTemplate email = group.getInstanceOf(
+ LoanBrokerConstants.getInstance().getEmailTemplateFile());
email.setAttribute("uid", customer.getUid());
email.setAttribute("name", customer.getPerson().getField(Person.ATTRIB.fmlyN));
email.setAttribute("address", customer.getPerson().getAddressRole("loan"));
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-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/domain/LoanBrokerConstants.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -22,18 +22,176 @@
package org.jboss.soa.esb.samples.loanbroker.domain;
-import org.jboss.soa.esb.helpers.AppServerContext;
+import java.io.File;
+import java.io.IOException;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Priority;
+import org.jboss.soa.esb.helpers.DomElement;
+import org.jboss.soa.esb.loanbroker.LoanBrokerException;
+import org.jboss.soa.esb.parameters.ParamRepository;
+import org.jboss.soa.esb.parameters.ParamRepositoryException;
+import org.jboss.soa.esb.parameters.ParamRepositoryFactory;
+import org.xml.sax.SAXException;
+
+
public class LoanBrokerConstants {
+ private static Logger logger = Logger.getLogger(LoanBrokerConstants.class);
+ private static final String CONFIG_FILE = "conf/LoanBrokerConfig.xml";
+ private static final String CONFIG_FILE_NAME = "LoanBrokerConfigFile";
+ private static LoanBrokerConstants loanBrokerConstants;
+
+ /** The name of the service. In case the loan broker sample service */
public static final String SELECTOR_SERVICE = "sample_loanbroker_servicecode";
+ /** The name of the request for credit */
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();
- public static final int MAX_LOAN_OFFERS = 2;
- public static final String BANK_REQUEST_DIR = "/home/tfennelly/TrailBlazer";
- public static final String EMAIL_TEMPLATE_PATH = "/home/tfennelly/JBoss/ESB/product/docs/samples/trailblazer/bankloanbrokerdemo/template";
- public static final String EMAIL_TEMPLATE_FILE = "quotes";
+ // public static final String CREDIT_CHECK_RESPONSE = "creditResponse"; not used?
+ private static final String JNDI_URL = "loanbrokerJndiUrl";
+ private static final String JNDI_TYPE = "loanbrokerJndiType";
+ private static final String CREDIT_CHECK_QUEUE = "loanbrokerCreditQueue";
+ public static final String BANK_JMS_REQUEST_QUEUE = "loanbrokerJmsRequestQueue";
+ //public static final int MAX_LOAN_OFFERS = 2; Not used?
+ public static final String BANK_REQUEST_DIR = "loanbrokerRequestDir";
+ public static final String EMAIL_TEMPLATE_PATH = "loanbrokerEmailTemplatePath";
+ public static final String EMAIL_TEMPLATE_FILE = "loanbrokerEmailTemplateFile";
+
+ private String jndiUrl;
+ private String jndiType;
+ private String creditCheckQueue;
+ private String bankJMSRequestQueue;
+ private String bankRequestDir;
+ private String emailTemplatePath;
+ private String emailTemplateFile;
+
+ private LoanBrokerConstants() throws LoanBrokerException{
+ super();
+ try {
+ File file = new File(CONFIG_FILE);
+ if (file.exists()) {
+ readingConfiguration(CONFIG_FILE);
+ } else {
+ Context context = new InitialContext();
+ Context envContext = (Context) context.lookup("java:comp/env");
+ String loanBrokerConfigFile = (String) envContext
+ .lookup(CONFIG_FILE_NAME);
+ logger.log(Priority.INFO, "Loan broker config file: "
+ + loanBrokerConfigFile);
+ readingConfiguration(loanBrokerConfigFile);
+ }
+ } catch (NamingException ne) {
+ logger.log(Priority.FATAL,"Could not find the LoanBroker configuration file name:"
+ + CONFIG_FILE, ne);
+ throw new LoanBrokerException(ne.getMessage(), ne);
+ } catch (IOException ioe) {
+ logger.log(Priority.FATAL,"Could not open the Loan Broker Config file:" +
+ "+ CONFIG_FILE." + " for reading", ioe);
+ throw new LoanBrokerException(ioe.getMessage(), ioe);
+ } catch (SAXException se) {
+ logger.log(Priority.FATAL,"Could not parse XML of the Loan Broker Config file named:" +
+ CONFIG_FILE, se);
+ throw new LoanBrokerException(se.getMessage(), se);
+ } catch (ParamRepositoryException pre) {
+ logger.log(Priority.FATAL,"Could not extract parameters from the Loan Broker " +
+ " Config XML, file name: " + CONFIG_FILE, pre);
+ throw new LoanBrokerException(pre.getMessage(), pre);
+ }
+ }
+
+ /**
+ * Reads the Loan Broker configuration. It sets the values in the LoanBrokerConstants
+ * class.
+ *
+ * @param loanBrokerConfigFile - Filename, including absolute path, of the config file.
+ */
+ private void readingConfiguration(String loanBrokerConfigFile)
+ throws ParamRepositoryException, IOException, SAXException
+ {
+ //Reading the config file
+ ParamRepository parmRepository = ParamRepositoryFactory.getInstance();
+ String sXml = parmRepository.get(loanBrokerConfigFile);
+ DomElement parameters = DomElement.fromXml(sXml);
+ //Setting the parameter
+ setJndiUrl(parameters.getAttr(LoanBrokerConstants.JNDI_URL));
+ logger.log(Priority.INFO, LoanBrokerConstants.JNDI_URL + "=" + getJndiUrl());
+ setJndiType(parameters.getAttr(LoanBrokerConstants.JNDI_TYPE));
+ logger.log(Priority.INFO, LoanBrokerConstants.JNDI_TYPE + "=" + getJndiType());
+ setCreditCheckQueue(parameters.getAttr(LoanBrokerConstants.CREDIT_CHECK_QUEUE));
+ logger.log(Priority.INFO, LoanBrokerConstants.CREDIT_CHECK_QUEUE + "=" + getCreditCheckQueue());
+ setBankJMSRequestQueue(parameters.getAttr(LoanBrokerConstants.BANK_JMS_REQUEST_QUEUE));
+ logger.log(Priority.INFO, LoanBrokerConstants.BANK_JMS_REQUEST_QUEUE + "=" + getBankJMSRequestQueue());
+ setBankRequestDir(parameters.getAttr(LoanBrokerConstants.BANK_REQUEST_DIR));
+ logger.log(Priority.INFO, LoanBrokerConstants.BANK_REQUEST_DIR + "=" + getBankRequestDir());
+ setEmailTemplatePath(parameters.getAttr(LoanBrokerConstants.EMAIL_TEMPLATE_PATH));
+ logger.log(Priority.INFO, LoanBrokerConstants.EMAIL_TEMPLATE_PATH + "=" + getEmailTemplatePath());
+ setEmailTemplateFile(parameters.getAttr(LoanBrokerConstants.EMAIL_TEMPLATE_FILE));
+ logger.log(Priority.INFO, LoanBrokerConstants.EMAIL_TEMPLATE_FILE + "=" + getEmailTemplateFile());
+ }
+
+ public String getJndiType() {
+ return jndiType;
+ }
+
+ public void setJndiType(String jndiType) {
+ this.jndiType = jndiType;
+ }
+
+ public String getJndiUrl() {
+ return jndiUrl;
+ }
+
+ public void setJndiUrl(String jndiUrl) {
+ this.jndiUrl = jndiUrl;
+ }
+
+ public static LoanBrokerConstants getInstance() throws LoanBrokerException{
+ if (loanBrokerConstants==null) {
+ loanBrokerConstants=new LoanBrokerConstants();
+ }
+ return loanBrokerConstants;
+ }
+
+ public String getCreditCheckQueue() {
+ return creditCheckQueue;
+ }
+
+ public void setCreditCheckQueue(String creditCheckQueue) {
+ this.creditCheckQueue = creditCheckQueue;
+ }
+
+ public String getBankJMSRequestQueue() {
+ return bankJMSRequestQueue;
+ }
+
+ public void setBankJMSRequestQueue(String bankJMSRequestQueue) {
+ this.bankJMSRequestQueue = bankJMSRequestQueue;
+ }
+
+ public String getBankRequestDir() {
+ return bankRequestDir;
+ }
+
+ public void setBankRequestDir(String bankRequestDir) {
+ this.bankRequestDir = bankRequestDir;
+ }
+
+ public String getEmailTemplateFile() {
+ return emailTemplateFile;
+ }
+
+ public void setEmailTemplateFile(String emailTemplateFile) {
+ this.emailTemplateFile = emailTemplateFile;
+ }
+
+ public String getEmailTemplatePath() {
+ return emailTemplatePath;
+ }
+
+ public void setEmailTemplatePath(String emailTemplatePath) {
+ this.emailTemplatePath = emailTemplatePath;
+ }
+
}
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-13 13:29:21 UTC (rev 5838)
+++ labs/jbossesb/trunk/product/docs/samples/trailblazer/bankloanbrokerdemo/java/src/org/jboss/soa/esb/samples/loanbroker/web/LoanBrokerWS.java 2006-08-13 14:15:45 UTC (rev 5839)
@@ -1,29 +1,27 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*
-*/
-
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ */
package org.jboss.soa.esb.samples.loanbroker.web;
-
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
@@ -43,61 +41,74 @@
import org.jboss.soa.esb.services.IpersistHandler;
import org.jboss.soa.esb.services.PersistHandlerFactory;
-//Change targetNameSpace to your deployment info
- at WebService(name = "LoanBrokerWS", targetNamespace="http://localhost/loanbroker")
+/**
+ * The Loan broker web service, which will handle a loan request. First a credit
+ * score is obtained from a credit agency. Then 2 banks are send request for
+ * an interest rate quote.
+ */
+ at WebService(name = "LoanBrokerWS", targetNamespace = "http://localhost/loanbroker")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class LoanBrokerWS
-{
- private static final String JNDI_URL = "localhost";
- private static final String JNDI_TYPE = AppServerContext.SERVER_TYPE.jboss.toString();
+{
+ @WebMethod
+ // method name is .NET friendly
+ public void RequestLoan(WebCustomer customer) {
+ try {
- at WebMethod
-//method name is .NET friendly
-public void RequestLoan(WebCustomer customer) {
- try {
-
- //get handle to the JBossESB Event object store
- IpersistHandler esbHandler = PersistHandlerFactory.getPersistHandler("remote",
- SystemProperties.getJndiServerType(),
- SystemProperties.getJndiServerURL());
+ // 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));
-
- //create the CreditCheckRequest object expected by the CreditAgency service
- //we are not going to persist this request to the CreditAgency, but you might want to...
- CreditCheckRequest creditRequest = new CreditCheckRequest(customer.salary,
- customer.loanDuration,
- lUid);
-
- //Send the CreditRequest to the queue which the JMSListener process is listening to
- Context ctx = AppServerContext.getServerContext(JNDI_TYPE, JNDI_URL);
- Queue queue = (Queue) ctx.lookup(LoanBrokerConstants.CREDIT_CHECK_QUEUE);
- QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
- QueueConnection cnn = factory.createQueueConnection();
- QueueSession sess = cnn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
- ObjectMessage msg = sess.createObjectMessage(creditRequest);
- MessageProducer sender = sess.createSender(queue);
- sender = sess.createSender(queue);
- msg.setStringProperty(LoanBrokerConstants.SELECTOR_SERVICE, LoanBrokerConstants.CREDIT_CHECK_REQUEST);
- sender.send(msg);
-
-
- //only for test here
- //msg.setStringProperty(LoanBrokerConstants.SELECTOR_SERVICE, LoanBrokerConstants.CREDIT_CHECK_RESPONSE);
- //sender.send(msg);
-
- } catch (Exception e) {
- e.printStackTrace ();
- }
-
-}
+ // convert the WebCustomer to an ESB Customer capable of being
+ // persisted to the event store
+ long lUid = esbHandler.addObject(CustomerAdapter
+ .esbFromWeb(customer));
-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,123456,"daniel.brum at jboss.com");
- ws.RequestLoan(customer);
+ // create the CreditCheckRequest object expected by the CreditAgency
+ // service
+ // we are not going to persist this request to the CreditAgency, but
+ // you might want to...
+ CreditCheckRequest creditRequest = new CreditCheckRequest(
+ customer.salary, customer.loanDuration, lUid);
+
+ // Send the CreditRequest to the queue which the JMSListener process
+ // is listening to
+ Context ctx = AppServerContext
+ .getServerContext(LoanBrokerConstants.getInstance().getJndiType()
+ , LoanBrokerConstants.getInstance().getJndiUrl());
+ Queue queue = (Queue) ctx
+ .lookup(LoanBrokerConstants.getInstance().getCreditCheckQueue());
+ QueueConnectionFactory factory = (QueueConnectionFactory) ctx
+ .lookup("ConnectionFactory");
+ QueueConnection cnn = factory.createQueueConnection();
+ QueueSession sess = cnn.createQueueSession(false,
+ QueueSession.AUTO_ACKNOWLEDGE);
+ ObjectMessage msg = sess.createObjectMessage(creditRequest);
+ MessageProducer sender = sess.createSender(queue);
+ sender = sess.createSender(queue);
+ msg.setStringProperty(LoanBrokerConstants.SELECTOR_SERVICE,
+ LoanBrokerConstants.CREDIT_CHECK_REQUEST);
+ sender.send(msg);
+
+ // only for test here
+ // msg.setStringProperty(LoanBrokerConstants.SELECTOR_SERVICE,
+ // LoanBrokerConstants.CREDIT_CHECK_RESPONSE);
+ // sender.send(msg);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
}
+ 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, 123456, "john at cashisking.com");
+ ws.RequestLoan(customer);
+ }
+
}
More information about the jboss-svn-commits
mailing list