notify-dpml AT lists.ibiblio.org
Subject: DPML Notify
List archive
svn commit: r2591 - in infrastructure/webapps/registration: . app app/etc app/etc/deliverables app/etc/deliverables/confs impl impl/src impl/src/main impl/src/main/net impl/src/main/net/dpml impl/src/main/net/dpml/http impl/src/main/net/dpml/http/hangman impl/src/main/net/dpml/http/hangman/impl view view/etc view/src view/src/main view/src/main/net view/src/main/net/dpml view/src/main/net/dpml/http view/src/main/net/dpml/http/hangman view/src/main/net/dpml/http/hangman/view view/src/web view/src/web/WEB-INF view/src/web/css view/src/web/images
- From: peter AT neubauer.se
- To: notify-dpml AT lists.ibiblio.org
- Subject: svn commit: r2591 - in infrastructure/webapps/registration: . app app/etc app/etc/deliverables app/etc/deliverables/confs impl impl/src impl/src/main impl/src/main/net impl/src/main/net/dpml impl/src/main/net/dpml/http impl/src/main/net/dpml/http/hangman impl/src/main/net/dpml/http/hangman/impl view view/etc view/src view/src/main view/src/main/net view/src/main/net/dpml view/src/main/net/dpml/http view/src/main/net/dpml/http/hangman view/src/main/net/dpml/http/hangman/view view/src/web view/src/web/WEB-INF view/src/web/css view/src/web/images
- Date: Wed, 18 May 2005 05:00:44 +0000
Author: peter AT neubauer.se
Date: Wed May 18 05:00:41 2005
New Revision: 2591
Added:
infrastructure/webapps/registration/
infrastructure/webapps/registration/app/
infrastructure/webapps/registration/app/build.xml
infrastructure/webapps/registration/app/etc/
infrastructure/webapps/registration/app/etc/deliverables/
infrastructure/webapps/registration/app/etc/deliverables/confs/
infrastructure/webapps/registration/app/etc/deliverables/confs/webapp.conf
infrastructure/webapps/registration/impl/
infrastructure/webapps/registration/impl/build.xml
infrastructure/webapps/registration/impl/src/
infrastructure/webapps/registration/impl/src/main/
infrastructure/webapps/registration/impl/src/main/net/
infrastructure/webapps/registration/impl/src/main/net/dpml/
infrastructure/webapps/registration/impl/src/main/net/dpml/http/
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/HangmanGame.java
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/HardCodedDictionary.java
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/RegistrationController.java
infrastructure/webapps/registration/index.xml
infrastructure/webapps/registration/view/
infrastructure/webapps/registration/view/build.xml
infrastructure/webapps/registration/view/etc/
infrastructure/webapps/registration/view/etc/web.xml
infrastructure/webapps/registration/view/src/
infrastructure/webapps/registration/view/src/main/
infrastructure/webapps/registration/view/src/main/net/
infrastructure/webapps/registration/view/src/main/net/dpml/
infrastructure/webapps/registration/view/src/main/net/dpml/http/
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Failed.java
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Guess.java
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Home.java
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Success.java
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Visit.java
infrastructure/webapps/registration/view/src/web/
infrastructure/webapps/registration/view/src/web/WEB-INF/
infrastructure/webapps/registration/view/src/web/WEB-INF/Failed.html
infrastructure/webapps/registration/view/src/web/WEB-INF/Failed.page
infrastructure/webapps/registration/view/src/web/WEB-INF/Guess.html
infrastructure/webapps/registration/view/src/web/WEB-INF/Guess.page
infrastructure/webapps/registration/view/src/web/WEB-INF/Home.html
infrastructure/webapps/registration/view/src/web/WEB-INF/Home.page
infrastructure/webapps/registration/view/src/web/WEB-INF/Success.html
infrastructure/webapps/registration/view/src/web/WEB-INF/Success.page
infrastructure/webapps/registration/view/src/web/WEB-INF/hangman.application
infrastructure/webapps/registration/view/src/web/css/
infrastructure/webapps/registration/view/src/web/css/hangman.css
infrastructure/webapps/registration/view/src/web/images/
infrastructure/webapps/registration/view/src/web/images/0.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/1.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/10.gif
(contents, props changed)
infrastructure/webapps/registration/view/src/web/images/2.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/3.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/4.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/5.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/6.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/7.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/8.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/9.gif (contents,
props changed)
infrastructure/webapps/registration/view/src/web/images/loose.gif
(contents, props changed)
infrastructure/webapps/registration/view/src/web/images/win.gif
(contents, props changed)
infrastructure/webapps/registration/view/src/web/index.html
Log:
initial checking of code for registration, copied fromt he hangman demo
Added: infrastructure/webapps/registration/app/build.xml
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/app/build.xml Wed May 18 05:00:41
2005
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ * Copyright 2005 Peter Neubauer
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.dpml.net/central/about/legal/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<project name="registration-app" default="install" basedir="."
+ xmlns:transit="antlib:net.dpml.transit"
xmlns:x="plugin:dpml/magic/dpml-magic-core" >
+
+ <x:filter token="HANGMAN_WAR_URI" feature="uri" key="hangman-view" />
+
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+
+ <target name="build" depends="standard.build" >
+ <x:property name="hangman.uri" key="hangman-game" feature="block"/>
+ <x:property name="tapestry.uri" key="dpml-http-tapestry"
feature="block"/>
+ <!-- x:property name="console.uri" key="dpml-console-default"
feature="block"/ -->
+
+ <x:block name="web-registration" >
+ <!-- x:include name="console" uri="${console.uri}" / -->
+ <x:include name="tapestry" uri="${tapestry.uri}" />
+ <x:include name="app" uri="${hangman.uri}" />
+ </x:block>
+ </target>
+
+</project>
Added:
infrastructure/webapps/registration/app/etc/deliverables/confs/webapp.conf
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/app/etc/deliverables/confs/webapp.conf
Wed May 18 05:00:41 2005
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Copyright 2004 Stephen J. McConnell.
+ * Copyright 2004 Niclas Hedman.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.dpml.net/central/about/legal/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<targets>
+
+ <target path="/web-hangman/tapestry/server/context">
+ <configuration>
+ <web-application>@HANGMAN_WAR_URI@</web-application>
+ <context-path>/hangman</context-path>
+
<defaults-descriptor>artifact:conf:dpml/http/webapp-defaults</defaults-descriptor>
+ </configuration>
+ </target>
+
+ <target path="/web-hangman/app/controller">
+ <parameters>
+ <parameter name="servlet-name" value="hangman" />
+ </parameters>
+ </target>
+</targets>
+
Added: infrastructure/webapps/registration/impl/build.xml
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/impl/build.xml Wed May 18 05:00:41
2005
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ * Copyright 2004 Stephen J. McConnell.
+ * Copyright 2004 Niclas Hedman.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.dpml.net/central/about/legal/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<project name="registration-impl" default="install" basedir="."
+ xmlns:transit="antlib:net.dpml.transit"
xmlns:x="plugin:dpml/magic/dpml-magic-core" >
+
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+
+ <target name="build" depends="standard.build" >
+
+ <x:block name="registration" >
+ <x:component name="game"
class="net.dpml.http.hangman.impl.HangmanGame" />
+ <x:component name="controller"
class="net.dpml.http.hangman.impl.HangmanController" />
+ <x:component name="dictionary"
class="net.dpml.http.hangman.impl.HardCodedDictionary" />
+ </x:block>
+ </target>
+</project>
Added:
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/HangmanGame.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/HangmanGame.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,141 @@
+package net.dpml.http.hangman.impl;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+import net.dpml.http.hangman.Dictionary;
+import net.dpml.http.hangman.Game;
+import net.dpml.http.hangman.GameException;
+
+import net.dpml.logging.Logger;
+
+import net.dpml.service.ServiceException;
+import net.dpml.service.ServiceManager;
+
+/**
+ *
+ * @metro.component name="hangman-game" lifestyle="transient"
collection="hard"
+ * @metro.service type="net.dpml.http.hangman.Game" version="1.0"
+ */
+public class HangmanGame
+ implements Serializable, Game
+{
+ private int m_MaxMisses = 5;
+ private int m_Missed = 0;
+ private String m_CurWord = "";
+ private ArrayList m_UnusedLetters = null;
+ private String m_Guess = "";
+ private String m_GuessedRightLetters = "";
+
+ private Logger m_Logger;
+ private Dictionary m_Dictionary;
+
+ /**
+ * @metro.logger name="hangman"
+ * @metro.dependency type="net.dpml.http.hangman.Dictionary"
key="dictionary"
+ */
+ public HangmanGame( Logger logger, ServiceManager man )
+ throws ServiceException
+ {
+ m_Logger = logger;
+ m_Dictionary = (Dictionary) man.lookup( "dictionary" );
+ }
+
+ public void start( int m_MaxMisses )
+ {
+ this.m_MaxMisses = m_MaxMisses;
+ m_Missed = 0;
+
+ m_CurWord = m_Dictionary.getRandomWord();
+ m_GuessedRightLetters = "";
+
+ m_Guess = "";
+ for (int count = 0; count < m_CurWord.length(); count++) {
+ m_Guess += "_ ";
+ }
+
+ m_UnusedLetters = new ArrayList();
+ String sLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+ for( int count = 0; count < sLetters.length(); count++ )
+ {
+ String letter = sLetters.substring( count, count + 1 );
+ m_UnusedLetters.add( letter );
+ }
+ }
+
+ public String getCorrectWord()
+ {
+ return m_CurWord;
+ }
+
+ //The current state of the guessed word
+ public String getGuess()
+ {
+ return m_Guess;
+ }
+
+ public int getMaxMisses()
+ {
+ return m_MaxMisses;
+ }
+
+ public int getMissed()
+ {
+ return m_Missed;
+ }
+
+ public ArrayList getUnused()
+ {
+ return m_UnusedLetters;
+ }
+
+ public void guess( String sLetter )
+ throws GameException
+ {
+ m_UnusedLetters.remove( sLetter );
+
+ if( m_CurWord.indexOf( sLetter ) == -1 )
+ {
+ m_Missed++;
+ throw new GameException( "Letter " + sLetter + " is not in the
word");
+ }
+
+ //Good letter! Reveal it in the guess
+ m_GuessedRightLetters += sLetter;
+
+ //Rebuild the guessed word... make sure
+ //guessed letters are visible.
+ m_Guess = "";
+ for( int count = 0; count < m_CurWord.length(); count++ )
+ {
+ String sFind = m_CurWord.substring( count, count + 1 );
+ if( m_GuessedRightLetters.indexOf( sFind ) == -1 )
+ {
+ m_Guess += "_ ";
+ }
+ else
+ {
+ m_Guess += sFind + " ";
+ }
+ }
+ }
+
+ public boolean getFailed()
+ {
+ if( m_Missed > m_MaxMisses )
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public boolean getDone()
+ {
+ if( m_Guess.indexOf( "_" ) == -1 )
+ {
+ //All letters guessed right!
+ return true;
+ }
+ return false;
+ }
+}
Added:
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/HardCodedDictionary.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/HardCodedDictionary.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,306 @@
+package net.dpml.http.hangman.impl;
+
+import java.util.Random;
+
+import net.dpml.http.hangman.Dictionary;
+
+/**
+ * @metro.component name="hardcoded-dictionary" lifestyle="singleton"
+ * @metro.service type="net.dpml.http.hangman.Dictionary" version="1.0"
+ */
+public class HardCodedDictionary
+ implements Dictionary
+{
+ private Random m_Random;
+
+ public HardCodedDictionary()
+ {
+ m_Random = new Random();
+ }
+
+ public String getRandomWord()
+ {
+ int pos = m_Random.nextInt( saWordList.length );
+ return saWordList[ pos ].toUpperCase();
+ }
+
+
+ private static String saWordList[] =
+ {
+ "access",
+ "account",
+ "acquisition",
+ "acrobat",
+ "acronym",
+ "active",
+ "address",
+ "adobe",
+ "affiliate",
+ "algorithm",
+ "alias",
+ "analog",
+ "anchor",
+ "animation",
+ "anonymous",
+ "apache",
+ "apple",
+ "aspect",
+ "audio",
+ "authorization",
+ "backbone",
+ "backdoor",
+ "bandwidth",
+ "banner",
+ "barter",
+ "batch",
+ "benchmark",
+ "beta",
+ "binary",
+ "biometrics",
+ "bitmap",
+ "bookmark",
+ "broadband",
+ "broadcast",
+ "browser",
+ "buzzword",
+ "cable",
+ "cache",
+ "campus",
+ "channel",
+ "character",
+ "clean",
+ "click",
+ "client",
+ "collaborative",
+ "command",
+ "commerce",
+ "compatible",
+ "compression",
+ "computer",
+ "confidentiality",
+ "configuration",
+ "configure",
+ "connect",
+ "connectivity",
+ "content",
+ "convergence",
+ "cookies",
+ "coopetition",
+ "counter",
+ "crackable",
+ "crash",
+ "crusader",
+ "customize",
+ "cyborg",
+ "daemon",
+ "deactivation",
+ "decode",
+ "decryption",
+ "default",
+ "device",
+ "digital",
+ "directory",
+ "distribution",
+ "document",
+ "domain",
+ "download",
+ "dynamic",
+ "electronic",
+ "embedded",
+ "enterprise",
+ "environment",
+ "ethernet",
+ "evangelist",
+ "export",
+ "extensions",
+ "extranet",
+ "failure",
+ "favorite",
+ "feature",
+ "file",
+ "filter",
+ "finger",
+ "firewall",
+ "firmware",
+ "flame",
+ "flavor",
+ "format",
+ "forum",
+ "fractal",
+ "freeware",
+ "functionality",
+ "gaming",
+ "gateway",
+ "geek",
+ "genius",
+ "gigabyte",
+ "globalization",
+ "google",
+ "graffiti",
+ "graphics",
+ "groupware",
+ "guardian",
+ "hacker",
+ "hairball",
+ "handle",
+ "handshake",
+ "handwriting",
+ "headmount",
+ "hexadecimal",
+ "hierarchy",
+ "homepage",
+ "host",
+ "hotmail",
+ "hyperlink",
+ "hypermedia",
+ "hypertext",
+ "identity",
+ "inbox",
+ "index",
+ "information",
+ "infotainment",
+ "infrared",
+ "infrastructure",
+ "initialization",
+ "install",
+ "integrate",
+ "integrity",
+ "interactive",
+ "interface",
+ "internet",
+ "interoperability",
+ "intranet",
+ "java",
+ "javascript",
+ "kernel",
+ "keyboard",
+ "kilobyte",
+ "kiosk",
+ "knowledge",
+ "language",
+ "laptop",
+ "launch",
+ "legacy",
+ "leverage",
+ "link",
+ "link",
+ "linux",
+ "load",
+ "log",
+ "logoff",
+ "macintosh",
+ "macromedia",
+ "mainframe",
+ "management",
+ "megabyte",
+ "megahertz",
+ "meltdown",
+ "microsoft",
+ "modem",
+ "monitor",
+ "mozilla",
+ "multicast",
+ "nanosecond",
+ "napster",
+ "navigate",
+ "netscape",
+ "newsgroups",
+ "norton",
+ "obsolete",
+ "offline",
+ "online",
+ "optimize",
+ "outage",
+ "packet",
+ "payment",
+ "paypal",
+ "peer",
+ "peripheral",
+ "photoshop",
+ "portable",
+ "portal",
+ "postmaster",
+ "program",
+ "programmer",
+ "programming",
+ "prompt",
+ "proprietary",
+ "protocol",
+ "publisher",
+ "quantum",
+ "query",
+ "queue",
+ "qwerty",
+ "radar",
+ "radio",
+ "reboot",
+ "redirect",
+ "reformat",
+ "refresh",
+ "remote",
+ "resolution",
+ "resolve",
+ "resonate",
+ "robot",
+ "runtime",
+ "satellite",
+ "scanner",
+ "schedule",
+ "script",
+ "search",
+ "security",
+ "server",
+ "shareware",
+ "skyscraper",
+ "sniffer",
+ "socket",
+ "spam",
+ "speed",
+ "spider",
+ "spoofing",
+ "spyware",
+ "stack",
+ "static",
+ "strawman",
+ "string",
+ "stylus",
+ "subscribe",
+ "success",
+ "support",
+ "synchronization",
+ "technobabble",
+ "terminal",
+ "thread",
+ "throughput",
+ "thumbnail",
+ "titanium",
+ "toggle",
+ "toolbar",
+ "trackball",
+ "traffic",
+ "transponder",
+ "turnkey",
+ "unix",
+ "upgrade",
+ "uplink",
+ "upload",
+ "upside",
+ "upstream",
+ "user",
+ "vanilla",
+ "vaporware",
+ "vector",
+ "video",
+ "virtual",
+ "virus",
+ "wallpaper",
+ "windows",
+ "wireless",
+ "workstation",
+ "worm",
+ "yahoo",
+ "zip",
+ "zombie",
+ "zone"
+ };
+}
Added:
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/RegistrationController.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/impl/src/main/net/dpml/http/hangman/impl/RegistrationController.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,79 @@
+package net.dpml.http.hangman.impl;
+
+import java.io.Serializable;
+import java.util.HashMap;
+
+import net.dpml.http.ServletHandler;
+
+import net.dpml.http.hangman.Game;
+import net.dpml.http.hangman.Controller;
+
+import net.dpml.logging.Logger;
+
+import net.dpml.parameters.ParameterException;
+import net.dpml.parameters.Parameters;
+
+import net.dpml.service.ServiceException;
+import net.dpml.service.ServiceManager;
+
+/**
+ *
+ * @metro.component name="hangman-controller" lifestyle="singleton"
collection="hard"
+ * @metro.service type="net.dpml.http.hangman.Controller" version="1.0"
+ */
+public class RegistrationController
+ implements Controller
+{
+ private ServiceManager m_Manager;
+ private HashMap m_ActiveGames;
+ private Logger m_Logger;
+
+ /**
+ * @metro.logger name="hangman"
+ * @metro.dependency type="net.dpml.http.hangman.Game" key="game"
+ * @metro.dependency type="net.dpml.http.ServletHandler"
key="servlethandler"
+ * @metro.dependency type="net.dpml.ServletHandler" key="servlethandler"
+ */
+ public RegistrationController( Logger logger, ServiceManager man,
Parameters params )
+ throws ServiceException, ParameterException
+ {
+ m_Manager = man;
+ m_Logger = logger;
+ m_ActiveGames = new HashMap();
+ ServletHandler handler = (ServletHandler) man.lookup(
"servlethandler" );
+ String name = params.getParameter( "servlet-name" );
+ String global = "org.apache.tapestry.global:" + name;
+ handler.addServletContextEntry( global, this );
+ m_Logger.info( "Added a Hangman Controller to the servlet context:"
+ handler );
+ }
+
+ private Game newGame( Object assoc )
+ {
+ try
+ {
+ m_Logger.info( "New Game started: " + assoc );
+ Game game = (Game) m_Manager.lookup( "game" );
+ m_ActiveGames.put( assoc, game );
+ return game;
+ } catch( ServiceException e )
+ {
+ throw new RuntimeException( "Unable to located the game." );
+ }
+ }
+
+ public synchronized Game getGame( Object assoc )
+ {
+ m_Logger.info( "Game retrieved: " + assoc );
+ Game game = (Game) m_ActiveGames.get( assoc );
+ if( game == null )
+ game = newGame( assoc );
+ return game;
+ }
+
+ public synchronized void releaseGame( Object assoc )
+ {
+ m_Logger.info( "Game released: " + assoc );
+ Game game = (Game) m_ActiveGames.remove( assoc );
+ m_Manager.release( game );
+ }
+}
Added: infrastructure/webapps/registration/index.xml
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/index.xml Wed May 18 05:00:41
2005
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ * Copyright 2005 Peter Neubauer
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.dpml.net/central/about/legal/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<index>
+
+ <import uri="artifact:module:dpml/metro/dpml-metro#SNAPSHOT" />
+ <import uri="artifact:module:dpml/planet/http/dpml-http#SNAPSHOT" />
+ <project basedir="app">
+ <info>
+ <group>dpml/infrastructure</group>
+ <name>registration-app</name>
+ <type>block</type>
+ </info>
+ <dependencies>
+ <include key="registration-view" />
+ <include key="dpml-http-tapestry" />
+ </dependencies>
+ <plugins>
+ <include key="dpml-meta-tools"/>
+ </plugins>
+ </project>
+
+
+ <project basedir="view">
+ <info>
+ <group>dpml/infrastructure</group>
+ <name>registration-view</name>
+ <type>war</type>
+ </info>
+ <dependencies>
+ <include key="hangman-app" />
+ <include key="tapestry" />
+ </dependencies>
+ </project>
+ <project basedir="impl">
+ <info>
+ <group>dpml/infrastructure</group>
+ <name>registration-impl</name>
+ </info>
+ <dependencies>
+ <include key="hangman-api" />
+ <include key="dpml-http-api" />
+ <include key="dpml-parameters-api" />
+ <include key="dpml-service-api" />
+ <include key="dpml-logging-api" />
+ </dependencies>
+ <plugins>
+ <include key="dpml-meta-tools"/>
+ </plugins>
+ </project>
+
+</index>
+
Added: infrastructure/webapps/registration/view/build.xml
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/build.xml Wed May 18 05:00:41
2005
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ * Copyright 2005 Peter Neubauer
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.dpml.net/central/about/legal/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+
+<project name="registration-view" default="install" basedir="."
+ xmlns:transit="antlib:net.dpml.transit"
xmlns:x="plugin:dpml/magic/dpml-magic-core" >
+
+ <transit:import uri="artifact:template:dpml/magic/standard"/>
+
+ <target name="build" depends="standard.build">
+ <mkdir dir="target/deliverables/wars/" />
+ <mkdir dir="target/lib" />
+ <!-- No idea how to write this properly. Need to check with Steve. -->
+ <war destfile="target/deliverables/wars/hangman-view.war"
+ webxml="etc/web.xml">
+ <fileset dir="src/web"/>
+ <classes dir="target/classes"/>
+ </war>
+ </target>
+
+</project>
Added: infrastructure/webapps/registration/view/etc/web.xml
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/etc/web.xml Wed May 18
05:00:41 2005
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app
+ xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
artifact:xsd:sun/xml/ns/j2ee/web-app#2.4"
+ version="2.4">
+
+ <display-name>registration</display-name>
+ <distributable/>
+ <servlet>
+ <servlet-name>registration</servlet-name>
+ <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>registration</servlet-name>
+ <url-pattern>/registration</url-pattern>
+ </servlet-mapping>
+
+ <filter>
+ <filter-name>redirect</filter-name>
+ <filter-class>org.apache.tapestry.RedirectFilter</filter-class>
+ </filter>
+
+ <filter-mapping>
+ <filter-name>redirect</filter-name>
+ <url-pattern>/</url-pattern>
+ </filter-mapping>
+
+ <session-config>
+ <session-timeout>15</session-timeout>
+ </session-config>
+
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+
+</web-app>
Added:
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Failed.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Failed.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,15 @@
+package net.dpml.http.hangman.view;
+
+import org.apache.tapestry.IEngine;
+import org.apache.tapestry.html.BasePage;
+
+public class Failed extends BasePage
+{
+
+ public void attach(IEngine engine)
+ {
+ super.attach( engine );
+ Visit visit = (Visit) engine.getVisit();
+ visit.gameFinished();
+ }
+}
Added:
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Guess.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Guess.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,75 @@
+package net.dpml.http.hangman.view;
+
+import net.dpml.http.hangman.Game;
+import net.dpml.http.hangman.GameException;
+
+import org.apache.tapestry.IAsset;
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.html.BasePage;
+
+public class Guess extends BasePage
+{
+ String error = "";
+
+ public void detach()
+ {
+ error = "";
+ super.detach();
+ }
+
+ public boolean getHasError()
+ {
+ if( (error == null) || (error.length() == 0) )
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public String getError()
+ {
+ return error;
+ }
+
+ public void makeGuess( IRequestCycle cycle )
+ {
+ Object[] parameters = cycle.getServiceParameters();
+ String letter = (String) parameters[ 0 ];
+ Game game = ( (Visit) getVisit() ).getGame();
+ try
+ {
+ game.guess( letter );
+ } catch( GameException ex )
+ {
+ error = ex.getMessage();
+ if( game.getFailed() )
+ cycle.activate( "Failed" );
+ return;
+ }
+ // A good guess.
+ if( game.getDone() )
+ {
+ cycle.activate( "Success" );
+ }
+ }
+
+ //Retrieve the appropriate asset for the
+ //number of wrong guesses
+ public IAsset getGuessImageAsset()
+ {
+ Game game = ( (Visit) getVisit() ).getGame();
+ int iMissed = game.getMissed();
+ int iMaxMisses = game.getMaxMisses();
+ int iFactor = 1;
+ if( iMaxMisses==3 )
+ {
+ iFactor = 3;
+ }
+ else if( iMaxMisses==5 )
+ {
+ iFactor = 2;
+ }
+ String name = "wrong_" + iMissed*iFactor;
+ return getAsset(name);
+ }
+}
Added:
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Home.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Home.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,62 @@
+package net.dpml.http.hangman.view;
+
+import net.dpml.http.hangman.Controller;
+
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.html.BasePage;
+
+public class Home extends BasePage
+{
+ public static final int EASY = 10;
+ public static final int MEDIUM = 5;
+ public static final int HARD = 3;
+
+ private int misses = 0;
+ private String error = "";
+
+ public void detach()
+ {
+ misses = 0;
+ error = null;
+ super.detach();
+ }
+
+ public int getMisses()
+ {
+ return misses;
+ }
+
+ public void setMisses( int value )
+ {
+ misses = value;
+ }
+
+ public String getError()
+ {
+ return error;
+ }
+
+ public boolean getHasError()
+ {
+ if( ( error == null ) || ( error.length() == 0 ) )
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public void formSubmit( IRequestCycle cycle )
+ {
+ if (misses == 0)
+ {
+ error = "Please select a game difficulty.";
+ return;
+ }
+ System.out.println( getGlobal().getClass().getName() );
+ Controller controller = (Controller) getGlobal();
+
+ Visit visit = (Visit) getVisit();
+ visit.startGame( controller, misses );
+ cycle.activate( "Guess" );
+ }
+}
Added:
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Success.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Success.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,16 @@
+package net.dpml.http.hangman.view;
+
+import org.apache.tapestry.IEngine;
+import org.apache.tapestry.html.BasePage;
+
+public class Success extends BasePage
+{
+
+ public void attach( IEngine engine )
+ {
+ super.attach( engine );
+ Visit visit = (Visit) engine.getVisit();
+ visit.gameFinished();
+ }
+
+}
Added:
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Visit.java
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/view/src/main/net/dpml/http/hangman/view/Visit.java
Wed May 18 05:00:41 2005
@@ -0,0 +1,44 @@
+package net.dpml.http.hangman.view;
+
+import java.io.Serializable;
+
+import net.dpml.http.hangman.Controller;
+import net.dpml.http.hangman.Game;
+
+public class Visit
+ implements Serializable
+{
+ private Controller m_Controller;
+ private boolean m_Complete;
+ private String m_Correct;
+
+ public Game getGame()
+ {
+ return m_Controller.getGame( this );
+ }
+
+ public void startGame( Controller controller, int iMaxMisses )
+ {
+ m_Complete = false;
+ m_Controller = controller;
+ Game g = m_Controller.getGame( this );
+ g.start( iMaxMisses );
+ m_Correct = g.getCorrectWord();
+ }
+
+ public void gameFinished()
+ {
+ m_Controller.releaseGame( this );
+ m_Complete = true;
+ }
+
+ public boolean getCompleted()
+ {
+ return m_Complete;
+ }
+
+ public String getCorrectWord()
+ {
+ return m_Correct;
+ }
+}
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Failed.html
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Failed.html
Wed May 18 05:00:41 2005
@@ -0,0 +1,10 @@
+<html>
+<span jwcid="@Shell" stylesheet="ognl:assets.stylesheet" title="Hangman
Failed"/>
+<body>
+<p class="headerText">You Lose!</p>
+<p><img jwcid="looseImage"/></p>
+<p class="guessLettersPreText">The word was:
+<span class="hiddenWord" jwcid="insertCorrectWord"/>.
+<p><a jwcid="home">Start Again</a>
+</body>
+</html>
\ No newline at end of file
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Failed.page
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Failed.page
Wed May 18 05:00:41 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE page-specification
+ PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
+ "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
+
+<page-specification class="net.dpml.http.hangman.view.Failed">
+ <context-asset name="stylesheet" path="/css/hangman.css"/>
+ <context-asset name="loose" path="/images/loose.gif"/>
+ <component id="looseImage" type="Image">
+ <binding name="image" expression="assets.loose"/>
+ </component>
+ <component id="insertCorrectWord" type="Insert">
+ <binding name="value" expression="page.visit.correctWord"/>
+ </component>
+ <component id="home" type="PageLink">
+ <static-binding name="page">
+ Home
+ </static-binding>
+ </component>
+</page-specification>
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Guess.html
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Guess.html Wed
May 18 05:00:41 2005
@@ -0,0 +1,33 @@
+<html>
+<span jwcid="@Shell" stylesheet="ognl:assets.stylesheet" title="Hangman
Guess"/>
+<body>
+<span jwcid="ifNotComplete">
+ <p class="headerText">Make a Guess</p>
+ <p><img jwcid="guessImage"/></p>
+ <p class="hiddenWord">
+ <span jwcid="insertGuess"/>
+ </p>
+ <p>
+ You have made <span jwcid="insertMissed"/> bad guesses,
+ out of a maximum of <span jwcid="insertMaxMisses"/>.
+ <span jwcid="ifError">
+ <p class="error"><span jwcid="insertError"/></p>
+ </span>
+ <p class="guessLettersPreText">
+ Guess:
+ <span class="guessLetters">
+ <span jwcid="e">
+ <a jwcid="guess"><span jwcid="insertLetter"/></a>
+ </span>
+ </span>
+ <p>
+ <a jwcid="giveUp">Give up?</a>
+</span>
+<span jwcid="ifComplete">
+ <p class="headerText">The game is already finished.</p>
+ <p class="guessLettersPreText">The word was:
+ <span class="hiddenWord" jwcid="insertCorrectWord"/>.
+ <p><a jwcid="home">Start Again</a>
+</span>
+</body>
+</html>
\ No newline at end of file
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Guess.page
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Guess.page Wed
May 18 05:00:41 2005
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE page-specification
+ PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
+ "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
+
+<page-specification class="net.dpml.http.hangman.view.Guess">
+ <context-asset name="stylesheet" path="/css/hangman.css"/>
+ <context-asset name="wrong_0" path="/images/0.gif"/>
+ <context-asset name="wrong_1" path="/images/1.gif"/>
+ <context-asset name="wrong_2" path="/images/2.gif"/>
+ <context-asset name="wrong_3" path="/images/3.gif"/>
+ <context-asset name="wrong_4" path="/images/4.gif"/>
+ <context-asset name="wrong_5" path="/images/5.gif"/>
+ <context-asset name="wrong_6" path="/images/6.gif"/>
+ <context-asset name="wrong_7" path="/images/7.gif"/>
+ <context-asset name="wrong_8" path="/images/8.gif"/>
+ <context-asset name="wrong_9" path="/images/9.gif"/>
+ <context-asset name="wrong_10" path="/images/10.gif"/>
+ <component id="guessImage" type="Image">
+ <binding name="image" expression="guessImageAsset"/>
+ </component>
+ <component id="insertGuess" type="Insert">
+ <binding name="value" expression="page.visit.game.guess"/>
+ </component>
+ <component id="insertMissed" type="Insert">
+ <binding name="value" expression="page.visit.game.missed"/>
+ </component>
+ <component id="insertMaxMisses" type="Insert">
+ <binding name="value" expression="page.visit.game.maxMisses"/>
+ </component>
+ <component id="ifComplete" type="Conditional">
+ <binding name="condition" expression="page.visit.completed"/>
+ </component>
+ <component id="ifNotComplete" type="Conditional">
+ <binding name="condition" expression="!page.visit.completed"/>
+ </component>
+ <component id="ifError" type="Conditional">
+ <binding name="condition" expression="hasError"/>
+ </component>
+ <component id="insertError" type="Insert">
+ <binding name="value" expression="error"/>
+ </component>
+ <component id="e" type="Foreach">
+ <binding name="source" expression="page.visit.game.unused"/>
+ </component>
+ <component id="guess" type="DirectLink">
+ <binding name="listener" expression="listeners.makeGuess"/>
+ <binding name="parameters" expression="components.e.value"/>
+ </component>
+ <component id="insertLetter" type="Insert">
+ <binding name="value" expression="components.e.value"/>
+ </component>
+ <component id="giveUp" type="PageLink">
+ <static-binding name="page">
+ Failed
+ </static-binding>
+ </component>
+ <component id="insertCorrectWord" type="Insert">
+ <binding name="value" expression="page.visit.correctWord"/>
+ </component>
+ <component id="home" type="PageLink">
+ <static-binding name="page">
+ Home
+ </static-binding>
+ </component>
+</page-specification>
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Home.html
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Home.html Wed
May 18 05:00:41 2005
@@ -0,0 +1,35 @@
+<html>
+<span jwcid="@Shell" stylesheet="ognl:assets.stylesheet" title="Hangman"/>
+<body>
+<p class="headerText">Tapestry Hangman</p>
+<p>
+ This is the standard game of Hangman. You must guess
+ a word, a letter at a time. If you make too many
+ mistakes, you lose!</p>
+<form jwcid="form">
+ <span jwcid="group">
+ <span jwcid="ifError">
+ <span class="error" jwcid="insertError"/>
+ </span>
+ <table>
+ <tr>
+ <td><input jwcid="inputEasy"/></td>
+ <td>Easy game; you are allowed ten misses.</td>
+ </tr>
+ <tr>
+ <td><input jwcid="inputMedium"/></td>
+ <td>Medium game; you are allowed five misses.</td>
+ </tr>
+ <tr>
+ <td><input jwcid="inputHard"/></td>
+ <td>Hard game; you are only allowed three misses.</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><input type="submit" value="Play!"></td>
+ </tr>
+ </table>
+ </span>
+</form>
+</body>
+</html>
\ No newline at end of file
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Home.page
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Home.page Wed
May 18 05:00:41 2005
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE page-specification
+ PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
+ "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
+
+<page-specification class="net.dpml.http.hangman.view.Home">
+ <context-asset name="stylesheet" path="/css/hangman.css"/>
+ <component id="form" type="Form">
+ <binding name="listener" expression="listeners.formSubmit" />
+ </component>
+ <component id="ifError" type="Conditional">
+ <binding name="condition" expression="hasError" />
+ </component>
+ <component id="insertError" type="Insert">
+ <binding name="value" expression="error" />
+ </component>
+ <component id="group" type="RadioGroup">
+ <binding name="selected" expression="misses" />
+ </component>
+ <component id="inputEasy" type="Radio">
+ <binding name="value"
expression="@net.dpml.http.hangman.view.Home@EASY" />
+ </component>
+ <component id="inputMedium" type="Radio">
+ <binding name="value"
expression="@net.dpml.http.hangman.view.Home@MEDIUM" />
+ </component>
+ <component id="inputHard" type="Radio">
+ <binding name="value"
expression="@net.dpml.http.hangman.view.Home@HARD" />
+ </component>
+</page-specification>
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Success.html
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Success.html
Wed May 18 05:00:41 2005
@@ -0,0 +1,10 @@
+<html>
+<span jwcid="@Shell" stylesheet="ognl:assets.stylesheet" title="Hangman
Success"/>
+<body>
+<p class="headerText">You Win!</p>
+<p><img jwcid="winImage"/></p>
+<p class="guessLettersPreText">The word was:
+<span class="hiddenWord" jwcid="insertCorrectWord"/>.
+<p><a jwcid="home">Start Again</a>
+</body>
+</html>
\ No newline at end of file
Added: infrastructure/webapps/registration/view/src/web/WEB-INF/Success.page
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/WEB-INF/Success.page
Wed May 18 05:00:41 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE page-specification
+ PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
+ "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
+
+<page-specification class="net.dpml.http.hangman.view.Success">
+ <context-asset name="stylesheet" path="/css/hangman.css"/>
+ <context-asset name="win" path="/images/win.gif"/>
+ <component id="winImage" type="Image">
+ <binding name="image" expression="assets.win"/>
+ </component>
+ <component id="insertCorrectWord" type="Insert">
+ <binding name="value" expression="page.visit.correctWord"/>
+ </component>
+ <component id="home" type="PageLink">
+ <static-binding name="page">
+ Home
+ </static-binding>
+ </component>
+</page-specification>
Added:
infrastructure/webapps/registration/view/src/web/WEB-INF/hangman.application
==============================================================================
--- (empty file)
+++
infrastructure/webapps/registration/view/src/web/WEB-INF/hangman.application
Wed May 18 05:00:41 2005
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application
+ PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN"
+ "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
+
+<application name="hangman"
engine-class="org.apache.tapestry.engine.BaseEngine" >
+ <description>Hangman Application</description>
+ <property
name="org.apache.tapestry.visit-class">net.dpml.http.hangman.view.Visit</property>
+ <page name="Home" specification-path="Home.page"/>
+</application>
Added: infrastructure/webapps/registration/view/src/web/css/hangman.css
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/css/hangman.css Wed
May 18 05:00:41 2005
@@ -0,0 +1,34 @@
+body {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 12pt;
+}
+
+.headerText {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 16pt;
+ font-weight: bold;
+}
+
+.error {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 14pt;
+ font-weight: bold;
+ color: #FF0000;
+}
+
+.hiddenWord {
+ font-family: "Courier New", Courier, mono;
+ font-size: 14pt;
+ font-weight: bold;
+}
+
+.guessLettersPreText {
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 13pt;
+}
+
+.guessLetters {
+ font-family: "Courier New", Courier, mono;
+ font-size: 13pt;
+ font-weight: bold;
+}
\ No newline at end of file
Added: infrastructure/webapps/registration/view/src/web/images/0.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/1.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/10.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/2.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/3.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/4.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/5.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/6.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/7.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/8.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/9.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/loose.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/images/win.gif
==============================================================================
Binary file. No diff available.
Added: infrastructure/webapps/registration/view/src/web/index.html
==============================================================================
--- (empty file)
+++ infrastructure/webapps/registration/view/src/web/index.html Wed May 18
05:00:41 2005
@@ -0,0 +1,9 @@
+<HTML>
+<meta http-equiv="Refresh" content="0; URL=/hangman/app" />
+<HEADER>
+<TITLE>hangman2</TITLE>
+</HEADER>
+<BODY>
+<P><A HREF="/hangman/app">If you are not automatically redirected click
here</A></P>
+</BODY>
+</HTML>
- svn commit: r2591 - in infrastructure/webapps/registration: . app app/etc app/etc/deliverables app/etc/deliverables/confs impl impl/src impl/src/main impl/src/main/net impl/src/main/net/dpml impl/src/main/net/dpml/http impl/src/main/net/dpml/http/hangman impl/src/main/net/dpml/http/hangman/impl view view/etc view/src view/src/main view/src/main/net view/src/main/net/dpml view/src/main/net/dpml/http view/src/main/net/dpml/http/hangman view/src/main/net/dpml/http/hangman/view view/src/web view/src/web/WEB-INF view/src/web/css view/src/web/images, peter, 05/18/2005
Archive powered by MHonArc 2.6.24.