[jboss-svn-commits] JBL Code SVN: r5752 - in labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb: . objpersist
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 11 08:59:14 EDT 2006
Author: tfennelly
Date: 2006-08-11 08:59:12 -0400 (Fri, 11 Aug 2006)
New Revision: 5752
Added:
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/ObjStoreTest.java
labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/TestPersonAddrPhone.java
Log:
added a persistence test
Added: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java 2006-08-11 12:52:19 UTC (rev 5751)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/DrainQueuesAndTopics.java 2006-08-11 12:59:12 UTC (rev 5752)
@@ -0,0 +1,92 @@
+package org.jboss.soa.esb.objpersist;
+
+import javax.jms.*;
+import javax.naming.*;
+
+import org.jboss.soa.esb.helpers.*;
+
+public class DrainQueuesAndTopics
+{
+ private static final int MAX_TIMES_NOMSG = 10;
+ private static final String JNDI_URL = "localhost";
+ private static final String JNDI_TYPE
+ = AppServerContext.SERVER_TYPE.jboss.toString();
+
+ private Context m_oCtx;
+
+ public DrainQueuesAndTopics() throws Exception
+ {
+ purgeQueueTopic("queue/A");
+ purgeQueueTopic("queue/B");
+ purgeQueueTopic("topic/testTopic");
+ } //__________________________________
+
+ public int purgeQueueTopic(String p_sName) throws Exception
+ {
+ int iRet = 0;
+ m_oCtx = AppServerContext.getServerContext(JNDI_TYPE,JNDI_URL);
+
+ System.out.println(p_sName);
+ MessageConsumer oCns = null;
+ switch(p_sName.toLowerCase().charAt(0))
+ { case 't' : oCns = getTopic(p_sName); break;
+ case 'q' : oCns = getQueue(p_sName); break;
+ }
+ if (null==oCns)
+ return 0;
+
+ for (int iNoRcv=0; iNoRcv < MAX_TIMES_NOMSG; )
+ { Message oMsg = oCns.receive(200);
+ if (null==oMsg)
+ { iNoRcv++;
+ System.out.print(".");
+ continue;
+ }
+ iRet++;
+ dumpMessage(oMsg);
+ iNoRcv = 0;
+ }
+ System.out.println();
+ return iRet;
+ } //__________________________________
+
+ void dumpMessage(Message pM)
+ {
+ System.out.println(pM);
+ } //__________________________________
+
+ QueueReceiver getQueue(String p_sJndi) throws Exception
+ {
+ QueueConnection oQconn = null;
+ QueueSession oQsess = null;
+ QueueConnectionFactory qcf = (QueueConnectionFactory) m_oCtx
+ .lookup("ConnectionFactory");
+
+ oQconn = qcf.createQueueConnection();
+ oQsess = oQconn.createQueueSession(false
+ ,QueueSession.AUTO_ACKNOWLEDGE);
+ javax.jms.Queue oQueue
+ = (javax.jms.Queue) m_oCtx.lookup(p_sJndi);
+
+ QueueReceiver oRcv = oQsess.createReceiver(oQueue);
+ oQconn.start();
+ return oRcv;
+ } //__________________________________
+
+ TopicSubscriber getTopic(String p_sJndi) throws Exception
+ {
+ TopicConnection oTconn = null;
+ TopicSession oTsess = null;
+ TopicConnectionFactory qcf = (TopicConnectionFactory) m_oCtx
+ .lookup("ConnectionFactory");
+
+ oTconn = qcf.createTopicConnection();
+ oTsess = oTconn.createTopicSession(false
+ ,QueueSession.AUTO_ACKNOWLEDGE);
+ Topic oT = (Topic) m_oCtx.lookup(p_sJndi);
+
+ TopicSubscriber oRcv = oTsess.createSubscriber(oT);
+ oTconn.start();
+ return oRcv;
+ } //__________________________________
+} //____________________________________________________________________________
Added: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/ObjStoreTest.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/ObjStoreTest.java 2006-08-11 12:52:19 UTC (rev 5751)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/ObjStoreTest.java 2006-08-11 12:59:12 UTC (rev 5752)
@@ -0,0 +1,49 @@
+package org.jboss.soa.esb.objpersist;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.jboss.soa.esb.common.SystemProperties;
+import org.jboss.soa.esb.common.bizclasses.*;
+import org.jboss.soa.esb.services.*;
+import org.jboss.soa.esb.util.FileUtils;
+
+// DON'T FORGET !!
+// The Rosetta Application server has to be up and running
+// (set JNDI_SERVER appropriately)
+
+public class ObjStoreTest extends TestCase {
+
+ private IpersistHandler m_oH;
+
+ protected void setUp() throws Exception {
+ // get a handle to your business delegate
+ m_oH = PersistHandlerFactory.getPersistHandler("remote",
+ SystemProperties.getJndiServerType(), SystemProperties
+ .getJndiServerURL());
+ }
+
+ protected void tearDown() throws Exception {
+ }
+
+ public void test() throws Exception {
+ // set up a Person (see TestPersonAddrPhone.class)
+ Person oPrs = TestPersonAddrPhone.getPerson();
+ // timestamp, uid and snap Uid are added just to make it easier
+ // to compare output text
+ oPrs.setStamp(System.currentTimeMillis());
+ long lUid = m_oH.addObject(oPrs);
+ oPrs.setUid(lUid);
+ oPrs.setSnap(lUid);
+
+ // retrieve it from the Object Store
+ Person oP2 = (Person) m_oH.getObject(Person.class, lUid);
+
+ // REVIEW: The stamps on both these are different! Is this expected behaviour??
+ oPrs.setStamp(0);
+ oP2.setStamp(0);
+
+ assertEquals(oPrs.toDTO().toXml(), oP2.toDTO().toXml());
+ }
+}
Added: labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/TestPersonAddrPhone.java
===================================================================
--- labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/TestPersonAddrPhone.java 2006-08-11 12:52:19 UTC (rev 5751)
+++ labs/jbossesb/trunk/qa/junit/src/org/jboss/soa/esb/objpersist/TestPersonAddrPhone.java 2006-08-11 12:59:12 UTC (rev 5752)
@@ -0,0 +1,75 @@
+package org.jboss.soa.esb.objpersist;
+
+
+import org.jboss.soa.esb.util.*;
+import org.jboss.soa.esb.common.bizclasses.*;
+
+public class TestPersonAddrPhone
+{
+ public TestPersonAddrPhone() throws Exception
+ { performTest(); }
+
+ static void performTest() throws Exception
+ {
+ BaseBusinessObject o = getPerson();
+ o.setPackage();
+
+ BobjStdDTO oDto = o.toDTO();
+ System.out.println(oDto.toXml());
+
+ o = BaseBusinessObject.getFromDTO(oDto);
+ System.out.println(o.toDTO().toXml());
+ Thread.sleep(500);
+
+ o.toDTO().Dump("Example dump of "+o.getClass().getSimpleName());
+
+ } //________________________________
+
+ static Person getPerson() throws Exception
+ { Person oP = new Person((String)null);
+ oP.setField(Person.ATTRIB.pfx,"Mr.");
+ oP.setField(Person.ATTRIB.fmlyN,"Brum");
+ oP.setField(Person.ATTRIB.givN,"Daniel");
+ oP.setField(Person.ATTRIB.sfx,"the 1st.");
+
+ oP.addAddress(getAddress());
+
+ oP.addEmail(OneValue.getStringValue("myaddr at gmail.com","home"));
+ oP.addEmail(OneValue.getStringValue("john.smith at jboss.com","work"));
+
+ oP.addPhone(newPhone("basement","1","416","555-1212",null));
+ oP.addPhone(newPhone("cell",null,"416","666-4444",null));
+
+ return oP;
+ } //________________________________
+
+ static Address getAddress() throws Exception
+ {
+ Address oP = new Address((String)null);
+ oP.setField(Address.ATTRIB.strNum,"50");
+ oP.setField(Address.ATTRIB.strLine1,"Balcarce");
+ oP.setField(Address.ATTRIB.twnCty1,"San Isidro");
+ oP.setField(Address.ATTRIB.postalZip,"1642");
+ oP.setField(Address.ATTRIB.provSt,"Buenos Aires");
+ oP.setField(Address.ATTRIB.cntry,"Argentina");
+
+ oP.addPhone(newPhone("torIP",null,"416","555-1212",null));
+ oP.addPhone(newPhone("home","54","11","4555-1111","7"));
+
+ return oP;
+ } //________________________________
+
+ public static Telephone newPhone(String p_sRole,
+ String p_sCtry, String p_sCity, String p_sNum, String p_sExt)
+ {
+ Telephone oP = new Telephone((String)null);
+ oP.setRole(p_sRole);
+ oP.setField(Telephone.ATTRIB.cntry,p_sCtry);
+ oP.setField(Telephone.ATTRIB.city,p_sCity);
+ oP.setField(Telephone.ATTRIB.num,p_sNum);
+ oP.setField(Telephone.ATTRIB.ext,p_sExt);
+
+ return oP;
+ }
+
+} //____________________________________________________________________________
More information about the jboss-svn-commits
mailing list