Package org.infoglue.cms.applications.contenttool.actions

Source Code of org.infoglue.cms.applications.contenttool.actions.ViewContentToolToolBarAction

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

package org.infoglue.cms.applications.contenttool.actions;

import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.infoglue.cms.applications.common.ImageButton;
import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction;
import org.infoglue.cms.controllers.kernel.impl.simple.AccessRightController;
import org.infoglue.cms.controllers.kernel.impl.simple.ContentController;
import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController;
import org.infoglue.cms.controllers.kernel.impl.simple.ContentVersionController;
import org.infoglue.cms.controllers.kernel.impl.simple.InterceptionPointController;
import org.infoglue.cms.controllers.kernel.impl.simple.RepositoryController;
import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeController;
import org.infoglue.cms.entities.content.ContentVO;
import org.infoglue.cms.entities.content.ContentVersion;
import org.infoglue.cms.entities.content.ContentVersionVO;
import org.infoglue.cms.entities.management.ContentTypeDefinitionVO;
import org.infoglue.cms.entities.management.RepositoryVO;
import org.infoglue.cms.entities.structure.SiteNodeVO;
import org.infoglue.cms.util.CmsPropertyHandler;

/**
* This class implements the action class for the framed page in the content tool.
*
* @author Mattias Bogeblad 
*/

public class ViewContentToolToolBarAction extends InfoGlueAbstractAction
{
    private final static Logger logger = Logger.getLogger(ViewContentToolToolBarAction.class.getName());

  private static final long serialVersionUID = 1L;
 
  private String title = "";
  private String name  = "";
  private String toolbarKey = "";
  private String url   = "";
  private Boolean isBranch = new Boolean(false);
   
  //All id's that are used
  private Integer repositoryId = null;
  private Integer siteNodeId = null;
  private Integer languageId = null;
  private Integer contentId = null;
  private Integer contentVersionId = null;
  private Integer lastPublishedContentVersionId = null;
  private String languageName = "";
 
  private String extraInformation = "";
 
  private ContentVO contentVO = null;
 
  public String doExecute() throws Exception
    {
    if(this.contentId != null)
    {
      this.contentVO = ContentController.getContentController().getContentVOWithId(this.contentId);
    }
     
      if(this.repositoryId == null && this.contentId != null)
      {
      this.repositoryId = ContentController.getContentController().getContentVOWithId(this.contentId).getRepositoryId();
        SiteNodeVO rootSiteNodeVO = SiteNodeController.getController().getRootSiteNodeVO(this.repositoryId);
      if(rootSiteNodeVO != null)
        this.siteNodeId = rootSiteNodeVO.getId();
      }
     
        return "success";
    }

  public Integer getRepositoryId()
  {
    return this.repositoryId;
  }                  

  public void setRepositoryId(Integer repositoryId)
  {
    this.repositoryId = repositoryId;
  }

  public Integer getContentId()
  {
    return this.contentId;
  }                  

  public void setContentId(Integer contentId)
  {
    this.contentId = contentId;
  }

  public Integer getContentVersionId()
  {
    return this.contentVersionId;
  }                  
 
  public void setContentVersionId(Integer contentVersionId)
  {
    this.contentVersionId = contentVersionId;
  }                  

  public Integer getLanguageId()
  {
    return this.languageId;
  }                  

  public void setLanguageId(Integer languageId)
  {
    this.languageId = languageId;
  }

  public String getTitle()
  {
    return this.title;
  }                  
 
  public void setTitle(String title)
  {
    this.title = title;
  }

  public String getName()
  {
    return this.name;
  }                  
 
  public void setName(String name)
  {
    this.name = name;
  }

  public Boolean getIsBranch()
  {
    return this.isBranch;
  }                  
 
  public void setIsBranch(Boolean isBranch)
  {
    this.isBranch = isBranch;
  }
 
  public String getToolbarKey()
  {
    return this.toolbarKey;
  }                  

  public void setToolbarKey(String toolbarKey)
  {
    this.toolbarKey = toolbarKey;
  }

  public void setUrl(String url)
  {
    this.url = url;
  }
 
  public String getUrl()
  {
    return this.url;
  }

  public List getButtons()
  {
    logger.info("Title:" + this.title);
    logger.info("toolbarKey:" + this.toolbarKey);
   
    if(this.toolbarKey.equalsIgnoreCase("content details"))
    {
      if(this.isBranch.booleanValue())
        return getBranchContentButtons();
      else
        return getContentButtons();
   
    else if(this.toolbarKey.equalsIgnoreCase("content version"))
    {
      return this.getContentVersionButtons();
    }
    else if(this.toolbarKey.equalsIgnoreCase("ContentVersionHistory"))
    {
      return this.getContentVersionHistoryButtons();
    }
         
    return null;       
  }

  /**
   * This method checks if there are published versions available for the contentVersion.
   */
 
  private boolean hasAnyPublishedVersion()
  {
    boolean hasPublishedVersion = false;
   
    try
    {
      ContentVersion contentVersion = ContentVersionController.getContentVersionController().getLatestPublishedContentVersion(this.contentId);
      if(contentVersion != null)
      {
        hasPublishedVersion = true;
        lastPublishedContentVersionId = contentVersion.getContentVersionId();
        this.repositoryId = contentVersion.getOwningContent().getRepository().getId();
        this.name = contentVersion.getOwningContent().getName();
        this.languageName = contentVersion.getLanguage().getName();
        this.contentId = contentVersion.getOwningContent().getId();
        this.languageId = contentVersion.getLanguage().getId();
      }
    }
    catch(Exception e){}
       
    return hasPublishedVersion;
  }
 
  /**
   * This method checks if there are published versions available for the contentVersion.
   */
 
  private boolean hasPublishedVersion()
  {
    boolean hasPublishedVersion = false;
   
    try
    {
      ContentVersion contentVersion = ContentVersionController.getContentVersionController().getLatestPublishedContentVersion(this.contentId, this.languageId);
      if(contentVersion != null)
      {
        hasPublishedVersion = true;
        lastPublishedContentVersionId = contentVersion.getContentVersionId();
        this.repositoryId = contentVersion.getOwningContent().getRepository().getId();
        this.name = contentVersion.getOwningContent().getName();
        this.languageName = contentVersion.getLanguage().getName();
        this.contentId = contentVersion.getOwningContent().getId();
        this.languageId = contentVersion.getLanguage().getId();
      }
    }
    catch(Exception e){}
       
    return hasPublishedVersion;
  }
 
  /**
   * This method checks if there are a version available.
   */
 
  private boolean hasVersion()
  {
    boolean hasVersion = false;
   
    try
    {
      ContentVersionVO contentVersionVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(this.contentId, this.languageId);
      if(contentVersionVO != null)
      {
        hasVersion = true;
      }
    }
    catch(Exception e){}
       
    return hasVersion;
  }
 
  /**
   * This method checks if the content version is read only (ie publish, published or final).
   */
 
  private boolean isReadOnly()
  {
    boolean isReadOnly = false;
   
    try
    {
      ContentVersionVO contentVersion = ContentVersionController.getContentVersionController().getContentVersionVOWithId(this.contentVersionId);
      if(contentVersion != null && (contentVersion.getStateId().intValue() == 1 || contentVersion.getStateId().intValue() == 2 || contentVersion.getStateId().intValue() == 3))
      {
        isReadOnly = true
      }
    }
    catch(Exception e){}
       
    return isReadOnly;
  }


  private List getBranchContentButtons()
  {
    List buttons = new ArrayList();
   
    try
    {
      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"))
      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"))
     
      ImageButton moveButton = getMoveButton();
      moveButton.getSubButtons().add(getMoveMultipleButton());
      buttons.add(moveButton);
     
      ImageButton deleteButton = getDeleteButton();
      ImageButton deleteChildrenButton = getDeleteChildrenButton();
      deleteButton.getSubButtons().add(deleteChildrenButton);
     
      buttons.add(deleteButton);
     
      buttons.add(getPublishButton());
      //if(hasAnyPublishedVersion())
      //{
        ImageButton unpublishButton = getUnpublishButton();
        ImageButton unpublishAllButton = getUnpublishAllButton();
        unpublishButton.getSubButtons().add(unpublishAllButton);
       
        buttons.add(unpublishButton);
      //}
   
      buttons.add(new ImageButton("ViewContentProperties.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.global.buttons.editProperties"), "Edit Properties", new Integer(22), new Integer(80)));

      if(this.contentVO.getIsProtected().intValue() == ContentVO.YES.intValue())
      {
          ImageButton accessRightsButton = getAccessRightsButton();
        buttons.add(accessRightsButton);
      }

      if(this.contentVO.getContentTypeDefinitionId() != null)
      {
        ContentTypeDefinitionVO contentTypeDefinitionVO = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithId(this.contentVO.getContentTypeDefinitionId());
        if(contentTypeDefinitionVO != null && (contentTypeDefinitionVO.getName().equalsIgnoreCase("HTMLTemplate") || contentTypeDefinitionVO.getName().equalsIgnoreCase("PageTemplate") || contentTypeDefinitionVO.getName().equalsIgnoreCase("PagePartTemplate")))
        {
          buttons.add(getComponentAccessRightsButton());
          buttons.add(getDeployComponentButton());
        }
      }
     
      buttons.add(new ImageButton("ViewContentVersionHistory.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.viewHistory"), "History", new Integer(22), new Integer(80)));

      buttons.add(getSyncTreeButton());

      buttons.add(getExecuteTaskButton());

      //if(this.getInfoGluePrincipal().getIsAdministrator())
        buttons.add(new ImageButton("UpdateContent!inputContentType.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.changeContentType"), "tool.contenttool.changeContentType.header"))

      if(AccessRightController.getController().getIsPrincipalAuthorized(this.getInfoGluePrincipal(), "ContentTool.ImportExport", true))
      {
        ImageButton exportButton = new ImageButton("ExportContent!input.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.exportContent"), "tool.contenttool.exportContent.header");
        ImageButton importButton = new ImageButton("ImportContent!input.action?parentContentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.importContent"), "tool.contenttool.importContent.header");
        exportButton.getSubButtons().add(importButton);
        buttons.add(exportButton);
      }
    }
    catch(Exception e)
    {
      logger.warn("Exception when generating buttons:" + e.getMessage(), e);
    }
   
    return buttons;
  }
 
  private List getContentButtons()
  {
    List buttons = new ArrayList();
    try
    {
      buttons.add(getDeleteButton())
     
      ImageButton moveButton = getMoveButton();
      moveButton.getSubButtons().add(getMoveMultipleButton());
      buttons.add(moveButton);
     
      buttons.add(getPublishButton());
      if(hasAnyPublishedVersion())
      {
          ImageButton unpublishButton = getUnpublishButton();
          ImageButton unpublishAllButton = getUnpublishAllButton();
          unpublishButton.getSubButtons().add(unpublishAllButton);
     
          buttons.add(unpublishButton);
      }
     
      if(this.contentVO.getIsProtected().intValue() == ContentVO.YES.intValue())
      {
          ImageButton accessRightsButton = getAccessRightsButton();
        buttons.add(accessRightsButton);
      }

      if(this.contentVO.getContentTypeDefinitionId() != null)
      {
        ContentTypeDefinitionVO contentTypeDefinitionVO = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithId(this.contentVO.getContentTypeDefinitionId());
        if(contentTypeDefinitionVO != null && (contentTypeDefinitionVO.getName().equalsIgnoreCase("HTMLTemplate") || contentTypeDefinitionVO.getName().equalsIgnoreCase("PageTemplate") || contentTypeDefinitionVO.getName().equalsIgnoreCase("PagePartTemplate")))
        {
          buttons.add(getComponentAccessRightsButton());
          buttons.add(getDeployComponentButton());
        }
      }
     
      buttons.add(new ImageButton("ViewContentVersionHistory.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.viewHistory"), "History", new Integer(22), new Integer(80)));
     
      buttons.add(getSyncTreeButton());
     
      buttons.add(getExecuteTaskButton());
     
      //if(this.getInfoGluePrincipal().getIsAdministrator())
        buttons.add(new ImageButton("UpdateContent!inputContentType.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.changeContentType"), "tool.contenttool.changeContentType.header"));
   
      ImageButton exportButton = new ImageButton("ExportContent!input.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.exportContent"), "tool.contenttool.exportContent.header");
      ImageButton importButton = new ImageButton("ImportContent!input.action?parentContentId=" + this.contentId + "&repositoryId=" + this.repositoryId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.importContent"), "tool.contenttool.importContent.header");
      exportButton.getSubButtons().add(importButton);
      buttons.add(exportButton);
   
    }
    catch(Exception e)
    {
      logger.warn("Exception when generating buttons:" + e.getMessage(), e);
    }

    return buttons;       
  }


  private List getContentVersionButtons()
  {
    List buttons = new ArrayList();
   
    try
    {
        boolean latest = true;
        if(this.contentVersionId != null)
        {
            ContentVersionVO currentContentVersionVO = ContentVersionController.getContentVersionController().getContentVersionVOWithId(this.contentVersionId);
            ContentVersionVO latestContentVersionVO = ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(currentContentVersionVO.getContentId(), currentContentVersionVO.getLanguageId());
            if(currentContentVersionVO != null && latestContentVersionVO != null && currentContentVersionVO.getId().intValue() != latestContentVersionVO.getId().intValue())
                latest = false;
           
            extraInformation = "" + getStateDescription(currentContentVersionVO);
        }
       
        buttons.add(getCoverButton());
       
        if(latest)
        {
        buttons.add(getDeleteButton());
         
          if(this.contentVersionId != null)
        {
              if(!isReadOnly())
            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"))
                 
          if(hasPublishedVersion())
          {
              ImageButton unpublishButton = getUnpublishButton();
              ImageButton unpublishAllButton = getUnpublishAllButton();
              unpublishButton.getSubButtons().add(unpublishAllButton);

              buttons.add(unpublishButton);
          }
           
          if(!isReadOnly())
            buttons.add(getPublishButton());
         
          if(this.contentVO.getIsProtected().intValue() == ContentVO.YES.intValue())
          {
              ImageButton accessRightsButton = getAccessRightsButton();
              accessRightsButton.getSubButtons().add(getContentVersionAccessRightsButton());
             
            buttons.add(accessRightsButton);
          }
 
          if(this.contentVO.getContentTypeDefinitionId() != null)
          {
            ContentTypeDefinitionVO contentTypeDefinitionVO = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithId(this.contentVO.getContentTypeDefinitionId());
            if(contentTypeDefinitionVO != null && (contentTypeDefinitionVO.getName().equalsIgnoreCase("HTMLTemplate") || contentTypeDefinitionVO.getName().equalsIgnoreCase("PageTemplate") || contentTypeDefinitionVO.getName().equalsIgnoreCase("PagePartTemplate")))
            {
              List interceptionPointVOList = InterceptionPointController.getController().getInterceptionPointVOList("Component");
              if(interceptionPointVOList != null && interceptionPointVOList.size() > 0)
                buttons.add(getComponentAccessRightsButton());
             
              buttons.add(getDeployComponentButton());
            }
          }

          if(this.siteNodeId != null)
          {
            RepositoryVO repositoryVO = RepositoryController.getController().getRepositoryVOWithId(this.repositoryId);
 
            String dnsName = repositoryVO.getDnsName();
 
              String workingUrl = null;
             
              String keyword = "working=";
              int startIndex = (dnsName == null) ? -1 : dnsName.indexOf(keyword);
              if(startIndex != -1)
              {
                  int endIndex = dnsName.indexOf(",", startIndex);
                if(endIndex > -1)
                      dnsName = dnsName.substring(startIndex, endIndex);
                  else
                      dnsName = dnsName.substring(startIndex);
               
                String hostName = dnsName.split("=")[1];
                if(hostName.indexOf("localhost") == -1)
                  workingUrl = hostName + CmsPropertyHandler.getComponentRendererUrl() + "ViewPage.action";
                else
                  workingUrl = CmsPropertyHandler.getComponentRendererUrl() + "ViewPage.action";
              }
              else
              {
                  workingUrl = CmsPropertyHandler.getPreviewDeliveryUrl();
              }
             
              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");
            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")
            previewSiteButton.getSubButtons().add(previewContentButton);
 
            buttons.add(previewSiteButton);     
          }

        }
        buttons.add(getSyncTreeButton());
       
        if(hasVersion())
        {
          buttons.add(getChangeLanguageButton());
          buttons.add(getShowXMLButton());
        }
        }
        else
        {
        buttons.add(getDeleteVersionButton());
        }
    }
    catch(Exception e)
    {
      logger.warn("Exception when generating buttons:" + e.getMessage(), e);
    }
   
    return buttons;       
  }

 

  private List getContentVersionHistoryButtons()
  {
    List buttons = new ArrayList();
   
    try
    {
        buttons.add(getCompareButton());
    }
    catch(Exception e)
    {
      logger.warn("Exception when generating buttons:" + e.getMessage(), e);
    }

    return buttons;       
  }

  private ImageButton getCompareButton()
  {
      return new ImageButton(true, "javascript:compareVersions('contentVersion');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.compareVersions"), "tool.contenttool.compareVersions.header");
   
      //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"); 
  }

 
  private ImageButton getCoverButton()
  {
    try
    {
      return new ImageButton("ViewContent.action?contentId=" + this.contentId + "&stay=true", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.contentCover"), "tool.contenttool.contentDetailsHeader");
    }
    catch(Exception e){}

    return null;
  }
 
  private ImageButton getUnpublishButton()
  {
    try
    {
      return new ImageButton("UnpublishContentVersion!input.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.unpublishVersion"), "tool.contenttool.unpublishVersion.header");
    }
    catch(Exception e){}

    return null;
  }

  private ImageButton getUnpublishAllButton()
  {
      try
    {
      return new ImageButton("UnpublishContentVersion!inputChooseContents.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.unpublishAllVersion"), "tool.contenttool.unpublishAllVersion.header");
    }
    catch(Exception e){}

    return null;

    //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"); 
  }

  private ImageButton getDeleteButton()
  {
    try
    {
      String 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";
      return new ImageButton(url, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.deleteContent"), "tool.contenttool.deleteContent.header");
    }
    catch(Exception e){e.printStackTrace();}

    return null;
  }

  private ImageButton getDeleteChildrenButton()
  {
    try
    {
      String url = "Confirm.action?header=tool.contenttool.deleteContentChildren.header&yesDestination=" + URLEncoder.encode(URLEncoder.encode("DeleteContentChildren.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.deleteContentChildren.text";
      return new ImageButton(url, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.deleteChildren"), "tool.contenttool.deleteChildren.header");
    }
    catch(Exception e){e.printStackTrace();}

    return null;
  }

  private ImageButton getDeleteVersionButton()
  {
    try
    {
      String 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";
      return new ImageButton(url, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.deleteContentVersion"), "tool.contenttool.deleteContentVersion.header");
    }
    catch(Exception e){e.printStackTrace();}

    return null;
  }

  private ImageButton getMoveButton()
  {
    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")
  }

  private ImageButton getMoveMultipleButton()
  {
    return new ImageButton(true, "javascript:openPopup('MoveMultipleContent!input.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "', 'MoveMultipleContent', 'width=400,height=640,resizable=no');", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.moveMultipleContent"), "tool.contenttool.moveMultipleContent.header")
  }

  private ImageButton getSyncTreeButton()
  {
    return new ImageButton(true, "javascript:parent.frames['main'].syncWithTree();", getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.revealInTree"), "tool.contenttool.revealInTree.header")
  }

  private ImageButton getChangeLanguageButton()
  {
    return new ImageButton("ChangeVersionLanguage!input.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&contentVersionId=" + this.contentVersionId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.changeVersionLanguage"), "tool.contenttool.changeVersionLanguage.header")
  }

  private ImageButton getShowXMLButton()
  {
    return new ImageButton("ViewContentVersion!asXML.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&contentVersionId=" + this.contentVersionId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.showVersionAsXml"), "tool.contenttool.showVersionAsXml.header")
  }

  private ImageButton getPublishButton()
  {
    return new ImageButton("ViewListContentVersion.action?contentId=" + this.contentId, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.publishContent"), "tool.contenttool.publishContent.header")
  }

  private ImageButton getExecuteTaskButton()
  {
    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")
  }
 
  private ImageButton getAccessRightsButton() throws Exception
  {
    String returnAddress = URLEncoder.encode(URLEncoder.encode("ViewContent.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&stay=true", "UTF-8"), "UTF-8");
    //return new ImageButton("ViewAccessRights.action?name=Content&value=" + this.contentId + "&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.contentAccessRights"), "Content Access Rights");
    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");
  }

  private ImageButton getContentVersionAccessRightsButton() throws Exception
  {
    String returnAddress = URLEncoder.encode(URLEncoder.encode("ViewContentVersion.action?contentVersionId=" + this.contentVersionId + "&contentId=" + contentId + "&languageId=" + languageId, "UTF-8"), "UTF-8");
    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");
  }

  private ImageButton getComponentAccessRightsButton() throws Exception
  {
    String returnAddress = URLEncoder.encode(URLEncoder.encode("ViewContent.action?contentId=" + this.contentId + "&repositoryId=" + this.repositoryId + "&stay=true", "UTF-8"), "UTF-8");
    return new ImageButton("ViewAccessRights.action?interceptionPointCategory=Component&extraParameters=" + this.contentId +"&colorScheme=ContentTool&returnAddress=" + returnAddress, getLocalizedString(getSession().getLocale(), "images.contenttool.buttons.componentAccessRights"), "tool.contenttool.componentAccessRights.header");
  }

  private ImageButton getDeployComponentButton()
  {
    return new ImageButton(true, "javascript:if(top.openInlineDiv) top.openInlineDiv('ViewDeploymentChooseServer!inputQuickV3.action?contentId=" + this.contentId + "', 600, 800, true, true, 'Deploy local component'); else openPopup('ViewDeploymentChooseServer!inputQuickV3.action?contentId=" + this.contentId + "', 'Deploy', 'width=800,height=600,resizable=yes,scrollbars=yes');", getLocalizedString(getSession().getLocale(), "images.global.buttons.deployComponent"), "tool.common.deployComponent.header")
    //return new ImageButton(true, "javascript:openPopup('ViewDeploymentChooseServer!inputQuickV3.action?contentId=" + this.contentId + "', 'Deploy', 'width=800,height=600,resizable=yes,scrollbars=yes');", getLocalizedString(getSession().getLocale(), "images.global.buttons.deployComponent"), "tool.common.deployComponent.header"); 
  }

  public String getStateDescription(ContentVersionVO contentVersionVO)
  {
    String state = "";
   
    if(contentVersionVO != null)
    {
      if(contentVersionVO.getStateId().equals(ContentVersionVO.WORKING_STATE))
        state = "<span style=\"color:#333333; font-weight: bold;\">(" + getLocalizedString(getSession().getLocale(), "tool.contenttool.state.working") + ")</span>";
      else if(contentVersionVO.getStateId().equals(ContentVersionVO.FINAL_STATE))
        state = "<span style=\"color:#AAAAAA; font-weight: bold;\">(" + getLocalizedString(getSession().getLocale(), "tool.contenttool.state.final") + ")</span>";
      else if(contentVersionVO.getStateId().equals(ContentVersionVO.PUBLISH_STATE))
        state = "<span style=\"color:#888888; font-weight: bold;\">(" + getLocalizedString(getSession().getLocale(), "tool.contenttool.state.publish") + ")</span>";
      else if(contentVersionVO.getStateId().equals(ContentVersionVO.PUBLISHED_STATE))
        state = "<span style=\"color:#666666; font-weight: bold;\">(" + getLocalizedString(getSession().getLocale(), "tool.contenttool.state.published") + ")</span>";
    }
   
    return state;
  }

  public String getExtraInformation()
  {
    return extraInformation;
  }

}
TOP

Related Classes of org.infoglue.cms.applications.contenttool.actions.ViewContentToolToolBarAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.