[webbeans-commits] Webbeans SVN: r270 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Nov 6 15:01:03 EST 2008


Author: gavin.king at jboss.com
Date: 2008-11-06 15:01:03 -0500 (Thu, 06 Nov 2008)
New Revision: 270

Added:
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Mock.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/MockSentenceTranslator.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceParser.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceTranslator.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/TextTranslator.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Translator.java
Modified:
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
Log:
another example

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Mock.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Mock.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Mock.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -0,0 +1,20 @@
+package org.jboss.webbeans.examples;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.webbeans.DeploymentType;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+public @interface Mock
+{
+
+}

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/MockSentenceTranslator.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/MockSentenceTranslator.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/MockSentenceTranslator.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.examples;
+
+ at Mock
+public class MockSentenceTranslator implements Translator { 
+   public String translate(String sentence) { 
+      return "Lorem ipsum dolor sit amet"; 
+   }
+} 

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceParser.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceParser.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceParser.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.examples;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class SentenceParser { 
+   public List<String> parse(String text) {
+      return Arrays.asList( text.split("[.?]") );
+   } 
+} 

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceTranslator.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceTranslator.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/SentenceTranslator.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.examples;
+
+import javax.ejb.Stateless;
+
+ at Stateless
+public class SentenceTranslator implements Translator { 
+public String translate(String sentence) { 
+   throw new UnsupportedOperationException();
+} 
+}
\ No newline at end of file

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java	2008-11-06 17:57:49 UTC (rev 269)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -12,14 +12,8 @@
 {
    @Test
    public void testGameGenerator() throws Exception {
-     SimpleBean<Game> gameBean = Util.createSimpleWebBean(Game.class, manager);
-     SimpleBean<Generator> generatorBean = Util.createSimpleWebBean(Generator.class, manager);
-     Method method = Generator.class.getDeclaredMethod("next");
-     method.setAccessible(true);
-     ProducerMethodBean<Integer> nextBean = Util.createProducerMethodBean(int.class, method, manager, generatorBean);
-     manager.addBean(gameBean);
-     manager.addBean(generatorBean);
-     manager.addBean(nextBean);
+     setupGameGenerator();
+     
      Game game1 = manager.getInstanceByType(Game.class);
      Game game2 = manager.getInstanceByType(Game.class);
      assert game1!=game2;
@@ -29,4 +23,57 @@
      assert gen1.getRandom()!=null;
      assert gen1.getRandom()==gen2.getRandom();
    }
+
+   private void setupGameGenerator() throws NoSuchMethodException
+   {
+      SimpleBean<Game> gameBean = Util.createSimpleWebBean(Game.class, manager);
+        SimpleBean<Generator> generatorBean = Util.createSimpleWebBean(Generator.class, manager);
+        Method method = Generator.class.getDeclaredMethod("next");
+        method.setAccessible(true);
+        ProducerMethodBean<Integer> nextBean = Util.createProducerMethodBean(int.class, method, manager, generatorBean);
+        
+        manager.addBean(gameBean);
+        manager.addBean(generatorBean);
+        manager.addBean(nextBean);
+   }
+   
+   @Test
+   public void testMockSentenceTranslator() throws Exception {
+      setupTextTranslator();
+      
+      manager.getEnabledDeploymentTypes().add(Mock.class);
+      
+      TextTranslator tt2 = manager.getInstanceByType(TextTranslator.class);
+      assert "Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.".equals( tt2.translate("Hello world. How's tricks?") );
+   }
+
+   @Test
+   public void testSentenceTranslator() throws Exception {
+      setupTextTranslator();
+      
+      TextTranslator tt1 = manager.getInstanceByType(TextTranslator.class);
+      try {
+         tt1.translate("hello world");
+         assert false;
+      }
+      catch (UnsupportedOperationException uoe)
+      {
+         //expected
+      }
+      
+   }
+   
+   private void setupTextTranslator()
+   {
+      SimpleBean<SentenceParser> spBean = Util.createSimpleWebBean(SentenceParser.class, manager);
+      SimpleBean<SentenceTranslator> stBean = Util.createSimpleWebBean(SentenceTranslator.class, manager);
+      SimpleBean<MockSentenceTranslator> mstBean = Util.createSimpleWebBean(MockSentenceTranslator.class, manager);
+      SimpleBean<TextTranslator> ttBean = Util.createSimpleWebBean(TextTranslator.class, manager);
+      
+      manager.addBean(spBean);
+      manager.addBean(stBean);
+      manager.addBean(mstBean);
+      manager.addBean(ttBean);
+   }
+   
 }

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/TextTranslator.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/TextTranslator.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/TextTranslator.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.examples;
+
+import javax.webbeans.Initializer;
+
+public class TextTranslator { 
+   private SentenceParser sentenceParser; 
+   private Translator sentenceTranslator; 
+   
+   @Initializer
+   TextTranslator(SentenceParser sentenceParser, Translator sentenceTranslator) { 
+      this.sentenceParser = sentenceParser; 
+      this.sentenceTranslator = sentenceTranslator; 
+   }
+   
+   public String translate(String text) { 
+      StringBuilder sb = new StringBuilder(); 
+      for (String sentence: sentenceParser.parse(text)) { 
+         sb.append(sentenceTranslator.translate(sentence)).append(". "); 
+      } 
+      return sb.toString().trim(); 
+   }
+   
+}
\ No newline at end of file

Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Translator.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Translator.java	                        (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Translator.java	2008-11-06 20:01:03 UTC (rev 270)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.examples;
+
+import javax.ejb.Local;
+
+ at Local 
+public interface Translator { 
+   public String translate(String sentence); 
+}




More information about the weld-commits mailing list