Author: pete.muir(a)jboss.org
Date: 2009-03-27 15:25:32 -0400 (Fri, 27 Mar 2009)
New Revision: 2237
Added:
examples/trunk/tomcat/
examples/trunk/tomcat/WebContent/
examples/trunk/tomcat/WebContent/WEB-INF/
examples/trunk/tomcat/WebContent/WEB-INF/beans.xml
examples/trunk/tomcat/WebContent/WEB-INF/faces-config.xml
examples/trunk/tomcat/WebContent/WEB-INF/web.xml
examples/trunk/tomcat/WebContent/home.xhtml
examples/trunk/tomcat/WebContent/index.html
examples/trunk/tomcat/WebContent/style/
examples/trunk/tomcat/WebContent/template.xhtml
examples/trunk/tomcat/build.xml
examples/trunk/tomcat/pom.xml
examples/trunk/tomcat/src/
examples/trunk/tomcat/src/main/
examples/trunk/tomcat/src/main/java/
examples/trunk/tomcat/src/main/java/org/
examples/trunk/tomcat/src/main/java/org/jboss/
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Generator.java
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/MaxNumber.java
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Random.java
examples/trunk/tomcat/src/main/resources/
examples/trunk/tomcat/src/main/resources/META-INF/
Log:
copy numberguess examaple for tomcat
Added: examples/trunk/tomcat/WebContent/WEB-INF/beans.xml
===================================================================
Added: examples/trunk/tomcat/WebContent/WEB-INF/faces-config.xml
===================================================================
--- examples/trunk/tomcat/WebContent/WEB-INF/faces-config.xml (rev
0)
+++ examples/trunk/tomcat/WebContent/WEB-INF/faces-config.xml 2009-03-27 19:25:32 UTC (rev
2237)
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<faces-config version="1.2"
+
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
+
+ <application>
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ </application>
+
+</faces-config>
Added: examples/trunk/tomcat/WebContent/WEB-INF/web.xml
===================================================================
--- examples/trunk/tomcat/WebContent/WEB-INF/web.xml (rev 0)
+++ examples/trunk/tomcat/WebContent/WEB-INF/web.xml 2009-03-27 19:25:32 UTC (rev 2237)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<web-app version="2.5"
+
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+ <display-name>Web Beans Numberguess example</display-name>
+
+ <!-- JSF -->
+
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+
+ <context-param>
+ <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+ <param-value>.xhtml</param-value>
+ </context-param>
+
+ <session-config>
+ <session-timeout>10</session-timeout>
+ </session-config>
+
+</web-app>
Added: examples/trunk/tomcat/WebContent/home.xhtml
===================================================================
--- examples/trunk/tomcat/WebContent/home.xhtml (rev 0)
+++ examples/trunk/tomcat/WebContent/home.xhtml 2009-03-27 19:25:32 UTC (rev 2237)
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core">
+
+ <ui:composition template="template.xhtml">
+ <ui:define name="content">
+ <h1>Guess a number...</h1>
+ <h:form id="NumberGuessMain">
+ <div style="color: red">
+ <h:messages id="messages" globalOnly="false"/>
+ <h:outputText id="Higher" value="Higher!"
rendered="#{game.number gt game.guess and game.guess ne 0}"/>
+ <h:outputText id="Lower" value="Lower!"
rendered="#{game.number lt game.guess and game.guess ne 0}"/>
+ </div>
+
+ <div>
+ I'm thinking of a number between #{game.smallest} and #{game.biggest}.
You have #{game.remainingGuesses} guesses.
+ </div>
+
+ <div>
+ Your guess:
+ <h:inputText id="inputGuess" value="#{game.guess}"
required="true" size="3" disabled="#{game.number eq
game.guess}">
+ <f:validateLongRange maximum="#{game.biggest}"
minimum="#{game.smallest}"/>
+ </h:inputText>
+ <h:commandButton id="GuessButton" value="Guess"
action="#{game.check}" disabled="#{game.number eq game.guess}"/>
+ </div>
+ <div>
+ <h:commandButton id="RestartButton" value="Reset"
action="#{game.reset}" immediate="true" />
+ </div>
+ </h:form>
+ </ui:define>
+ </ui:composition>
+</html>
Added: examples/trunk/tomcat/WebContent/index.html
===================================================================
--- examples/trunk/tomcat/WebContent/index.html (rev 0)
+++ examples/trunk/tomcat/WebContent/index.html 2009-03-27 19:25:32 UTC (rev 2237)
@@ -0,0 +1,5 @@
+<html>
+<head>
+ <meta http-equiv="Refresh" content="0; URL=home.jsf">
+</head>
+</html>
\ No newline at end of file
Added: examples/trunk/tomcat/WebContent/template.xhtml
===================================================================
--- examples/trunk/tomcat/WebContent/template.xhtml (rev 0)
+++ examples/trunk/tomcat/WebContent/template.xhtml 2009-03-27 19:25:32 UTC (rev 2237)
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
+
xmlns:h="http://java.sun.com/jsf/html"
+
xmlns:f="http://java.sun.com/jsf/core">
+
+<head>
+ <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
+ <title>Numberguess</title>
+ <link href="style/main.css" rel="stylesheet"
type="text/css"/>
+ <ui:insert name="head"/>
+</head>
+
+<body>
+
+ <div id="container">
+ <div id="header">
+
+ </div>
+
+ <div id="sidebar">
+
+ </div>
+
+ <div id="content">
+ <ui:insert name="content"/>
+ </div>
+
+ <br style="clear:both"/>
+ </div>
+
+</body>
+</html>
+
Added: examples/trunk/tomcat/build.xml
===================================================================
--- examples/trunk/tomcat/build.xml (rev 0)
+++ examples/trunk/tomcat/build.xml 2009-03-27 19:25:32 UTC (rev 2237)
@@ -0,0 +1,7 @@
+<project basedir="." name="Numberguess Example Build"
default="restart">
+
+ <property name="example.name" value="webbeans-numberguess" />
+
+ <import file="../build.xml" />
+
+</project>
\ No newline at end of file
Added: examples/trunk/tomcat/pom.xml
===================================================================
--- examples/trunk/tomcat/pom.xml (rev 0)
+++ examples/trunk/tomcat/pom.xml 2009-03-27 19:25:32 UTC (rev 2237)
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.jboss.webbeans.examples</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.jboss.webbeans.examples</groupId>
+ <artifactId>webbeans-numberguess</artifactId>
+ <packaging>war</packaging>
+ <name>Web Beans Examples: Numberguess</name>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus snapshot repository</id>
+ <
url>http://snapshots.repository.codehaus.org/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ </pluginRepository>
+ </pluginRepositories>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <scope>test</scope>
+ <classifier>jdk15</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>jsr299-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.faces</groupId>
+ <artifactId>jsf-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.facelets</groupId>
+ <artifactId>jsf-facelets</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
+ <!-- <dependency>
+ <groupId>org.jboss.el</groupId>
+ <artifactId>jboss-el</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>-->
+
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-ri</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>jsr250-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <finalName>webbeans-numberguess</finalName>
+ </build>
+
+</project>
+
Added:
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
(rev 0)
+++
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-03-27
19:25:32 UTC (rev 2237)
@@ -0,0 +1,94 @@
+package org.jboss.webbeans.examples.numberguess;
+
+
+import java.io.Serializable;
+
+import javax.annotation.Named;
+import javax.annotation.PostConstruct;
+import javax.context.SessionScoped;
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import javax.inject.AnnotationLiteral;
+import javax.inject.Current;
+import javax.inject.manager.Manager;
+
+@Named
+@SessionScoped
+public class Game implements Serializable
+{
+ private int number;
+
+ private int guess;
+ private int smallest;
+
+ @MaxNumber
+ private int maxNumber;
+
+ private int biggest;
+ private int remainingGuesses;
+
+ @Current Manager manager;
+
+ public Game()
+ {
+ }
+
+ public int getNumber()
+ {
+ return number;
+ }
+
+ public int getGuess()
+ {
+ return guess;
+ }
+
+ public void setGuess(int guess)
+ {
+ this.guess = guess;
+ }
+
+ public int getSmallest()
+ {
+ return smallest;
+ }
+
+ public int getBiggest()
+ {
+ return biggest;
+ }
+
+ public int getRemainingGuesses()
+ {
+ return remainingGuesses;
+ }
+
+ public String check() throws InterruptedException
+ {
+ if (guess>number)
+ {
+ biggest = guess - 1;
+ }
+ if (guess<number)
+ {
+ smallest = guess + 1;
+ }
+ if (guess == number)
+ {
+ FacesContext.getCurrentInstance().addMessage(null, new
FacesMessage("Correct!"));
+ }
+ remainingGuesses--;
+ return null;
+ }
+
+ @PostConstruct
+ public void reset()
+ {
+ this.smallest = 0;
+ this.guess = 0;
+ this.remainingGuesses = 10;
+ this.biggest = maxNumber;
+ this.number = manager.getInstanceByType(Integer.class, new
AnnotationLiteral<Random>(){});
+ }
+
+}
Added:
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Generator.java
===================================================================
---
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Generator.java
(rev 0)
+++
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Generator.java 2009-03-27
19:25:32 UTC (rev 2237)
@@ -0,0 +1,33 @@
+package org.jboss.webbeans.examples.numberguess;
+
+
+import java.io.Serializable;
+
+import javax.context.ApplicationScoped;
+import javax.inject.Produces;
+
+@ApplicationScoped
+public class Generator implements Serializable
+{
+
+ private static final long serialVersionUID = -7213673465118041882L;
+
+ private java.util.Random random = new java.util.Random( System.currentTimeMillis() );
+
+ private int maxNumber = 100;
+
+ java.util.Random getRandom()
+ {
+ return random;
+ }
+
+ @Produces @Random int next() {
+ return getRandom().nextInt(maxNumber);
+ }
+
+ @Produces @MaxNumber int getMaxNumber()
+ {
+ return maxNumber;
+ }
+
+}
Added:
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/MaxNumber.java
===================================================================
---
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/MaxNumber.java
(rev 0)
+++
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/MaxNumber.java 2009-03-27
19:25:32 UTC (rev 2237)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.examples.numberguess;
+
+
+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.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+public @interface MaxNumber
+{
+
+}
Added:
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Random.java
===================================================================
---
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Random.java
(rev 0)
+++
examples/trunk/tomcat/src/main/java/org/jboss/webbeans/examples/numberguess/Random.java 2009-03-27
19:25:32 UTC (rev 2237)
@@ -0,0 +1,23 @@
+package org.jboss.webbeans.examples.numberguess;
+
+
+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.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+public @interface Random
+{
+
+}