1 package org.apache.portals.applications.springmvc;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import javax.portlet.ActionRequest;
7 import javax.portlet.ActionResponse;
8 import javax.portlet.PortletRequest;
9 import javax.portlet.RenderRequest;
10 import javax.portlet.RenderResponse;
11
12 import org.springframework.beans.factory.InitializingBean;
13 import org.springframework.validation.BindException;
14 import org.springframework.web.portlet.bind.PortletRequestDataBinder;
15 import org.springframework.web.portlet.mvc.SimpleFormController;
16 import org.springframework.web.portlet.ModelAndView;
17
18 import org.apache.portals.applications.springmvc.DOMTree;
19
20 public class DOMTreePrefsController extends SimpleFormController implements InitializingBean {
21
22 private DOMTreeService domTreeService;
23
24 public void afterPropertiesSet() throws Exception
25 {
26 if ( this.domTreeService == null )
27 throw new IllegalArgumentException( "DOMTreeService is required" );
28 }
29
30 public void onSubmitAction( ActionRequest request, ActionResponse response,
31 Object command, BindException errors ) throws Exception
32 {
33 String save = request.getParameter( "save" );
34 if ( save != null )
35 {
36 domTreeService.saveDOMTree( request.getParameter("name"), request.getParameter("path"), request );
37 }
38 response.setRenderParameter( "action", "list" );
39 }
40
41 protected Object formBackingObject( PortletRequest request ) throws Exception
42 {
43 String name = request.getParameter( "domTree" );
44 if ( name == null )
45 {
46 return new DOMTree();
47 }
48 else
49 {
50 return domTreeService.getDOMTree( name, request );
51 }
52 }
53
54 protected void initBinder(PortletRequest request, PortletRequestDataBinder binder)
55 throws Exception
56 {
57
58
59
60 }
61
62 protected ModelAndView renderInvalidSubmit(RenderRequest request, RenderResponse response)
63 throws Exception
64 {
65 return null;
66 }
67
68 protected void handleInvalidSubmit(ActionRequest request, ActionResponse response)
69 throws Exception
70 {
71 response.setRenderParameter( "action","view" );
72 }
73
74 public void setDomTreeService(DOMTreeService domTreeService)
75 {
76 this.domTreeService = domTreeService;
77 }
78 }