Author: gavin.king(a)jboss.com
Date: 2008-11-06 11:32:45 -0500 (Thu, 06 Nov 2008)
New Revision: 264
Added:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Game.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Generator.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Random.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
Log:
Added Random example
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Game.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Game.java
(rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Game.java 2008-11-06
16:32:45 UTC (rev 264)
@@ -0,0 +1,12 @@
+package org.jboss.webbeans.examples;
+
+public class Game
+{
+ private @Random int number;
+
+ public int getNumber()
+ {
+ return number;
+ }
+
+}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Generator.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Generator.java
(rev 0)
+++
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Generator.java 2008-11-06
16:32:45 UTC (rev 264)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.examples;
+
+import javax.webbeans.ApplicationScoped;
+import javax.webbeans.Produces;
+
+@ApplicationScoped
+public class Generator {
+
+ private java.util.Random random = new java.util.Random( System.currentTimeMillis() );
+
+ @Produces @Random int next() {
+ return random.nextInt(100);
+ }
+
+}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Random.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Random.java
(rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Random.java 2008-11-06
16:32:45 UTC (rev 264)
@@ -0,0 +1,22 @@
+package org.jboss.webbeans.examples;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+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.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+public @interface Random
+{
+
+}
Added: 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
(rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-11-06
16:32:45 UTC (rev 264)
@@ -0,0 +1,27 @@
+package org.jboss.webbeans.examples;
+
+import java.lang.reflect.Method;
+
+import org.jboss.webbeans.bean.ProducerMethodBean;
+import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.test.AbstractTest;
+import org.jboss.webbeans.test.util.Util;
+import org.testng.annotations.Test;
+
+public class Tests extends AbstractTest
+{
+ @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);
+ Game game1 = manager.getInstanceByType(Game.class);
+ Game game2 = manager.getInstanceByType(Game.class);
+ assert game1.getNumber()!=game2.getNumber();
+ }
+}
Show replies by date