Author: mrdon Date: Wed Nov 7 15:43:12 2007 New Revision: 592959 URL: http://svn.apache.org/viewvc?rev=592959&view=rev Log: Adding service obj to example, minimizing config, making xhtml default extension
Added: struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersService.java Removed: struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/resources/ Modified: 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/OrdersController.java struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml struts/sandbox/trunk/struts2-rest-plugin/src/main/resources/struts-plugin.xml Modified: 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=592959&r1=592958&r2=592959&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java (original) +++ struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/Order.java Wed Nov 7 15:43:12 2007 @@ -1,7 +1,5 @@ package org.apache.struts2.rest.example; -import com.thoughtworks.xstream.annotations.XStreamAlias; - public class Order implements Cloneable { String id; String clientName; Modified: struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersController.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersController.java?rev=592959&r1=592958&r2=592959&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersController.java (original) +++ struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersController.java Wed Nov 7 15:43:12 2007 @@ -1,10 +1,6 @@ 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.config.Result; import org.apache.struts2.config.Results; @@ -22,30 +18,10 @@ public class OrdersController extends ValidationAwareSupport implements ModelDriven<Object>, Validateable{ private Order model = new Order(); - private static Map<String,Order> orders = new HashMap<String,Order>(); - private static int nextId = 6; private String id; - - static { - orders.put("3", new Order("3", "Bob", 33)); - orders.put("4", new Order("4", "Sarah", 44)); - orders.put("5", new Order("5", "Jim", 66)); - } private Collection<Order> list; + private OrdersService ordersService = new OrdersService(); - public void setId(String id) { - if (id != null && orders.containsKey(id)) { - this.model = orders.get(id); - } - this.id = id; - } - - public void validate() { - if (model.getClientName() == null || model.getClientName().length() ==0) { - addFieldError("clientName", "The client name is empty"); - } - } - public HttpHeaders show() { return new DefaultHttpHeaders("show"); } @@ -62,32 +38,44 @@ public String deleteConfirm() { return "deleteConfirm"; } - + public String destroy() { - orders.remove(id); + ordersService.remove(id); addActionMessage("Order removed successfully"); return "success"; } public HttpHeaders create() { - model.setId(String.valueOf(nextId++)); - orders.put(model.getId(), model); + ordersService.save(model); addActionMessage("New order created successfully"); return new DefaultHttpHeaders("success") .setLocationId(model.getId()); } public String update() { - orders.put(id, model); + ordersService.save(model); addActionMessage("Order updated successfully"); return "success"; } public HttpHeaders index() { - list = new ArrayList(orders.values()); + list = ordersService.getAll(); return new DefaultHttpHeaders("index") .disableCaching(); + } + + public void setId(String id) { + if (id != null) { + this.model = ordersService.get(id); + } + this.id = id; + } + + public void validate() { + if (model.getClientName() == null || model.getClientName().length() ==0) { + addFieldError("clientName", "The client name is empty"); + } } public Object getModel() { Added: struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersService.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersService.java?rev=592959&view=auto ============================================================================== --- struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersService.java (added) +++ struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/java/org/apache/struts2/rest/example/OrdersService.java Wed Nov 7 15:43:12 2007 @@ -0,0 +1,35 @@ +package org.apache.struts2.rest.example; + +import java.util.*; + +public class OrdersService { + + private static Map<String,Order> orders = new HashMap<String,Order>(); + private static int nextId = 6; + static { + orders.put("3", new Order("3", "Bob", 33)); + orders.put("4", new Order("4", "Sarah", 44)); + orders.put("5", new Order("5", "Jim", 66)); + } + + public Order get(String id) { + return orders.get(id); + } + + public List<Order> getAll() { + return new ArrayList<Order>(orders.values()); + } + + public void save(Order order) { + if (order.getId() == null) { + order.setId(String.valueOf(nextId++)); + } + + orders.put(order.getId(), order); + } + + public void remove(String id) { + orders.remove(id); + } + +} Modified: 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=592959&r1=592958&r2=592959&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml (original) +++ struts/sandbox/trunk/struts2-rest-plugin/showcase/src/main/webapp/WEB-INF/web.xml Wed Nov 7 15:43:12 2007 @@ -17,6 +17,10 @@ <param-name>actionPackages</param-name> <param-value>org.apache.struts2.rest.example</param-value> </init-param> + <init-param> + <param-name>devMode</param-name> + <param-value>true</param-value> + </init-param> </filter> <!-- END SNIPPET: filter --> Modified: struts/sandbox/trunk/struts2-rest-plugin/src/main/resources/struts-plugin.xml URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-rest-plugin/src/main/resources/struts-plugin.xml?rev=592959&r1=592958&r2=592959&view=diff ============================================================================== --- struts/sandbox/trunk/struts2-rest-plugin/src/main/resources/struts-plugin.xml (original) +++ struts/sandbox/trunk/struts2-rest-plugin/src/main/resources/struts-plugin.xml Wed Nov 7 15:43:12 2007 @@ -18,7 +18,7 @@ <bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="html" class="org.apache.struts2.rest.handler.HtmlHandler" /> <constant name="struts.actionProxyFactory" value="rest" /> - <constant name="struts.rest.defaultExtension" value="xml" /> + <constant name="struts.rest.defaultExtension" value="xhtml" /> <constant name="struts.mapper.class" value="rest" /> <constant name="struts.mapper.idParameterName" value="id" /> <constant name="struts.action.extension" value="xhtml,,xml,json" />