Package org.infoglue.cms.applications.managementtool.actions

Source Code of org.infoglue.cms.applications.managementtool.actions.ViewRepositoryPropertiesAction

/* ===============================================================================
*
* 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.managementtool.actions;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.infoglue.cms.applications.common.actions.InfoGluePropertiesAbstractAction;
import org.infoglue.cms.controllers.kernel.impl.simple.ContentTypeDefinitionController;
import org.infoglue.cms.controllers.kernel.impl.simple.RepositoryController;
import org.infoglue.cms.entities.management.ContentTypeDefinitionVO;
import org.infoglue.cms.entities.management.RepositoryVO;
import org.infoglue.deliver.util.CacheController;

import com.opensymphony.module.propertyset.PropertySet;
import com.opensymphony.module.propertyset.PropertySetManager;

/**
* This class implements the action class for viewRepositoryProperties.
* The use-case lets the user see all extra-properties for a repository
*
* @author Mattias Bogeblad 
*/

public class ViewRepositoryPropertiesAction extends InfoGluePropertiesAbstractAction
{
  private static final long serialVersionUID = 1L;

  private RepositoryVO repositoryVO       = new RepositoryVO();
  private PropertySet propertySet        = null;
  private List contentTypeDefinitionVOList   = null;
  private List repositoryVOList        = null;
 
  private String WYSIWYGConfig         = null;
  private String stylesXML          = null;
  private String extraProperties        = null;
  private String defaultFolderContentTypeName = null
  private String defaultTemplateRepository   = null
  private String parentRepository       = null

 
    public ViewRepositoryPropertiesAction()
    {
    }
       
    protected void initialize(Integer repositoryId) throws Exception
    {
        this.repositoryVO = RepositoryController.getController().getRepositoryVOWithId(repositoryId);
        this.contentTypeDefinitionVOList = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOList(ContentTypeDefinitionVO.CONTENT);
        this.repositoryVOList = RepositoryController.getController().getRepositoryVOListNotMarkedForDeletion();
           
        Map args = new HashMap();
      args.put("globalKey", "infoglue");
      PropertySet ps = PropertySetManager.getInstance("jdbc", args);
     
      byte[] WYSIWYGConfigBytes = ps.getData("repository_" + this.getRepositoryId() + "_WYSIWYGConfig");
      if(WYSIWYGConfigBytes != null)
        this.WYSIWYGConfig = new String(WYSIWYGConfigBytes, "utf-8");

      byte[] StylesXMLBytes = ps.getData("repository_" + this.getRepositoryId() + "_StylesXML");
      if(StylesXMLBytes != null)
        this.stylesXML = new String(StylesXMLBytes, "utf-8");

      byte[] extraPropertiesBytes = ps.getData("repository_" + this.getRepositoryId() + "_extraProperties");
      if(extraPropertiesBytes != null)
        this.extraProperties = new String(extraPropertiesBytes, "utf-8");

      this.defaultFolderContentTypeName   = ps.getString("repository_" + this.getRepositoryId() + "_defaultFolderContentTypeName");
      this.defaultTemplateRepository     = ps.getString("repository_" + this.getRepositoryId() + "_defaultTemplateRepository");
      this.parentRepository         = ps.getString("repository_" + this.getRepositoryId() + "_parentRepository");
    }

    /**
     * The main method that fetches the Value-objects for this use-case
     */
   
    public String doExecute() throws Exception
    {
        this.initialize(getRepositoryId());

        return "success";
    }
   
    /**
     * The main method that fetches the Value-objects for this use-case
     */
   
    public String doSave() throws Exception
    {
      Map args = new HashMap();
      args.put("globalKey", "infoglue");
      PropertySet ps = PropertySetManager.getInstance("jdbc", args);
     
      ps.setData("repository_" + this.getRepositoryId() + "_WYSIWYGConfig", WYSIWYGConfig.getBytes("utf-8"));
      ps.setData("repository_" + this.getRepositoryId() + "_StylesXML", stylesXML.getBytes("utf-8"));
      ps.setData("repository_" + this.getRepositoryId() + "_extraProperties", extraProperties.getBytes("utf-8"));
      ps.setString("repository_" + this.getRepositoryId() + "_defaultFolderContentTypeName", defaultFolderContentTypeName);
      ps.setString("repository_" + this.getRepositoryId() + "_defaultTemplateRepository", defaultTemplateRepository);
      ps.setString("repository_" + this.getRepositoryId() + "_parentRepository", parentRepository);
     
      //TODO - hack to get the caches to be updated when properties are affected..
      RepositoryVO repositoryVO = RepositoryController.getController().getFirstRepositoryVO();
      repositoryVO.setDescription(repositoryVO.getDescription() + ".");
      RepositoryController.getController().update(repositoryVO);
      CacheController.clearCache("parentRepository");
     
      return "save";
    }

    /**
     * The main method that fetches the Value-objects for this use-case
     */
   
    public String doSaveAndExit() throws Exception
    {
      doSave();
     
        return "saveAndExit";
    }

    public java.lang.Integer getRepositoryId()
    {
        return this.repositoryVO.getRepositoryId();
    }
       
    public void setRepositoryId(java.lang.Integer repositoryId) throws Exception
    {
        this.repositoryVO.setRepositoryId(repositoryId);
    }

  public RepositoryVO getRepositoryVO()
  {
    return repositoryVO;
  }
 
  public String getWYSIWYGConfig()
  {
    return WYSIWYGConfig;
  }
 
  public void setWYSIWYGConfig(String config)
  {
    WYSIWYGConfig = config;
  }

  public String getWYSIWYGStyles()
    {
        return stylesXML;
    }
   
    public void setWYSIWYGStyles(String stylesXML)
    {
        this.stylesXML = stylesXML;
    }

  public String getExtraProperties()
    {
        return extraProperties;
    }
   
    public void setExtraProperties(String extraProperties)
    {
        this.extraProperties = extraProperties;
    }

  public PropertySet getPropertySet()
  {
    return propertySet;
  }
 
    public String getDefaultFolderContentTypeName()
    {
        return defaultFolderContentTypeName;
    }
   
    public void setDefaultFolderContentTypeName(String defaultFolderContentTypeName)
    {
        this.defaultFolderContentTypeName = defaultFolderContentTypeName;
    }
   
    public String getDefaultTemplateRepository()
    {
        return defaultTemplateRepository;
    }
   
    public void setDefaultTemplateRepository(String defaultTemplateRepository)
    {
        this.defaultTemplateRepository = defaultTemplateRepository;
    }

    public String getParentRepository()
    {
        return parentRepository;
    }
   
    public void setParentRepository(String parentRepository)
    {
        this.parentRepository = parentRepository;
    }

    public List getContentTypeDefinitionVOList()
    {
        return contentTypeDefinitionVOList;
    }   

    public List getRepositoryVOList()
    {
        return repositoryVOList;
    }
}
TOP

Related Classes of org.infoglue.cms.applications.managementtool.actions.ViewRepositoryPropertiesAction

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.