1 | package edu.iu.uis.sit.portal.portlet.admin.web; |
2 | |
3 | import java.util.ArrayList; |
4 | import java.util.Iterator; |
5 | import java.util.List; |
6 | |
7 | import javax.portlet.PortletRequest; |
8 | |
9 | import org.springframework.web.portlet.ModelAndView; |
10 | import org.springframework.web.portlet.mvc.SimpleFormController; |
11 | |
12 | import edu.iu.uis.sit.portal.portlet.publishing.domain.AclExpression; |
13 | import edu.iu.uis.sit.portal.portlet.publishing.domain.AclExpressionHtml; |
14 | import edu.iu.uis.sit.portal.portlet.publishing.domain.Fragment; |
15 | import edu.iu.uis.sit.portal.portlet.publishing.domain.Tab; |
16 | import edu.iu.uis.sit.portal.portlet.publishing.services.PublishingService; |
17 | import edu.iu.uis.sit.portal.portlet.utility.Constants; |
18 | |
19 | public class PublishingAclController extends SimpleFormController { |
20 | private PublishingService publishingService; |
21 | |
22 | protected void onSubmitAction(Object command) throws Exception { |
23 | WebPublishingAcl webPublishingAcl = (WebPublishingAcl) command; |
24 | if (Constants.FRAGMENT.equals(webPublishingAcl.getType())) { |
25 | Fragment fragment = webPublishingAcl.getFragment(); |
26 | fragment.getAclExpression().setAclExpression(webPublishingAcl.getAclExpression()); |
27 | fragment.getAclExpressionHtml().setAclExpressionHtml(webPublishingAcl.getAclExpressionHtml()); |
28 | getPublishingService().saveFragment(fragment); |
29 | } |
30 | if (Constants.TAB.equals(webPublishingAcl.getType())) { |
31 | Tab tab = webPublishingAcl.getTab(); |
32 | tab.getAclExpression().setAclExpression(webPublishingAcl.getAclExpression()); |
33 | tab.getAclExpressionHtml().setAclExpressionHtml(webPublishingAcl.getAclExpressionHtml()); |
34 | getPublishingService().saveTab(tab); |
35 | } |
36 | } |
37 | |
38 | protected ModelAndView onSubmitRender(Object command) throws Exception { |
39 | ModelAndView modelAndView = new ModelAndView("displayPublishingFragmentsTabs"); |
40 | List fragmentsTabs = new ArrayList(); |
41 | for (Iterator iter = getPublishingService().findAllFragments().iterator(); iter.hasNext();) { |
42 | Fragment fragment = (Fragment) iter.next(); |
43 | WebPublishingAcl webPublishingAcl = new WebPublishingAcl(); |
44 | webPublishingAcl.setType(Constants.FRAGMENT); |
45 | webPublishingAcl.setName(fragment.getTitle()); |
46 | webPublishingAcl.setId(fragment.getFragmentId()); |
47 | fragmentsTabs.add(webPublishingAcl); |
48 | } |
49 | for (Iterator iter = getPublishingService().findAllTabs().iterator(); iter.hasNext();) { |
50 | Tab tab = (Tab) iter.next(); |
51 | WebPublishingAcl webPublishingAcl = new WebPublishingAcl(); |
52 | webPublishingAcl.setType(Constants.TAB); |
53 | webPublishingAcl.setName(tab.getName()); |
54 | webPublishingAcl.setId(tab.getTabId()); |
55 | fragmentsTabs.add(webPublishingAcl); |
56 | } |
57 | modelAndView.addObject("fragmentsTabs", fragmentsTabs); |
58 | return modelAndView; |
59 | } |
60 | |
61 | protected Object formBackingObject(PortletRequest request) throws Exception { |
62 | if (request.getParameter("id") != null) { |
63 | if (Constants.FRAGMENT.equals(request.getParameter("type"))) { |
64 | WebPublishingAcl webPublishingAcl = new WebPublishingAcl(getPublishingService().findFragmentById(Long.parseLong(request.getParameter("id")))); |
65 | if (webPublishingAcl.getFragment().getAclExpression() == null) { |
66 | webPublishingAcl.getFragment().setAclExpression(new AclExpression()); |
67 | } |
68 | if (webPublishingAcl.getFragment().getAclExpressionHtml() == null) { |
69 | webPublishingAcl.getFragment().setAclExpressionHtml(new AclExpressionHtml()); |
70 | } |
71 | webPublishingAcl.setAclExpression(webPublishingAcl.getFragment().getAclExpression().getAclExpression()); |
72 | webPublishingAcl.setAclExpressionHtml(webPublishingAcl.getFragment().getAclExpressionHtml().getAclExpressionHtml()); |
73 | webPublishingAcl.setType(Constants.FRAGMENT); |
74 | return webPublishingAcl; |
75 | } |
76 | if (Constants.TAB.equals(request.getParameter("type"))) { |
77 | WebPublishingAcl webPublishingAcl = new WebPublishingAcl(getPublishingService().findTabById(Long.parseLong(request.getParameter("id")))); |
78 | if (webPublishingAcl.getTab().getAclExpression() == null) { |
79 | webPublishingAcl.getTab().setAclExpression(new AclExpression()); |
80 | } |
81 | if (webPublishingAcl.getTab().getAclExpressionHtml() == null) { |
82 | webPublishingAcl.getTab().setAclExpressionHtml(new AclExpressionHtml()); |
83 | } |
84 | webPublishingAcl.setAclExpression(webPublishingAcl.getTab().getAclExpression().getAclExpression()); |
85 | webPublishingAcl.setAclExpressionHtml(webPublishingAcl.getTab().getAclExpressionHtml().getAclExpressionHtml()); |
86 | webPublishingAcl.setType(Constants.TAB); |
87 | return webPublishingAcl; |
88 | } |
89 | } |
90 | return new WebPublishingAcl(); |
91 | } |
92 | |
93 | public PublishingService getPublishingService() { |
94 | return publishingService; |
95 | } |
96 | |
97 | public void setPublishingService(PublishingService publishingService) { |
98 | this.publishingService = publishingService; |
99 | } |
100 | |
101 | } |