Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
379 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<?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> | ||
|
||
<listener> | ||
<listener-class>org.jboss.webbeans.servlet.WebBeansListener</listener-class> | ||
</listener> | ||
|
||
</web-app> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<!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" | ||
xmlns:s="http://jboss.com/products/seam/taglib"> | ||
|
||
<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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<html> | ||
<head> | ||
<meta http-equiv="Refresh" content="0; URL=home.jsf"> | ||
</head> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<!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:s="http://jboss.com/products/seam/taglib" | ||
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> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<project basedir="." name="Numberguess Example Build" default="restart"> | ||
|
||
<property name="example.name" value="webbeans-numberguess" /> | ||
|
||
<import file="../build.xml" /> | ||
|
||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
<?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>webbeans-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> | ||
</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> | ||
|
||
</dependencies> | ||
|
||
<build> | ||
<finalName>webbeans-numberguess</finalName> | ||
</build> | ||
|
||
</project> | ||
|
94 changes: 94 additions & 0 deletions
94
numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
package org.jboss.webbeans.examples.numberguess; | ||
|
||
|
||
import javax.annotation.PostConstruct; | ||
import javax.faces.application.FacesMessage; | ||
import javax.faces.context.FacesContext; | ||
import javax.webbeans.AnnotationLiteral; | ||
import javax.webbeans.Current; | ||
import javax.webbeans.Initializer; | ||
import javax.webbeans.Named; | ||
import javax.webbeans.SessionScoped; | ||
import javax.webbeans.manager.Manager; | ||
|
||
@Named | ||
@SessionScoped | ||
public class Game | ||
{ | ||
private int number; | ||
|
||
private int guess; | ||
private int smallest; | ||
private int biggest; | ||
private int remainingGuesses; | ||
|
||
@Current Manager manager; | ||
|
||
public Game() | ||
{ | ||
} | ||
|
||
@Initializer | ||
Game(@MaxNumber int maxNumber) | ||
{ | ||
this.biggest = maxNumber; | ||
} | ||
|
||
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() | ||
{ | ||
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.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){}); | ||
} | ||
|
||
} |
28 changes: 28 additions & 0 deletions
28
numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Generator.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package org.jboss.webbeans.examples.numberguess; | ||
|
||
|
||
import javax.webbeans.ApplicationScoped; | ||
import javax.webbeans.Produces; | ||
|
||
@ApplicationScoped | ||
public class Generator { | ||
|
||
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; | ||
} | ||
|
||
} |
23 changes: 23 additions & 0 deletions
23
numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/MaxNumber.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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.webbeans.BindingType; | ||
|
||
@Target( { TYPE, METHOD, PARAMETER, FIELD }) | ||
@Retention(RUNTIME) | ||
@Documented | ||
@BindingType | ||
public @interface MaxNumber | ||
{ | ||
|
||
} |
23 changes: 23 additions & 0 deletions
23
numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Random.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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.webbeans.BindingType; | ||
|
||
@Target( { TYPE, METHOD, PARAMETER, FIELD }) | ||
@Retention(RUNTIME) | ||
@Documented | ||
@BindingType | ||
public @interface Random | ||
{ | ||
|
||
} |