/* ===============================================================================
*
* 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.wizards.actions;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
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.DigitalAssetController;
import org.infoglue.cms.controllers.kernel.impl.simple.LanguageController;
import org.infoglue.cms.entities.content.ContentVersionVO;
import org.infoglue.cms.entities.management.ContentTypeDefinitionVO;
import org.infoglue.cms.entities.management.LanguageVO;
import org.infoglue.cms.util.CmsPropertyHandler;
/**
* This action represents the create content versions including assets in the wizards.
*/
public class CreateContentWizardInputContentVersionsAction extends CreateContentWizardAbstractAction
{
private ContentTypeDefinitionVO contentTypeDefinitionVO = null;
private List contentTypeAttributes = null;
private Integer currentEditorId = null;
private Integer languageId = null;
private ContentVersionVO contentVersionVO = new ContentVersionVO();
private Collection digitalAssets = new ArrayList();
public CreateContentWizardInputContentVersionsAction()
{
}
/**
* This method presents the user with the initial input screen for creating a content.
*
* @return
* @throws Exception
*/
public String doInput() throws Exception
{
CreateContentWizardInfoBean createContentWizardInfoBean = getCreateContentWizardInfoBean();
Integer contentTypeDefinitionId = createContentWizardInfoBean.getContentTypeDefinitionId();
this.contentTypeDefinitionVO = ContentTypeDefinitionController.getController().getContentTypeDefinitionVOWithId(contentTypeDefinitionId);
this.contentTypeDefinitionVO = ContentTypeDefinitionController.getController().validateAndUpdateContentType(this.contentTypeDefinitionVO);
if(this.languageId == null)
{
this.languageId = createContentWizardInfoBean.getLanguageId();
if(this.languageId == null)
{
LanguageVO masterLanguageVO = LanguageController.getController().getMasterLanguage(createContentWizardInfoBean.getRepositoryId());
this.languageId = masterLanguageVO.getLanguageId();
}
}
if(this.contentVersionVO != null && this.contentVersionVO.getContentVersionId() != null)
digitalAssets = DigitalAssetController.getDigitalAssetVOList(this.contentVersionVO.getId());
/*
boolean missingAsset = false;
Iterator assetKeysIterator = assetKeys.iterator();
while(assetKeysIterator.hasNext())
{
AssetKeyDefinition assetKeyDefinition = (AssetKeyDefinition)assetKeysIterator.next();
if(!createContentWizardInfoBean.getDigitalAssets().containsKey(assetKeyDefinition.getAssetKey() + "_" + masterLanguageVO.getId()))
return "inputAssets";
}
*/
this.contentTypeAttributes = ContentTypeDefinitionController.getController().getContentTypeAttributes(this.contentTypeDefinitionVO, true);
return "inputContentVersionsForFCKEditor";
}
/**
* This method validates the input and handles any deviations.
*
* @return
* @throws Exception
*/
public String doExecute() throws Exception
{
CreateContentWizardInfoBean createContentWizardInfoBean = getCreateContentWizardInfoBean();
this.contentVersionVO.setVersionModifier(this.getInfoGluePrincipal().getName());
ContentVersionController.getContentVersionController().update(this.contentVersionVO.getId(), this.contentVersionVO, this.getInfoGluePrincipal());
return "success";
}
public List getContentTypeAttributes()
{
return this.contentTypeAttributes;
}
public ContentTypeDefinitionVO getContentTypeDefinitionVO()
{
return this.contentTypeDefinitionVO;
}
public Integer getCurrentEditorId()
{
return this.currentEditorId;
}
public Integer getLanguageId()
{
return this.languageId;
}
public Integer getContentId()
{
return getCreateContentWizardInfoBean().getContentVO().getId();
}
public void setCurrentEditorId(Integer currentEditorId)
{
this.currentEditorId = currentEditorId;
}
public void setLanguageId(Integer languageId)
{
this.languageId = languageId;
this.contentVersionVO.setLanguageId(languageId);
}
public void setVersionValue(String versionValue)
{
this.contentVersionVO.setVersionValue(versionValue);
}
public void setContentVersionId(Integer contentVersionId)
{
this.contentVersionVO.setContentVersionId(contentVersionId);
}
public Integer getContentVersionId()
{
return this.contentVersionVO.getContentVersionId();
}
public Collection getDigitalAssets()
{
return digitalAssets;
}
}