KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > applications > contenttool > actions > ViewContentToolToolBarAction


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23
24 package org.infoglue.cms.applications.contenttool.actions;
25
26 import java.net.URLEncoder JavaDoc;
27 import java.util.ArrayList JavaDoc;
28 import java.util.List JavaDoc;
29
30 import org.apache.log4j.Logger;
31 import org.infoglue.cms.applications.common.ImageButton;
32 import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction;
33 import org.infoglue.cms.controllers.kernel.impl.simple.ContentController;
34 import org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController;
35 import org.infoglue.cms.controllers.kernel.impl.simple.RepositoryController;
36 import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeController;
37 import org.infoglue.cms.entities.content.ContentVO;
38 import org.infoglue.cms.entities.content.ContentVersion;
39 import org.infoglue.cms.entities.content.ContentVersionVO;
40 import org.infoglue.cms.entities.management.RepositoryVO;
41 import org.infoglue.cms.entities.structure.SiteNodeVO;
42 import org.infoglue.cms.util.CmsPropertyHandler;
43
44 /**
45  * This class implements the action class for the framed page in the content tool.
46  *
47  * @author Mattias Bogeblad
48  */

49
50 public class ViewContentToolToolBarAction extends InfoGlueAbstractAction
51 {
52     private final static Logger logger = Logger.getLogger(ViewContentToolToolBarAction.class.getName());
53
54     private static final long serialVersionUID = 1L;
55     
56     private String JavaDoc title = "";
57     private String JavaDoc name = "";
58     private String JavaDoc toolbarKey = "";
59     private String JavaDoc url = "";
60     private Boolean JavaDoc isBranch = new Boolean JavaDoc(false);
61         
62     //All id's that are used
63
private Integer JavaDoc repositoryId = null;
64     private Integer JavaDoc siteNodeId = null;
65     private Integer JavaDoc languageId = null;
66     private Integer JavaDoc contentId = null;
67     private Integer JavaDoc contentVersionId = null;
68     private Integer JavaDoc lastPublishedContentVersionId = null;
69     private String JavaDoc languageName = "";
70     
71     private ContentVO contentVO = null;
72     
73     public String JavaDoc doExecute() throws Exception JavaDoc
74     {
75         if(this.contentId != null)
76         {
77             this.contentVO = ContentController.getContentController().getContentVOWithId(this.contentId);
78         }
79             
80         if(this.repositoryId == null && this.contentId != null)
81         {
82             this.repositoryId = ContentController.getContentController().getContentVOWithId(this.contentId).getRepositoryId();
83             SiteNodeVO rootSiteNodeVO = SiteNodeController.getController().getRootSiteNodeVO(this.repositoryId);
84             if(rootSiteNodeVO != null)
85                 this.siteNodeId = rootSiteNodeVO.getId();
86         }
87         
88         return "success";
89     }
90
91     public Integer JavaDoc getRepositoryId()
92     {
93         return this.repositoryId;
94     }
95
96     public void setRepositoryId(Integer JavaDoc repositoryId)
97     {
98         this.repositoryId = repositoryId;
99     }
100
101     public Integer JavaDoc getContentId()
102     {
103         return this.contentId;
104     }
105
106     public void setContentId(Integer JavaDoc contentId)
107     {
108         this.contentId = contentId;
109     }
110
111     public Integer JavaDoc getContentVersionId()
112     {
113         return this.contentVersionId;
114     }
115     
116     public void setContentVersionId(Integer JavaDoc contentVersionId)
117     {
118         this.contentVersionId = contentVersionId;
119     }
120
121     public Integer JavaDoc getLanguageId()
122     {
123         return this.languageId;
124     }
125
126     public void setLanguageId(Integer JavaDoc languageId)
127     {
128         this.languageId = languageId;
129     }
130
131     public String JavaDoc getTitle()
132     {
133         return this.title;
134     }
135     
136     public void setTitle(String JavaDoc title)
137     {
138         this.title = title;
139     }
140
141     public String JavaDoc getName()
142     {
143         return this.name;
144     }
145     
146     public void setName(String JavaDoc name)
147     {
148         this.name = name;
149     }
150
151     public Boolean JavaDoc getIsBranch()
152     {
153         return this.isBranch;
154     }
155     
156     public void setIsBranch(Boolean JavaDoc isBranch)
157     {
158         this.isBranch = isBranch;
159     }
160     
161     public String JavaDoc getToolbarKey()
162     {
163         return this.toolbarKey;
164     }
165
166     public void setToolbarKey(String JavaDoc toolbarKey)
167     {
168         this.toolbarKey = toolbarKey;
169     }
170
171     public void setUrl(String JavaDoc url)
172     {
173         this.url = url;
174     }
175     
176     public String JavaDoc getUrl()
177     {
178         return this.url;
179     }
180
181     public List JavaDoc getButtons()
182     {
183         logger.info("Title:" + this.title);
184         logger.info("toolbarKey:" + this.toolbarKey);
185         
186         if(this.toolbarKey.equalsIgnoreCase("content details"))
187         {
188             if(this.isBranch.booleanValue())
189                 return getBranchContentButtons();
190             else
191                 return getContentButtons();
192         }
193         else if(this.toolbarKey.equalsIgnoreCase("content version"))
194         {
195             return this.getContentVersionButtons();
196         }
197         else if(this.toolbarKey.equalsIgnoreCase("ContentVersionHistory"))
198         {
199             return this.getContentVersionHistoryButtons();
200         }
201                     
202         return null;
203     }
204
205     /**
206      * This method checks if there are published versions available for the contentVersion.
207      */

208     
209     private boolean hasAnyPublishedVersion()
210     {
211         boolean hasPublishedVersion = false;
212         
213         try
214         {
215             ContentVersion contentVersion = ContentVersionController.getContentVersionController().getLatestPublishedContentVersion(this.contentId);
216             if(contentVersion != null)
217             {
218                 hasPublishedVersion = true;
219                 lastPublishedContentVersionId = contentVersion.getContentVersionId();
220                 this.repositoryId = contentVersion.getOwningContent().getRepository().getId();
221                 this.name = contentVersion.getOwningContent().getName();
222                 this.languageName = contentVersion.getLanguage().getName();
223                 this.contentId = contentVersion.getOwningContent().getId();
224                 this.languageId = contentVersion.getLanguage().getId();
225             }
226         }
227         catch(Exception JavaDoc e){}
228                 
229         return hasPublishedVersion;
230     }
231     
232     /**
233      * This method checks if there are published versions available for the contentVersion.
234      */

235     
236     private boolean hasPublishedVersion()
237     {
238         boolean hasPublishedVersion = false;
239         
240         try
241         {
242             ContentVersion contentVersion = ContentVersionController.getContentVersionController().getLatestPublishedContentVersion(this.contentId, this.languageId);
243             if(contentVersion != null)
244             {
245                 hasPublishedVersion = true;
246                 lastPublishedContentVersionId = contentVersion.getContentVersionId();
247                 this.repositoryId = contentVersion.getOwningContent().getRepository().getId();
248                 this.name = contentVersion.getOwningContent().getName();
249                 this.languageName = contentVersion.getLanguage().getName();
250                 this.contentId = contentVersion.getOwningContent().getId();
251                 this.languageId = contentVersion.getLanguage().getId();
252             }
253         }
254         catch(Exception JavaDoc e){}
255                 
256         return hasPublishedVersion;
257     }
258     
259     
260     /**
261      * This method checks if the content version is read only (ie publish, published or final).
262      */

263     
264     private boolean isReadOnly()
265     {
266         boolean isReadOnly = false;
267         
268         try
269         {
270             ContentVersionVO contentVersion = ContentVersionController.getContentVersionController().getContentVersionVOWithId(this.contentVersionId);
271             if(contentVersion != null && (contentVersion.getStateId().intValue() == 1 || contentVersion.getStateId().intValue() == 2 || contentVersion.getStateId().intValue() == 3))
272             {
273                 isReadOnly = true;
274             }
275         }
276         catch(Exception JavaDoc e){}
277                 
278         return isReadOnly;
279     }
280
281
282     private List JavaDoc getBranchContentButtons()
283     {
284         List JavaDoc buttons = new ArrayList JavaDoc();
285         
286         try
287         {
288             buttons.add(new ImageButton("CreateContent!input.action?isBranch=false&parentContentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.newContent"), "tool.contenttool.newContent.header"));
289             buttons.add(new ImageButton("CreateContent!input.action?isBranch=true&parentContentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.newContentFolder"), "tool.contenttool.newContentFolder.header"));
290             
291             ImageButton moveButton = getMoveButton();
292             moveButton.getSubButtons().add(getMoveMultipleButton());
293             buttons.add(moveButton);
294             
295             buttons.add(getDeleteButton());
296             buttons.add(getPublishButton());
297             //if(hasAnyPublishedVersion())
298
//{
299
ImageButton unpublishButton = getUnpublishButton();
300             ImageButton unpublishAllButton = getUnpublishAllButton();
301             unpublishButton.getSubButtons().add(unpublishAllButton);
302             
303             buttons.add(unpublishButton);
304             //}
305

306             buttons.add(getExecuteTaskButton());
307             if(this.contentVO.getIsProtected().intValue() == ContentVO.YES.intValue())
308                 buttons.add(getAccessRightsButton());
309
310             buttons.add(new ImageButton("ViewContentVersionHistory.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.viewHistory"), "History", new Integer JavaDoc(22), new Integer JavaDoc(80)));
311
312             buttons.add(getSyncTreeButton());
313             
314             buttons.add(new ImageButton("ViewContentProperties.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.global.buttons.editProperties"), "Edit Properties", new Integer JavaDoc(22), new Integer JavaDoc(80)));
315
316         }
317         catch(Exception JavaDoc e)
318         {
319             logger.warn("Exception when generating buttons:" + e.getMessage(), e);
320         }
321         
322         return buttons;
323     }
324     
325     private List JavaDoc getContentButtons()
326     {
327         List JavaDoc buttons = new ArrayList JavaDoc();
328         try
329         {
330             buttons.add(getDeleteButton());
331             
332             ImageButton moveButton = getMoveButton();
333             moveButton.getSubButtons().add(getMoveMultipleButton());
334             buttons.add(moveButton);
335             
336             buttons.add(getPublishButton());
337             if(hasAnyPublishedVersion())
338             {
339                 ImageButton unpublishButton = getUnpublishButton();
340                 ImageButton unpublishAllButton = getUnpublishAllButton();
341                 unpublishButton.getSubButtons().add(unpublishAllButton);
342             
343                 buttons.add(unpublishButton);
344             }
345             
346             buttons.add(getExecuteTaskButton());
347             
348             if(this.contentVO.getIsProtected().intValue() == ContentVO.YES.intValue())
349                 buttons.add(getAccessRightsButton());
350
351             buttons.add(new ImageButton("ViewContentVersionHistory.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.viewHistory"), "History", new Integer JavaDoc(22), new Integer JavaDoc(80)));
352             
353             buttons.add(getSyncTreeButton());
354             
355         }
356         catch(Exception JavaDoc e)
357         {
358             logger.warn("Exception when generating buttons:" + e.getMessage(), e);
359         }
360
361         return buttons;
362     }
363
364
365     private List JavaDoc getContentVersionButtons()
366     {
367         List JavaDoc buttons = new ArrayList JavaDoc();
368         
369         try
370         {
371             boolean latest = true;
372             if(this.contentVersionId != null)
373             {
374                 ContentVersionVO currentContentVersionVO = ContentVersionController.getContentVersionController().getContentVersionVOWithId(this.contentVersionId);
375                 ContentVersionVO latestContentVersionVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(currentContentVersionVO.getContentId(), currentContentVersionVO.getLanguageId());
376                 if(currentContentVersionVO.getId().intValue() != latestContentVersionVO.getId().intValue())
377                     latest = false;
378             }
379             
380             buttons.add(getCoverButton());
381             
382             if(latest)
383             {
384                 buttons.add(getDeleteButton());
385                 
386                 if(this.contentVersionId != null)
387                 {
388                     if(!isReadOnly())
389                         buttons.add(new ImageButton(true, "javascript:openPopup('ViewDigitalAsset.action?contentVersionId=" + this.contentVersionId + "', 'FileUpload', 'width=400,height=200,resizable=no');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.newAsset"), "tool.contenttool.uploadDigitalAsset.header"));
390                 
391                     if(this.siteNodeId != null)
392                     {
393                         RepositoryVO repositoryVO = RepositoryController.getController().getRepositoryVOWithId(this.repositoryId);
394     
395                         String JavaDoc dnsName = repositoryVO.getDnsName();
396     
397                         String JavaDoc workingUrl = null;
398                         
399                         String JavaDoc keyword = "working=";
400                         int startIndex = (dnsName == null) ? -1 : dnsName.indexOf(keyword);
401                         if(startIndex != -1)
402                         {
403                             int endIndex = dnsName.indexOf(",", startIndex);
404                             if(endIndex > -1)
405                                 dnsName = dnsName.substring(startIndex, endIndex);
406                             else
407                                 dnsName = dnsName.substring(startIndex);
408     
409                             workingUrl = dnsName.split("=")[1] + CmsPropertyHandler.getComponentRendererUrl() + "ViewPage.action";
410                         }
411                         else
412                         {
413                             workingUrl = CmsPropertyHandler.getPreviewDeliveryUrl();
414                         }
415                         
416                         ImageButton previewSiteButton = new ImageButton(true, "javascript:openPopup('" + workingUrl + "?siteNodeId=" + this.siteNodeId + "&languageId=" + this.languageId + "', 'SitePreview', 'width=800,height=600,resizable=yes,toolbar=yes,scrollbars=yes,status=yes,location=yes,menubar=yes');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.previewSite"), "tool.contenttool.previewSite.header");
417                         ImageButton previewContentButton = new ImageButton(true, "javascript:openPopup('ViewContentVersion!preview.action?contentVersionId=" + this.contentVersionId + "&contentId=" + this.contentId + "&languageId=" + this.languageId + "', 'ContentPreview', 'width=800,height=600,resizable=yes,toolbar=yes,scrollbars=yes,status=yes,location=yes,menubar=yes');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.previewContent"), "tool.contenttool.previewContent.header");
418                         previewSiteButton.getSubButtons().add(previewContentButton);
419     
420                         buttons.add(previewSiteButton);
421                     }
422                     
423                     if(hasPublishedVersion())
424                     {
425                         ImageButton unpublishButton = getUnpublishButton();
426                         ImageButton unpublishAllButton = getUnpublishAllButton();
427                         unpublishButton.getSubButtons().add(unpublishAllButton);
428
429                         buttons.add(unpublishButton);
430                     }
431                         
432                     if(this.contentVO.getIsProtected().intValue() == ContentVO.YES.intValue())
433                         buttons.add(getContentVersionAccessRightsButton());
434     
435                     if(!isReadOnly())
436                         buttons.add(getPublishButton());
437                 }
438                 buttons.add(getSyncTreeButton());
439             }
440             else
441             {
442                 buttons.add(getDeleteVersionButton());
443             }
444         }
445         catch(Exception JavaDoc e)
446         {
447             logger.warn("Exception when generating buttons:" + e.getMessage(), e);
448         }
449
450         return buttons;
451     }
452
453     
454
455     private List JavaDoc getContentVersionHistoryButtons()
456     {
457         List JavaDoc buttons = new ArrayList JavaDoc();
458         
459         try
460         {
461             buttons.add(getCompareButton());
462         }
463         catch(Exception JavaDoc e)
464         {
465             logger.warn("Exception when generating buttons:" + e.getMessage(), e);
466         }
467
468         return buttons;
469     }
470
471     private ImageButton getCompareButton()
472     {
473         return new ImageButton(true, "javascript:compareVersions('contentVersion');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.compareVersions"), "tool.contenttool.compareVersions.header");
474         
475         //return new ImageButton(true, "javascript:openPopup('ViewContentVersionDifference.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&hideLeafs=true', 'MoveContent', 'width=400,height=600,resizable=no');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.moveContent"), "tool.contenttool.moveContent.header");
476
}
477
478     
479     private ImageButton getCoverButton()
480     {
481         try
482         {
483             return new ImageButton("ViewContent.action?contentId=" + this.contentId + "&stay=true", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.contentCover"), "tool.contenttool.contentDetailsHeader");
484         }
485         catch(Exception JavaDoc e){}
486
487         return null;
488     }
489     
490     private ImageButton getUnpublishButton()
491     {
492         try
493         {
494             return new ImageButton("UnpublishContentVersion!input.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.unpublishVersion"), "tool.contenttool.unpublishVersion.header");
495         }
496         catch(Exception JavaDoc e){}
497
498         return null;
499     }
500
501     private ImageButton getUnpublishAllButton()
502     {
503         try
504         {
505             return new ImageButton("UnpublishContentVersion!inputChooseContents.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.unpublishAllVersion"), "tool.contenttool.unpublishAllVersion.header");
506         }
507         catch(Exception JavaDoc e){}
508
509         return null;
510
511         //return new ImageButton(true, "javascript:openPopup('MoveMultipleContent!input.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "', 'MoveMultipleContent', 'width=400,height=600,resizable=no');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.moveMultipleContent"), "tool.contenttool.moveMultipleContent.header");
512
}
513
514     private ImageButton getDeleteButton()
515     {
516         try
517         {
518             String JavaDoc url = "Confirm.action?header=tool.contenttool.deleteContent.header&yesDestination=" + URLEncoder.encode(URLEncoder.encode("DeleteContent.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&changeTypeId=4", "UTF-8"), "UTF-8") + "&noDestination=" + URLEncoder.encode(URLEncoder.encode("ViewContent.action?title=Content&contentId=" + this.contentId + "&repositoryId=" + this.repositoryId, "UTF-8"), "UTF-8") + "&message=tool.contenttool.deleteContent.text";
519             return new ImageButton(url, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.deleteContent"), "tool.contenttool.deleteContent.header");
520         }
521         catch(Exception JavaDoc e){e.printStackTrace();}
522
523         return null;
524     }
525
526     private ImageButton getDeleteVersionButton()
527     {
528         try
529         {
530             String JavaDoc url = "Confirm.action?header=tool.contenttool.deleteContentVersion.header&yesDestination=" + URLEncoder.encode(URLEncoder.encode("DeleteContentVersion.action?contentVersionId=" + this.contentVersionId + "&repositoryId=" + this.repositoryId + "&contentId=" + this.contentId, "UTF-8"), "UTF-8") + "&noDestination=" + URLEncoder.encode(URLEncoder.encode("ViewContentVersionHistory.action", "UTF-8"), "UTF-8") + "&message=tool.contenttool.deleteContentVersion.text";
531             return new ImageButton(url, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.deleteContentVersion"), "tool.contenttool.deleteContentVersion.header");
532         }
533         catch(Exception JavaDoc e){e.printStackTrace();}
534
535         return null;
536     }
537
538     private ImageButton getMoveButton()
539     {
540         return new ImageButton(true, "javascript:openPopup('ViewContentTree.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&hideLeafs=true', 'MoveContent', 'width=400,height=600,resizable=no');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.moveContent"), "tool.contenttool.moveContent.header");
541     }
542
543     private ImageButton getMoveMultipleButton()
544     {
545         return new ImageButton(true, "javascript:openPopup('MoveMultipleContent!input.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "', 'MoveMultipleContent', 'width=400,height=600,resizable=no');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.moveMultipleContent"), "tool.contenttool.moveMultipleContent.header");
546     }
547
548     private ImageButton getSyncTreeButton()
549     {
550         return new ImageButton(true, "javascript:parent.frames['main'].syncWithTree();", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.revealInTree"), "tool.contenttool.revealInTree.header");
551     }
552
553     private ImageButton getPublishButton()
554     {
555         return new ImageButton("ViewListContentVersion.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.publishContent"), "tool.contenttool.publishContent.header");
556     }
557
558     private ImageButton getExecuteTaskButton()
559     {
560         return new ImageButton(true, "javascript:openPopup('ViewExecuteTask.action?contentId=" + this.contentId + "', 'ExecuteTask', 'width=400,height=600,resizable=yes,scrollbars=yes');", getLocalizedString(getSession().getLocale(), "images.global.buttons.executeTask"), "tool.common.executeTask.header");
561     }
562     
563     private ImageButton getAccessRightsButton() throws Exception JavaDoc
564     {
565         String JavaDoc returnAddress = URLEncoder.encode(URLEncoder.encode("ViewContent.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&stay=true", "UTF-8"), "UTF-8");
566         //return new ImageButton("ViewAccessRights.action?name=Content&value=" + this.contentId + "&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.contentAccessRights"), "Content Access Rights");
567
return new ImageButton("ViewAccessRights.action?interceptionPointCategory=Content&extraParameters=" + this.contentId +"&colorScheme=ContentTool&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.contentAccessRights"), "tool.contenttool.contentAccessRights.header");
568     }
569
570     private ImageButton getContentVersionAccessRightsButton() throws Exception JavaDoc
571     {
572         String JavaDoc returnAddress = URLEncoder.encode(URLEncoder.encode("ViewContentVersion.action?contentVersionId=" + this.contentVersionId + "&contentId=" + contentId + "&languageId=" + languageId, "UTF-8"), "UTF-8");
573         return new ImageButton("ViewAccessRights.action?interceptionPointCategory=ContentVersion&extraParameters=" + this.contentVersionId +"&colorScheme=ContentTool&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.contentAccessRights"), "tool.contenttool.contentVersionAccessRights.header");
574     }
575
576 }
577
Popular Tags