1 31 32 package org.opencms.workplace.tools.projects; 33 34 import org.opencms.file.CmsBackupProject; 35 import org.opencms.jsp.CmsJspActionElement; 36 import org.opencms.main.CmsException; 37 import org.opencms.main.CmsRuntimeException; 38 import org.opencms.workplace.list.A_CmsListDialog; 39 import org.opencms.workplace.list.CmsListColumnAlignEnum; 40 import org.opencms.workplace.list.CmsListColumnDefinition; 41 import org.opencms.workplace.list.CmsListDateMacroFormatter; 42 import org.opencms.workplace.list.CmsListDirectAction; 43 import org.opencms.workplace.list.CmsListItem; 44 import org.opencms.workplace.list.CmsListItemDetails; 45 import org.opencms.workplace.list.CmsListItemDetailsFormatter; 46 import org.opencms.workplace.list.CmsListMetadata; 47 import org.opencms.workplace.list.CmsListOrderEnum; 48 import org.opencms.workplace.list.CmsListSearchAction; 49 50 import java.util.ArrayList ; 51 import java.util.Date ; 52 import java.util.Iterator ; 53 import java.util.List ; 54 55 import javax.servlet.http.HttpServletRequest ; 56 import javax.servlet.http.HttpServletResponse ; 57 import javax.servlet.jsp.PageContext ; 58 59 68 public class CmsProjectHistoryList extends A_CmsListDialog { 69 70 71 public static final String LIST_ACTION_ICON = "ai"; 72 73 74 public static final String LIST_COLUMN_CREATION = "cc"; 75 76 77 public static final String LIST_COLUMN_DESCRIPTION = "cd"; 78 79 80 public static final String LIST_COLUMN_ICON = "ci"; 81 82 83 public static final String LIST_COLUMN_MANAGER = "cm"; 84 85 86 public static final String LIST_COLUMN_NAME = "cn"; 87 88 89 public static final String LIST_COLUMN_OWNER = "co"; 90 91 92 public static final String LIST_COLUMN_PUBLISHED_BY = "cb"; 93 94 95 public static final String LIST_COLUMN_PUBLISHED_DATE = "cp"; 96 97 98 public static final String LIST_COLUMN_USER = "cu"; 99 100 101 public static final String LIST_DETAIL_RESOURCES = "dr"; 102 103 104 public static final String LIST_ID = "lph"; 105 106 111 public CmsProjectHistoryList(CmsJspActionElement jsp) { 112 113 super( 114 jsp, 115 LIST_ID, 116 Messages.get().container(Messages.GUI_PROJECTHISTORY_LIST_NAME_0), 117 LIST_COLUMN_PUBLISHED_DATE, 118 CmsListOrderEnum.ORDER_DESCENDING, 119 null); 120 } 121 122 129 public CmsProjectHistoryList(PageContext context, HttpServletRequest req, HttpServletResponse res) { 130 131 this(new CmsJspActionElement(context, req, res)); 132 } 133 134 142 public void executeListMultiActions() throws CmsRuntimeException { 143 144 throwListUnsupportedActionException(); 145 } 146 147 154 public void executeListSingleActions() throws CmsRuntimeException { 155 156 throwListUnsupportedActionException(); 157 } 158 159 162 protected void fillDetails(String detailId) { 163 164 List projects = getList().getAllContent(); 166 Iterator itProjects = projects.iterator(); 167 while (itProjects.hasNext()) { 168 CmsListItem item = (CmsListItem)itProjects.next(); 169 try { 170 if (detailId.equals(LIST_DETAIL_RESOURCES)) { 171 CmsBackupProject project = getCms().readBackupProject(new Integer (item.getId()).intValue()); 172 StringBuffer html = new StringBuffer (512); 173 Iterator resources = project.getProjectResources().iterator(); 174 while (resources.hasNext()) { 175 html.append(resources.next().toString()); 176 html.append("<br>"); 177 } 178 item.set(LIST_DETAIL_RESOURCES, html.toString()); 179 } 180 } catch (Exception e) { 181 } 183 } 184 } 185 186 189 protected List getListItems() throws CmsException { 190 191 List ret = new ArrayList (); 192 List projects = getCms().getAllBackupProjects(); 194 Iterator itProjects = projects.iterator(); 195 while (itProjects.hasNext()) { 196 CmsBackupProject project = (CmsBackupProject)itProjects.next(); 197 CmsListItem item = getList().newItem(new Integer (project.getVersionId()).toString()); 198 item.set(LIST_COLUMN_NAME, project.getName()); 199 item.set(LIST_COLUMN_DESCRIPTION, project.getDescription()); 200 try { 201 item.set(LIST_COLUMN_OWNER, project.getOwnerName()); 202 } catch (Exception e) { 203 } 205 try { 206 item.set(LIST_COLUMN_MANAGER, project.getManagerGroupName()); 207 } catch (Exception e) { 208 } 210 try { 211 item.set(LIST_COLUMN_USER, project.getGroupName()); 212 } catch (Exception e) { 213 } 215 try { 216 item.set(LIST_COLUMN_PUBLISHED_DATE, new Date (project.getPublishingDate())); 217 } catch (Exception e) { 218 } 220 try { 221 item.set(LIST_COLUMN_PUBLISHED_BY, project.getPublishedByName()); 222 } catch (Exception e) { 223 } 225 item.set(LIST_COLUMN_CREATION, new Date (project.getDateCreated())); 226 ret.add(item); 227 } 228 229 return ret; 230 } 231 232 235 protected void initMessages() { 236 237 addMessages(Messages.get().getBundleName()); 239 super.initMessages(); 241 } 242 243 246 protected void setColumns(CmsListMetadata metadata) { 247 248 CmsListColumnDefinition iconCol = new CmsListColumnDefinition(LIST_COLUMN_ICON); 250 iconCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_ICON_0)); 251 iconCol.setHelpText(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_ICON_HELP_0)); 252 iconCol.setWidth("20"); 253 iconCol.setAlign(CmsListColumnAlignEnum.ALIGN_CENTER); 254 iconCol.setSorteable(false); 255 CmsListDirectAction iconAction = new CmsListDirectAction(LIST_ACTION_ICON); 257 iconAction.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_ACTION_ICON_NAME_0)); 258 iconAction.setHelpText(Messages.get().container(Messages.GUI_PROJECTS_LIST_ACTION_ICON_HELP_0)); 259 iconAction.setIconPath(CmsProjectsList.PATH_BUTTONS + "project.png"); 260 iconAction.setEnabled(false); 261 iconCol.addDirectAction(iconAction); 262 metadata.addColumn(iconCol); 264 265 CmsListColumnDefinition nameCol = new CmsListColumnDefinition(LIST_COLUMN_NAME); 267 nameCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_NAME_0)); 268 nameCol.setWidth("10%"); 269 metadata.addColumn(nameCol); 271 272 CmsListColumnDefinition descriptionCol = new CmsListColumnDefinition(LIST_COLUMN_DESCRIPTION); 274 descriptionCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_DESCRIPTION_0)); 275 descriptionCol.setWidth("30%"); 276 descriptionCol.setTextWrapping(true); 277 metadata.addColumn(descriptionCol); 278 279 CmsListColumnDefinition publishingDateCol = new CmsListColumnDefinition(LIST_COLUMN_PUBLISHED_DATE); 281 publishingDateCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_PUBLISHED_DATE_0)); 282 publishingDateCol.setWidth("10%"); 283 publishingDateCol.setFormatter(CmsListDateMacroFormatter.getDefaultDateFormatter()); 284 metadata.addColumn(publishingDateCol); 285 286 CmsListColumnDefinition publishedByCol = new CmsListColumnDefinition(LIST_COLUMN_PUBLISHED_BY); 288 publishedByCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_PUBLISHED_BY_0)); 289 publishedByCol.setWidth("10%"); 290 metadata.addColumn(publishedByCol); 291 292 CmsListColumnDefinition ownerCol = new CmsListColumnDefinition(LIST_COLUMN_OWNER); 294 ownerCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_OWNER_0)); 295 ownerCol.setWidth("10%"); 296 metadata.addColumn(ownerCol); 297 298 CmsListColumnDefinition managerCol = new CmsListColumnDefinition(LIST_COLUMN_MANAGER); 300 managerCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_MANAGER_0)); 301 managerCol.setWidth("10%"); 302 metadata.addColumn(managerCol); 303 304 CmsListColumnDefinition userCol = new CmsListColumnDefinition(LIST_COLUMN_USER); 306 userCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_USER_0)); 307 userCol.setWidth("10%"); 308 metadata.addColumn(userCol); 309 310 CmsListColumnDefinition creationCol = new CmsListColumnDefinition(LIST_COLUMN_CREATION); 312 creationCol.setName(Messages.get().container(Messages.GUI_PROJECTS_LIST_COLS_CREATION_0)); 313 creationCol.setWidth("10%"); 314 creationCol.setFormatter(CmsListDateMacroFormatter.getDefaultDateFormatter()); 315 metadata.addColumn(creationCol); 316 } 317 318 321 protected void setIndependentActions(CmsListMetadata metadata) { 322 323 CmsListItemDetails resourcesDetails = new CmsListItemDetails(LIST_DETAIL_RESOURCES); 325 resourcesDetails.setAtColumn(LIST_COLUMN_NAME); 326 resourcesDetails.setVisible(false); 327 resourcesDetails.setShowActionName(Messages.get().container(Messages.GUI_PROJECTS_DETAIL_SHOW_RESOURCES_NAME_0)); 328 resourcesDetails.setShowActionHelpText(Messages.get().container( 329 Messages.GUI_PROJECTS_DETAIL_SHOW_RESOURCES_HELP_0)); 330 resourcesDetails.setHideActionName(Messages.get().container(Messages.GUI_PROJECTS_DETAIL_HIDE_RESOURCES_NAME_0)); 331 resourcesDetails.setHideActionHelpText(Messages.get().container( 332 Messages.GUI_PROJECTS_DETAIL_HIDE_RESOURCES_HELP_0)); 333 resourcesDetails.setName(Messages.get().container(Messages.GUI_PROJECTS_DETAIL_RESOURCES_NAME_0)); 334 resourcesDetails.setFormatter(new CmsListItemDetailsFormatter(Messages.get().container( 335 Messages.GUI_PROJECTS_DETAIL_RESOURCES_NAME_0))); 336 metadata.addItemDetails(resourcesDetails); 337 338 CmsListSearchAction searchAction = new CmsListSearchAction(metadata.getColumnDefinition(LIST_COLUMN_NAME)); 340 searchAction.addColumn(metadata.getColumnDefinition(LIST_COLUMN_DESCRIPTION)); 341 metadata.setSearchAction(searchAction); 342 343 } 344 345 348 protected void setMultiActions(CmsListMetadata metadata) { 349 350 } 352 353 } 354 | Popular Tags |