[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