Author: dblevins
Date: Sun Apr 10 17:53:37 2011
New Revision: 1090854

URL: http://svn.apache.org/viewvc?rev=1090854&view=rev
Log:
OPENEJB-1519: Update existing examples to EJB 3.1

Removed:
    
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/MessagingClientBean.java
    
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/MessagingClientLocal.java
    openejb/trunk/openejb3/examples/simple-mdb/src/main/resources/
Modified:
    
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
    
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java

Modified: 
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java?rev=1090854&r1=1090853&r2=1090854&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
 (original)
+++ 
openejb/trunk/openejb3/examples/simple-mdb/src/main/java/org/superbiz/mdb/ChatBean.java
 Sun Apr 10 17:53:37 2011
@@ -41,15 +41,22 @@ public class ChatBean implements Message
 
     public void onMessage(Message message) {
         try {
-            TextMessage textMessage = (TextMessage) message;
-            String question = textMessage.getText();
 
-            if (question.equals("Hello World!")) {
+            final TextMessage textMessage = (TextMessage) message;
+            final String question = textMessage.getText();
+
+            if ("Hello World!".equals(question)) {
+
                 respond("Hello, Test Case!");
-            } else if (question.equals("How are you?")) {
+
+            } else if ("How are you?".equals(question)) {
+
                 respond("I'm doing well.");
-            } else if (question.equals("Still spinning?")) {
+
+            } else if ("Still spinning?".equals(question)) {
+
                 respond("Once every day, as usual.");
+                
             }
         } catch (JMSException e) {
             throw new IllegalStateException(e);

Modified: 
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java?rev=1090854&r1=1090853&r2=1090854&view=diff
==============================================================================
--- 
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
 (original)
+++ 
openejb/trunk/openejb3/examples/simple-mdb/src/test/java/org/superbiz/mdb/ChatBeanTest.java
 Sun Apr 10 17:53:37 2011
@@ -19,30 +19,70 @@ package org.superbiz.mdb;
 
 import junit.framework.TestCase;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
+import javax.annotation.Resource;
+import javax.ejb.embeddable.EJBContainer;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
 
 public class ChatBeanTest extends TestCase {
 
+    @Resource
+    private ConnectionFactory connectionFactory;
+
+    @Resource(name = "ChatBean")
+    private Queue questionQueue;
+
+    @Resource(name = "AnswerQueue")
+    private Queue answerQueue;
+
     public void test() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.openejb.client.LocalInitialContextFactory");
-        InitialContext context = new InitialContext(p);
+        EJBContainer.createEJBContainer().getContext().bind("inject", this);
+
+
+        final Connection connection = connectionFactory.createConnection();
+
+        connection.start();
+
+        final Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+
+        final MessageProducer questions = 
session.createProducer(questionQueue);
+
+        final MessageConsumer answers = session.createConsumer(answerQueue);
+
 
-        MessagingClientLocal bean = (MessagingClientLocal) 
context.lookup("MessagingClientBeanLocal");
+        sendText("Hello World!", questions, session);
 
-        bean.sendMessage("Hello World!");
+        assertEquals("Hello, Test Case!", receiveText(answers));
 
-        assertEquals(bean.receiveMessage(), "Hello, Test Case!");
 
-        bean.sendMessage("How are you?");
+        sendText("How are you?", questions, session);
 
-        assertEquals(bean.receiveMessage(), "I'm doing well.");
+        assertEquals("I'm doing well.", receiveText(answers));
 
-        bean.sendMessage("Still spinning?");
 
-        assertEquals(bean.receiveMessage(), "Once every day, as usual.");
+        sendText("Still spinning?", questions, session);
+
+        assertEquals("Once every day, as usual.", receiveText(answers));
+
+    }
+
+    private void sendText(String text, MessageProducer questions, Session 
session) throws JMSException {
+
+        questions.send(session.createTextMessage(text));
+
     }
+
+    private String receiveText(MessageConsumer answers) throws JMSException {
+
+        return ((TextMessage) answers.receive(1000)).getText();
+        
+    }
+
 }
 //END SNIPPET: code


Reply via email to