View Javadoc

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  	    //SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
58  	    //binder.registerCustomEditor(Date.class, null, new	CustomDateEditor(dateFormat, true));
59  	    //binder.setAllowedFields(new String[] {"author","title","description","availability","count"});
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  }