Author: mrdon
Date: Sat Oct 20 08:24:33 2007
New Revision: 586743

URL: http://svn.apache.org/viewvc?rev=586743&view=rev
Log:
Adding showcase app for rest plugin

Added:
    struts/sandbox/trunk/struts2-rest-plugin/showcase/
    struts/sandbox/trunk/struts2-rest-plugin/showcase/pom.xml
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrderResource.java
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/struts.properties
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml
    struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/index.jsp
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-index.jsp
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-input.jsp
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-new.jsp
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-show.jsp
    
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-success.jsp

Added: struts/sandbox/trunk/struts2-rest-plugin/showcase/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/pom.xml?rev=586743&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2-rest-plugin/showcase/pom.xml (added)
+++ struts/sandbox/trunk/struts2-rest-plugin/showcase/pom.xml Sat Oct 20 
08:24:33 2007
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project>
+       <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.struts</groupId>
+        <artifactId>struts2-apps</artifactId>
+        <version>2.1.0-SNAPSHOT</version>
+    </parent>
+
+       <groupId>org.apache.struts</groupId>
+       <artifactId>struts2-rest-showcase</artifactId>
+       <packaging>war</packaging>
+       <version>2.1.0-SNAPSHOT</version>
+       <name>Struts 2 Rest Showcase Example</name>
+       <description>Struts 2 Rest Showcase Example</description>
+       
+       <dependencies>
+        <dependency>
+            <groupId>org.apache.struts</groupId>
+            <artifactId>struts2-rest-plugin</artifactId>
+            <version>2.1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+
+
+    </dependencies>
+       
+    <build>
+      <finalName>struts2-rest-showcase</finalName>
+       <plugins>
+               <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                   <source>1.5</source>
+                   <target>1.5</target>
+                </configuration>
+            </plugin>
+               <plugin>
+                       <groupId>org.mortbay.jetty</groupId>
+                       <artifactId>maven-jetty-plugin</artifactId>
+                       <version>6.0.1</version>
+                       <configuration>
+                               <scanIntervalSeconds>10</scanIntervalSeconds>
+                       </configuration>
+               </plugin>
+       </plugins>
+    </build>
+</project>

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,42 @@
+package org.apache.struts2.rest.example;
+
+public class Order {
+    String id;
+    String clientName;
+    int amount;
+    
+    public Order() {}
+    
+    public Order(String id, String clientName, int amount) {
+        super();
+        this.id = id;
+        this.clientName = clientName;
+        this.amount = amount;
+    }
+    public int getAmount() {
+        return amount;
+    }
+    public void setAmount(int amount) {
+        this.amount = amount;
+    }
+    public String getClientName() {
+        return clientName;
+    }
+    public void setClientName(String clientName) {
+        this.clientName = clientName;
+    }
+    public String getId() {
+        return id;
+    }
+    public void setId(String id) {
+        this.id = id;
+    }
+    
+    public void copyTo(Order order) {
+        order.setId(getId());
+        order.setAmount(getAmount());
+        order.setClientName(getClientName());
+    }
+    
+    
+}

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrderResource.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrderResource.java?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrderResource.java
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrderResource.java
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,75 @@
+package org.apache.struts2.rest.example;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.struts2.interceptor.ParameterAware;
+import org.apache.struts2.rest.DefaultRestInfo;
+import org.apache.struts2.rest.RestInfo;
+
+import com.opensymphony.xwork2.ModelDriven;
+
+public class OrderResource implements ModelDriven<Object>, ParameterAware{
+    
+    private Order model = new Order();
+    private static Map<String,Order> orders = new HashMap<String,Order>() {{
+        put("3", new Order("3", "Bob", 33));
+        put("4", new Order("4", "Sarah", 44));
+        put("5", new Order("5", "Jim", 66));
+    }};
+    private Collection<Order> list;
+    
+    public String show() {
+        return "show";
+    }
+    
+    public String input() {
+        if (model.getId() != null) {
+            return "input";
+        } else {
+            return "new";
+        }
+        
+    }
+    
+    public String destroy() {
+        orders.remove(model.getId());
+        return "success";
+    }
+    
+    public RestInfo create() {
+        orders.put(model.getId(), model);
+        return new DefaultRestInfo()
+            .setLocationId(model.getId())
+            .renderResult("success");
+    }
+    
+    public String update() {
+        orders.put(model.getId(), model);
+        return "success";
+    }
+    
+    public RestInfo index() {
+        list = orders.values();
+        
+        return new DefaultRestInfo()
+            .renderResult("index")
+            .withETag("2323");
+    }
+    
+    public Object getModel() {
+        return (list != null ? list : model);
+    }
+
+    // Silly workaround since modeldriven doesn't work right in xwork 2.1.0
+    public void setParameters(Map<String,String[]> parameters) {
+        if (parameters.get("id") != null && 
orders.get(parameters.get("id")[0]) != null) {
+            orders.get(parameters.get("id")[0]).copyTo(model);
+        }
+    }
+    
+    
+}

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/struts.properties
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/struts.properties?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/struts.properties
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/struts.properties
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,4 @@
+
+struts.action.extension=,,xhtml,xml,json
+
+struts.devMode = true

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<web-app id="starter" version="2.4" 
+         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 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
+       
+       <display-name>Struts 2 Rest Example</display-name>
+       
+       
+       <!-- Filters -->
+    <filter>
+        <filter-name>action2</filter-name>
+        
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
+        <init-param>
+               <param-name>actionPackages</param-name>
+               <param-value>org.apache.struts2.rest.example</param-value>
+        </init-param>
+    </filter>
+       
+    <filter-mapping>
+        <filter-name>action2</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+       
+    <!-- Welcome file lists -->
+    <welcome-file-list>
+        <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+
+</web-app>

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/index.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/index.jsp?rev=586743&view=auto
==============================================================================
--- struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/index.jsp 
(added)
+++ struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/index.jsp 
Sat Oct 20 08:24:33 2007
@@ -0,0 +1,2 @@
+
+<% response.sendRedirect("order/.xhtml"); %>

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-index.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-index.jsp?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-index.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-index.jsp
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC 
+       "-//W3C//DTD XHTML 1.1 Transitional//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+       
+<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+       <title>Orders</title>
+</head>
+<body>
+    <table>
+        <tr>
+            <th>ID</th>
+            <th>Client</th>
+            <th>Amount</th>
+            <th>Actions</th>
+        </tr>
+        <s:iterator value="model">
+        <tr>
+            <td><s:property value="id" /></td>
+            <td><s:property value="clientName" /></td>
+            <td><s:property value="amount" /></td>
+            <td><a href="<s:property value="id" />.xhtml">View</a> |
+                <a href="<s:property value="id" />;edit.xhtml">Edit</a> |
+                <a href="<s:property value="id" 
/>.xhtml?_method=DELETE">Delete</a></td>
+        </tr>
+        </s:iterator>
+    </table>           
+    <a href="new.xhtml">Create a new order</a>
+</body>
+</html>
+       
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-input.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-input.jsp?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-input.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-input.jsp
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC 
+       "-//W3C//DTD XHTML 1.1 Transitional//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+       
+<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+       <title>Order <s:property value="id" /></title>
+</head>
+<body>
+    <s:form method="post" action="%{id}.xhtml">
+    <s:hidden name="_method" value="put" />
+    <table>
+        <s:textfield name="id" label="ID" />
+        <s:textfield name="clientName" label="Client"/>
+        <s:textfield name="amount" label="Amount" />
+        <tr>
+            <td colspan="2">
+                <s:submit />
+            </td>
+    </table>
+    </s:form>          
+    <a href="./.xhtml">Back to Orders</a>
+</body>
+</html>
+       
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-new.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-new.jsp?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-new.jsp 
(added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-new.jsp 
Sat Oct 20 08:24:33 2007
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC 
+       "-//W3C//DTD XHTML 1.1 Transitional//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+       
+<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+       <title>New Order</title>
+</head>
+<body>
+    <s:form method="post" action="./.xhtml">
+    <table>
+        <s:textfield name="id" label="ID" />
+        <s:textfield name="clientName" label="Client"/>
+        <s:textfield name="amount" label="Amount" />
+        <tr>
+            <td colspan="2">
+                <s:submit />
+            </td>
+    </table>
+    </s:form>          
+    <a href="./.xhtml">Back to Orders</a>
+</body>
+</html>
+       
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-show.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-show.jsp?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-show.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-show.jsp
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC 
+       "-//W3C//DTD XHTML 1.1 Transitional//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+       
+<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+       <title>Order <s:property value="model.id" /></title>
+</head>
+<body>
+    <table>
+        <tr>
+            <th>ID</th>
+            <td><s:property value="model.id" /></td>
+        </tr>
+        <tr>
+            <th>Client</th>
+            <td><s:property value="model.clientName" /></td>
+        </tr>
+        <tr>
+            <th>Amount</th>
+            <td><s:property value="model.amount" /></td>
+        </tr>
+    </table>           
+    <a href="./.xhtml">Back to Orders</a>
+</body>
+</html>
+       
\ No newline at end of file

Added: 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-success.jsp
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-success.jsp?rev=586743&view=auto
==============================================================================
--- 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-success.jsp
 (added)
+++ 
struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/order-success.jsp
 Sat Oct 20 08:24:33 2007
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC 
+       "-//W3C//DTD XHTML 1.1 Transitional//EN"
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+       
+<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %>
+
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+       <title>Operation Successful</title>
+</head>
+<body>
+    Operation Successful    <br />     
+     <a href="./.xhtml">Back to Orders</a>
+</body>
+</html>
+       
\ No newline at end of file


Reply via email to