[webbeans-commits] Webbeans SVN: r642 - in ri/trunk/examples/login: WebContent and 10 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Sat Dec 20 21:36:03 EST 2008


Author: gavin.king at jboss.com
Date: 2008-12-20 21:36:03 -0500 (Sat, 20 Dec 2008)
New Revision: 642

Added:
   ri/trunk/examples/login/WebContent/
   ri/trunk/examples/login/WebContent/WEB-INF/
   ri/trunk/examples/login/WebContent/WEB-INF/faces-config.xml
   ri/trunk/examples/login/WebContent/WEB-INF/web-beans.xml
   ri/trunk/examples/login/WebContent/WEB-INF/web.xml
   ri/trunk/examples/login/WebContent/home.xhtml
   ri/trunk/examples/login/WebContent/index.html
   ri/trunk/examples/login/WebContent/style/
   ri/trunk/examples/login/WebContent/template.xhtml
   ri/trunk/examples/login/build.xml
   ri/trunk/examples/login/pom.xml
   ri/trunk/examples/login/src/
   ri/trunk/examples/login/src/main/
   ri/trunk/examples/login/src/main/java/
   ri/trunk/examples/login/src/main/java/org/
   ri/trunk/examples/login/src/main/java/org/jboss/
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Credentials.java
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/LoggedIn.java
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Login.java
   ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/User.java
   ri/trunk/examples/login/src/main/resources/
   ri/trunk/examples/login/src/main/resources/META-INF/
Log:
login example

Added: ri/trunk/examples/login/WebContent/WEB-INF/faces-config.xml
===================================================================
--- ri/trunk/examples/login/WebContent/WEB-INF/faces-config.xml	                        (rev 0)
+++ ri/trunk/examples/login/WebContent/WEB-INF/faces-config.xml	2008-12-21 02:36:03 UTC (rev 642)
@@ -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: ri/trunk/examples/login/WebContent/WEB-INF/web-beans.xml
===================================================================

Added: ri/trunk/examples/login/WebContent/WEB-INF/web.xml
===================================================================
--- ri/trunk/examples/login/WebContent/WEB-INF/web.xml	                        (rev 0)
+++ ri/trunk/examples/login/WebContent/WEB-INF/web.xml	2008-12-21 02:36:03 UTC (rev 642)
@@ -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 Login 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>

Added: ri/trunk/examples/login/WebContent/home.xhtml
===================================================================
--- ri/trunk/examples/login/WebContent/home.xhtml	                        (rev 0)
+++ ri/trunk/examples/login/WebContent/home.xhtml	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,23 @@
+<!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">
+      <h:messages/>
+      <h:form> 
+        <h:panelGrid columns="2" rendered="#{!login.loggedIn}"> 
+          <h:outputLabel for="username">Username:</h:outputLabel> 
+          <h:inputText id="username" value="#{credentials.username}"/> 
+          <h:outputLabel for="password">Password:</h:outputLabel> 
+          <h:inputText id="password" value="#{credentials.password}"/> 
+        </h:panelGrid> 
+        <h:commandButton value="Login" action="#{login.login}" rendered="#{!login.loggedIn}"/> 
+        <h:commandButton value="Logout" action="#{login.logout}" rendered="#{login.loggedIn}"/> 
+      </h:form> 
+    </ui:define>
+  </ui:composition>
+</html>

Added: ri/trunk/examples/login/WebContent/index.html
===================================================================
--- ri/trunk/examples/login/WebContent/index.html	                        (rev 0)
+++ ri/trunk/examples/login/WebContent/index.html	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,5 @@
+<html>
+<head>
+  <meta http-equiv="Refresh" content="0; URL=home.jsf">
+</head>
+</html>
\ No newline at end of file

Added: ri/trunk/examples/login/WebContent/template.xhtml
===================================================================
--- ri/trunk/examples/login/WebContent/template.xhtml	                        (rev 0)
+++ ri/trunk/examples/login/WebContent/template.xhtml	2008-12-21 02:36:03 UTC (rev 642)
@@ -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>Login</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: ri/trunk/examples/login/build.xml
===================================================================
--- ri/trunk/examples/login/build.xml	                        (rev 0)
+++ ri/trunk/examples/login/build.xml	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,7 @@
+<project basedir="." name="Login Example Build" default="restart">
+	
+	<property name="example.name" value="webbeans-login" />
+
+	<import file="../build.xml" />
+	
+</project>
\ No newline at end of file

Added: ri/trunk/examples/login/pom.xml
===================================================================
--- ri/trunk/examples/login/pom.xml	                        (rev 0)
+++ ri/trunk/examples/login/pom.xml	2008-12-21 02:36:03 UTC (rev 642)
@@ -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-login</artifactId>
+   <packaging>war</packaging>
+   <name>Web Beans Examples: Login</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-login</finalName>
+   </build>
+   
+</project>
+

Added: ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Credentials.java
===================================================================
--- ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Credentials.java	                        (rev 0)
+++ ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Credentials.java	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.examples.login;
+
+import javax.webbeans.Named;
+import javax.webbeans.RequestScoped;
+
+ at RequestScoped @Named
+public class Credentials {
+	
+    private String username;
+    private String password;
+    
+    public String getUsername() { return username; }
+    public void setUsername(String username) { this.username = username; }
+    
+    public String getPassword() { return password; }
+    public void setPassword(String password) { this.password = password; }
+    
+}
\ No newline at end of file

Added: ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/LoggedIn.java
===================================================================
--- ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/LoggedIn.java	                        (rev 0)
+++ ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/LoggedIn.java	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,16 @@
+package org.jboss.webbeans.examples.login;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.webbeans.BindingType;
+
+ at Retention(RetentionPolicy.RUNTIME)
+ at Target({TYPE, METHOD, FIELD})
+ at BindingType
+public @interface LoggedIn {}

Added: ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Login.java
===================================================================
--- ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Login.java	                        (rev 0)
+++ ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/Login.java	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,55 @@
+package org.jboss.webbeans.examples.login;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.context.FacesContext;
+import javax.webbeans.Current;
+import javax.webbeans.Dependent;
+import javax.webbeans.Named;
+import javax.webbeans.Produces;
+import javax.webbeans.SessionScoped;
+
+ at SessionScoped @Named
+public class Login {
+
+    @Current Credentials credentials;
+    //@PersistenceContext EntityManager userDatabase;
+
+    private User user;
+    
+    public void login() {
+    	
+       List<User> results = /*userDatabase.createQuery(
+          "select u from User u where u.username=:username and u.password=:password")
+          .setParameter("username", credentials.getUsername())
+          .setParameter("password", credentials.getPassword())
+          .getResultList();*/
+        	
+          Arrays.asList( new User(credentials.getUsername(), "Your Name", credentials.getPassword()) );
+        
+       if ( !results.isEmpty() ) {
+          user = results.get(0);
+          FacesContext.getCurrentInstance()
+             .addMessage(null, new FacesMessage("Welcome, " + user.getName()));
+       }
+        
+    }
+    
+    public void logout() {
+       FacesContext.getCurrentInstance()
+          .addMessage(null, new FacesMessage("Goodbye, " + user.getName()));
+       user = null;
+    }
+    
+    public boolean isLoggedIn() {
+       return user!=null;
+    }
+    
+    @Produces @LoggedIn @Dependent 
+    User getCurrentUser() {
+        return user;
+    }
+
+}
\ No newline at end of file

Added: ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/User.java
===================================================================
--- ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/User.java	                        (rev 0)
+++ ri/trunk/examples/login/src/main/java/org/jboss/webbeans/examples/login/User.java	2008-12-21 02:36:03 UTC (rev 642)
@@ -0,0 +1,27 @@
+package org.jboss.webbeans.examples.login;
+
+public class User {
+	private String username;
+	private String name;
+	private String password;
+	
+	public User(String username, String name, String password) {
+		super();
+		this.username = username;
+		this.name = name;
+		this.password = password;
+	}
+	
+	public String getUsername() {
+		return username;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+	public void setPassword(String password) {
+		this.password = password;
+	}
+	
+}




More information about the weld-commits mailing list