[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