1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.imagegallery.asset;
16  
17  import com.liferay.portal.kernel.portlet.LiferayPortletRequest;
18  import com.liferay.portal.kernel.portlet.LiferayPortletResponse;
19  import com.liferay.portal.kernel.util.HtmlUtil;
20  import com.liferay.portal.security.permission.ActionKeys;
21  import com.liferay.portal.theme.ThemeDisplay;
22  import com.liferay.portal.util.PortletKeys;
23  import com.liferay.portal.util.WebKeys;
24  import com.liferay.portlet.asset.model.BaseAssetRenderer;
25  import com.liferay.portlet.imagegallery.model.IGImage;
26  import com.liferay.portlet.imagegallery.service.permission.IGPermission;
27  
28  import javax.portlet.PortletURL;
29  import javax.portlet.RenderRequest;
30  import javax.portlet.RenderResponse;
31  import javax.portlet.WindowState;
32  
33  /**
34   * <a href="IGImageAssetRenderer.java.html"><b><i>View Source</i></b></a>
35   *
36   * @author Julio Camarero
37   */
38  public class IGImageAssetRenderer extends BaseAssetRenderer {
39  
40      public IGImageAssetRenderer(IGImage image) {
41          _image = image;
42      }
43  
44      public long getClassPK() {
45          return _image.getImageId();
46      }
47  
48      public long getGroupId() {
49          return _image.getGroupId();
50      }
51  
52      public String getSummary() {
53          return HtmlUtil.stripHtml(_image.getDescription());
54      }
55  
56      public String getTitle() {
57          return _image.getName();
58      }
59  
60      public PortletURL getURLEdit(
61          LiferayPortletRequest liferayPortletRequest,
62          LiferayPortletResponse liferayPortletResponse) {
63  
64          ThemeDisplay themeDisplay =
65              (ThemeDisplay)liferayPortletRequest.getAttribute(
66                  WebKeys.THEME_DISPLAY);
67  
68          PortletURL editPortletURL = null;
69  
70          if (IGPermission.contains(
71                  themeDisplay.getPermissionChecker(),
72                  themeDisplay.getScopeGroupId(), ActionKeys.ADD_IMAGE)) {
73  
74              editPortletURL = liferayPortletResponse.createRenderURL(
75                  PortletKeys.IMAGE_GALLERY);
76  
77              editPortletURL.setParameter(
78                  "struts_action", "/image_gallery/edit_image");
79              editPortletURL.setParameter(
80                  "folderId", String.valueOf(_image.getFolderId()));
81              editPortletURL.setParameter(
82                   "imageId", String.valueOf(_image.getImageId()));
83          }
84  
85          return editPortletURL;
86      }
87  
88      public String getURLViewInContext(
89              LiferayPortletRequest liferayPortletRequest,
90              LiferayPortletResponse liferayPortletResponse,
91              String noSuchEntryRedirect)
92          throws Exception {
93  
94          PortletURL viewPortletURL = liferayPortletResponse.createRenderURL(
95              PortletKeys.IMAGE_GALLERY);
96  
97          viewPortletURL.setWindowState(WindowState.MAXIMIZED);
98  
99          viewPortletURL.setParameter("struts_action", "/image_gallery/view");
100         viewPortletURL.setParameter(
101             "groupId", String.valueOf(_image.getGroupId()));
102         viewPortletURL.setParameter(
103             "folderId", String.valueOf(_image.getFolderId()));
104 
105         return viewPortletURL.toString();
106     }
107 
108     public long getUserId() {
109         return _image.getUserId();
110     }
111 
112     public String getViewInContextMessage() {
113         return "view-album";
114     }
115 
116     public boolean isPrintable() {
117         return true;
118     }
119 
120     public String render(
121         RenderRequest renderRequest, RenderResponse renderResponse,
122         String template) {
123 
124         if (template.equals(TEMPLATE_ABSTRACT) ||
125             template.equals(TEMPLATE_FULL_CONTENT)) {
126 
127             renderRequest.setAttribute(WebKeys.IMAGE_GALLERY_IMAGE, _image);
128 
129             return "/html/portlet/image_gallery/asset/" + template + ".jsp";
130         }
131         else {
132             return null;
133         }
134     }
135 
136     private IGImage _image;
137 
138 }