Java tutorial
/* =============================================================================== * * 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.io.ByteArrayInputStream; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.Element; import org.infoglue.cms.applications.common.VisualFormatter; import org.infoglue.cms.applications.common.actions.InfoGlueAbstractAction; import org.infoglue.cms.controllers.kernel.impl.simple.CategoryController; import org.infoglue.cms.controllers.kernel.impl.simple.ComponentPropertyDefinitionController; import org.infoglue.cms.controllers.kernel.impl.simple.ContentCategoryController; import org.infoglue.cms.controllers.kernel.impl.simple.ContentController; import org.infoglue.cms.controllers.kernel.impl.simple.ContentControllerProxy; import org.infoglue.cms.controllers.kernel.impl.simple.ContentStateController; 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.ContentVersionControllerProxy; import org.infoglue.cms.controllers.kernel.impl.simple.DigitalAssetController; import org.infoglue.cms.controllers.kernel.impl.simple.EventController; import org.infoglue.cms.controllers.kernel.impl.simple.LanguageController; 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.content.DigitalAssetVO; import org.infoglue.cms.entities.management.ContentTypeDefinitionVO; import org.infoglue.cms.entities.management.LanguageVO; import org.infoglue.cms.entities.structure.QualifyerVO; import org.infoglue.cms.entities.structure.SiteNodeVO; import org.infoglue.cms.entities.workflow.EventVO; import org.infoglue.cms.exception.AccessConstraintException; import org.infoglue.cms.exception.Bug; import org.infoglue.cms.exception.ConstraintException; import org.infoglue.cms.exception.SystemException; import org.infoglue.cms.util.AccessConstraintExceptionBuffer; import org.infoglue.cms.util.CmsPropertyHandler; import org.infoglue.cms.util.XMLHelper; import org.infoglue.cms.util.css.CSSHelper; import org.infoglue.cms.util.dom.DOMBuilder; import org.infoglue.deliver.applications.databeans.DeliveryContext; import org.infoglue.deliver.controllers.kernel.impl.simple.NodeDeliveryController; import org.infoglue.deliver.util.Timer; import org.w3c.dom.NodeList; import com.opensymphony.module.propertyset.PropertySet; import com.opensymphony.module.propertyset.PropertySetManager; public class ViewContentVersionAction extends InfoGlueAbstractAction { private final static Logger logger = Logger.getLogger(ViewContentVersionAction.class.getName()); private static final long serialVersionUID = 1L; private static CategoryController categoryController = CategoryController.getController(); private static ContentCategoryController contentCategoryController = ContentCategoryController.getController(); private Integer unrefreshedContentId = new Integer(0); private Integer changeTypeId = new Integer(0); private Integer newContentId = new Integer(0); private Integer digitalAssetId = null; public ContentTypeDefinitionVO contentTypeDefinitionVO; public List availableLanguages = null; private Integer languageId; private Integer repositoryId; private Integer currentEditorId; private String attributeName = ""; private String textAreaId = ""; private boolean forceWorkingChange = false; private ContentVO contentVO; protected ContentVersionVO contentVersionVO; protected ContentVersionVO originalLanguageContentVersionVO; private LanguageVO currentLanguageVO; public List attributes = null; private List repositories; //This is used for showing navigationdata private Integer siteNodeId; private Integer oldContentId = null; private String assetKey = null; private boolean treatAsLink = false; private boolean isAssetBinding = false; private String assetTypeFilter = "*"; private Map WYSIWYGProperties = null; private String closeOnLoad = "false"; private String publishOnLoad = "false"; private boolean concurrentModification = false; private long oldModifiedDateTime = -1; //Used for the asset binding dialog private String propertyName; private Integer componentId; private boolean showSimple = false; private boolean showDecorated = true; private String assignedPath; private Integer assignedContentId; private String assignedAssetKey; private String anchor = null; private String anchorName = null; private boolean showActionButtons = true; private boolean showSelectButtonByEachImage = false; private boolean disableAssetKeyEncoding = false; //New translation parameters private boolean translate = false; private Integer fromLanguageId; private Integer toLanguageId; private String returnAddress = ""; public String getQualifyerPath(String entity, String entityId) { StringBuffer sb = new StringBuffer(""); try { if (entity.equalsIgnoreCase("Content")) { ContentVO contentVO = ContentController.getContentController() .getContentVOWithId(new Integer(entityId)); sb.insert(0, contentVO.getName() + "/"); while (contentVO.getParentContentId() != null) { contentVO = ContentController.getContentController() .getContentVOWithId(contentVO.getParentContentId()); sb.insert(0, contentVO.getName() + "/"); } } else if (entity.equalsIgnoreCase("SiteNode")) { SiteNodeVO siteNodeVO = SiteNodeController.getController() .getSiteNodeVOWithId(new Integer(entityId)); sb.insert(0, siteNodeVO.getName() + "/"); while (siteNodeVO.getParentSiteNodeId() != null) { siteNodeVO = SiteNodeController.getController() .getSiteNodeVOWithId(siteNodeVO.getParentSiteNodeId()); sb.insert(0, siteNodeVO.getName() + "/"); } } } catch (Exception e) { e.printStackTrace(); } return sb.toString(); } public List getContentRelationQualifyers(String qualifyerXML) { logger.info("Content qualifyerXML:" + qualifyerXML); return parseQualifyersFromXML(qualifyerXML, "contentId"); } public List getSiteNodeRelationQualifyers(String qualifyerXML) { logger.info("Content qualifyerXML:" + qualifyerXML); return parseQualifyersFromXML(qualifyerXML, "siteNodeId"); } public List getComponentPropertyDefinitions(String componentPropertiesXML) { return ComponentPropertyDefinitionController.getController() .parseComponentPropertyDefinitions(componentPropertiesXML); } private List parseQualifyersFromXML(String qualifyerXML, String currentEntityIdentifyer) { List qualifyers = new ArrayList(); if (qualifyerXML == null || qualifyerXML.length() == 0) return qualifyers; try { Document document = new DOMBuilder().getDocument(qualifyerXML); String entity = document.getRootElement().attributeValue("entity"); List children = document.getRootElement().elements(); Iterator i = children.iterator(); while (i.hasNext()) { Element child = (Element) i.next(); String id = child.getStringValue(); QualifyerVO qualifyerVO = new QualifyerVO(); qualifyerVO.setName(currentEntityIdentifyer); qualifyerVO.setValue(id); qualifyerVO.setPath(this.getQualifyerPath(entity, id)); //qualifyerVO.setSortOrder(new Integer(i)); qualifyers.add(qualifyerVO); } } catch (Exception e) { logger.error("Error in parseQualifyersFromXML:" + e.getMessage()); logger.error("qualifyerXML:\n" + qualifyerXML); } return qualifyers; } public ViewContentVersionAction() { this(new ContentVO(), new ContentVersionVO()); } public ViewContentVersionAction(ContentVO contentVO, ContentVersionVO contentVersionVO) { this.contentVO = contentVO; this.contentVersionVO = contentVersionVO; } protected void initialize(Integer contentVersionId, Integer contentId, Integer languageId) throws Exception { initialize(contentVersionId, contentId, languageId, false, true); } protected void initialize(Integer contentVersionId, Integer contentId, Integer languageId, boolean fallBackToMasterLanguage, boolean checkPermission) throws ConstraintException, Exception { if (contentVersionId != null && contentId == null) { this.contentVersionVO = ContentVersionControllerProxy.getController() .getACContentVersionVOWithId(this.getInfoGluePrincipal(), contentVersionId); contentId = contentVersionVO.getContentId(); languageId = contentVersionVO.getLanguageId(); this.languageId = contentVersionVO.getLanguageId(); } this.contentVO = ContentControllerProxy.getController().getACContentVOWithId(this.getInfoGluePrincipal(), contentId); if (this.contentVO.getRepositoryId() != null && checkPermission && !hasAccessTo("Repository.Read", "" + this.contentVO.getRepositoryId()) && !hasAccessTo("Repository.Write", "" + this.contentVO.getRepositoryId())) { AccessConstraintExceptionBuffer ceb = new AccessConstraintExceptionBuffer(); ceb.add(new AccessConstraintException("Content.contentId", "1000")); ceb.throwIfNotEmpty(); } //this.contentVO = ContentController.getContentVOWithId(contentId); this.contentTypeDefinitionVO = ContentController.getContentController().getContentTypeDefinition(contentId); this.availableLanguages = ContentController.getContentController().getRepositoryLanguages(contentId); if (contentVersionId == null) { //this.contentVersionVO = ContentVersionControllerProxy.getController().getACLatestActiveContentVersionVO(this.getInfoGluePrincipal(), contentId, languageId); //this.contentVersionVO = ContentVersionController.getLatestActiveContentVersionVO(contentId, languageId); this.contentVersionVO = ContentVersionController.getContentVersionController() .getLatestActiveContentVersionVO(contentId, languageId); if (this.contentVersionVO == null && fallBackToMasterLanguage) { //logger.info("repositoryId:" + repositoryId); Integer usedRepositoryId = this.repositoryId; if (this.repositoryId == null && this.contentVO != null) usedRepositoryId = this.contentVO.getRepositoryId(); LanguageVO masterLanguageVO = LanguageController.getController() .getMasterLanguage(usedRepositoryId); //logger.info("MasterLanguage: " + masterLanguageVO); this.contentVersionVO = ContentVersionController.getContentVersionController() .getLatestActiveContentVersionVO(contentId, masterLanguageVO.getId()); } if (this.contentVersionVO != null) contentVersionId = contentVersionVO.getContentVersionId(); } if (contentVersionId != null) this.contentVersionVO = ContentVersionControllerProxy.getController() .getACContentVersionVOWithId(this.getInfoGluePrincipal(), contentVersionId); //this.contentVersionVO = ContentVersionController.getContentVersionVOWithId(contentVersionId); /* if(this.forceWorkingChange && contentVersionVO != null && !contentVersionVO.getStateId().equals(ContentVersionVO.WORKING_STATE)) { ContentVersion contentVersion = ContentStateController.changeState(contentVersionVO.getContentVersionId(), ContentVersionVO.WORKING_STATE, "Edit on sight", false, null, this.getInfoGluePrincipal(), this.getContentId(), new ArrayList()); contentVersionId = contentVersion.getContentVersionId(); contentVersionVO = contentVersion.getValueObject(); } */ if (this.contentTypeDefinitionVO != null) { this.contentTypeDefinitionVO = ContentTypeDefinitionController.getController() .validateAndUpdateContentType(this.contentTypeDefinitionVO); this.attributes = ContentTypeDefinitionController.getController() .getContentTypeAttributes(this.contentTypeDefinitionVO.getSchemaValue()); } if (this.fromLanguageId != null) this.originalLanguageContentVersionVO = ContentVersionController.getContentVersionController() .getLatestActiveContentVersionVO(contentId, fromLanguageId); if (this.toLanguageId != null) this.currentLanguageVO = LanguageController.getController().getLanguageVOWithId(toLanguageId); else if (this.languageId != null) this.currentLanguageVO = LanguageController.getController().getLanguageVOWithId(languageId); if (this.anchor == null && getRequest().getParameter("anchor") != null) this.anchor = getRequest().getParameter("anchor"); } public String doExecute() throws Exception { this.initialize(getContentVersionId(), getContentId(), this.languageId); String wysiwygEditor = CmsPropertyHandler.getWysiwygEditor(); if (wysiwygEditor == null || wysiwygEditor.equalsIgnoreCase("") || wysiwygEditor.equalsIgnoreCase("HTMLArea")) return "success"; else return "successForFCKEditor"; } public String doStandalone() throws Exception { this.initialize(getContentVersionId(), getContentId(), this.languageId); String wysiwygEditor = CmsPropertyHandler.getWysiwygEditor(); if (wysiwygEditor == null || wysiwygEditor.equalsIgnoreCase("") || wysiwygEditor.equalsIgnoreCase("HTMLArea")) return "standalone"; else return "standaloneForFCKEditor"; } public String doBackground() throws Exception { this.initialize(getContentVersionId(), getContentId(), this.languageId); return "background"; } public String doViewAssetsDialog() throws Exception { if (this.oldContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getOldContentId()); } else { if (getContentId() != null && getContentId().intValue() != -1) this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getContentId()); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewAssetsDialog"; } public String doViewAssetsDialogForFCKEditor() throws Exception { if (this.oldContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getOldContentId()); } else { if (getContentId() != null && getContentId().intValue() != -1) this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getContentId()); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewAssetsDialogForFCKEditor"; } public String doViewAssetsDialogForFCKEditorV3() throws Exception { if (this.oldContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getOldContentId()); } else { if (getContentId() != null && getContentId().intValue() != -1) this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getContentId()); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewAssetsDialogForFCKEditorV3"; } public String doViewAssetBrowserForFCKEditorV3() throws Exception { if (this.oldContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getOldContentId()); } else { if (getContentId() != null && getContentId().intValue() != -1) this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getContentId()); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewAssetBrowserForFCKEditorV3"; } public String doViewSmallAssetBrowserForFCKEditorV3() throws Exception { if (this.oldContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getOldContentId()); } else { if (getContentId() != null && getContentId().intValue() != -1) this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getContentId()); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewSmallAssetBrowserForFCKEditorV3"; } public String doViewAssetsForComponentBinding() throws Exception { if (this.oldContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getOldContentId()); } else { if (getContentId() != null && getContentId().intValue() != -1) this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), getContentId()); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "showContentAssetsForComponentBinding"; } public String doViewAssetBrowserForComponentBindingV3() throws Exception { if (this.assignedContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), this.assignedContentId); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); if (this.assetKey != null) { logger.info("this.assetKey before:" + this.assetKey); String fromEncoding = CmsPropertyHandler.getAssetKeyFromEncoding(); if (fromEncoding == null) fromEncoding = "iso-8859-1"; String toEncoding = CmsPropertyHandler.getAssetKeyToEncoding(); if (toEncoding == null) toEncoding = "utf-8"; this.assetKey = new String(assetKey.getBytes(fromEncoding), toEncoding); logger.info("this.assetKey after conversion:" + this.assetKey); } return "viewAssetBrowserForComponentBindingV3"; } public String doViewAssetBrowserForMultipleComponentBindingV3() throws Exception { if (this.assignedContentId != null) { this.contentVO = ContentControllerProxy.getController() .getACContentVOWithId(this.getInfoGluePrincipal(), this.assignedContentId); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewAssetBrowserForMultipleComponentBindingV3"; } public String doViewAssets() throws Exception { if (getContentId() != null && getContentId().intValue() != -1) { this.initialize(getContentVersionId(), getContentId(), this.languageId, true, false); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); return "viewAssets"; } public String doViewAssetsForFCKEditor() throws Exception { if (getContentId() != null && getContentId().intValue() != -1) { this.initialize(getContentVersionId(), getContentId(), this.languageId, true, false); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); if (this.assetKey != null) { String fromEncoding = CmsPropertyHandler.getAssetKeyFromEncoding(); if (fromEncoding == null) fromEncoding = "iso-8859-1"; String toEncoding = CmsPropertyHandler.getAssetKeyToEncoding(); if (toEncoding == null) toEncoding = "utf-8"; this.assetKey = new String(assetKey.getBytes(fromEncoding), toEncoding); } return "viewAssetsForFCKEditor"; } public String doViewAssetsForFCKEditorV3() throws Exception { if (getContentId() != null && getContentId().intValue() != -1) { this.initialize(getContentVersionId(), getContentId(), this.languageId, true, false); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); if (this.assetKey != null) { String fromEncoding = CmsPropertyHandler.getAssetKeyFromEncoding(); if (fromEncoding == null) fromEncoding = "iso-8859-1"; String toEncoding = CmsPropertyHandler.getAssetKeyToEncoding(); if (toEncoding == null) toEncoding = "utf-8"; this.assetKey = new String(assetKey.getBytes(fromEncoding), toEncoding); } return "viewAssetsForFCKEditorV3"; } public String doViewAssetsForFCKEditorSmallV3() throws Exception { doViewAssetsForFCKEditorV3(); return "viewAssetsForFCKEditorSmallV3"; } public String doViewContentAssetsForFCKEditorV3() throws Exception { if (getContentId() != null && getContentId().intValue() != -1) { this.initialize(getContentVersionId(), getContentId(), this.languageId, true, false); } this.repositories = RepositoryController.getController() .getAuthorizedRepositoryVOList(this.getInfoGluePrincipal(), true); if (this.assetKey != null) { String fromEncoding = CmsPropertyHandler.getAssetKeyFromEncoding(); if (fromEncoding == null) fromEncoding = "iso-8859-1"; String toEncoding = CmsPropertyHandler.getAssetKeyToEncoding(); if (toEncoding == null) toEncoding = "utf-8"; this.assetKey = new String(assetKey.getBytes(fromEncoding), toEncoding); } return "viewContentAssetsForFCKEditorV3"; } public String doPreview() throws Exception { this.initialize(getContentVersionId(), getContentId(), this.languageId); return "preview"; } public String doAsXML() throws Exception { this.initialize(getContentVersionId(), getContentId(), this.languageId); return "asXML"; } public String doDeleteDigitalAsset() throws Exception { Integer oldContentVersionId = this.getContentVersionId(); ContentVersionVO contentVersionVO = ContentVersionController.getContentVersionController() .deleteDigitalAssetRelation(getContentVersionId(), this.digitalAssetId, this.getInfoGluePrincipal()); this.setContentVersionId(contentVersionVO.getId()); anchor = "digitalAssetsBlock"; if (returnAddress != null && !returnAddress.equals("")) { logger.info("returnAddress:" + returnAddress); if (!oldContentVersionId.equals(contentVersionVO.getId()) && returnAddress.indexOf("contentVersionId") > -1) { int index = returnAddress.indexOf("contentVersionId="); int endIndex = returnAddress.indexOf("&", index); if (index > 0 && endIndex > index) returnAddress = returnAddress.substring(0, index) + "contentVersionId=" + contentVersionVO.getId() + returnAddress.substring(endIndex); else if (index > 0) returnAddress = returnAddress.substring(0, index) + "contentVersionId=" + contentVersionVO.getId(); } logger.info("returnAddress:" + returnAddress); this.getResponse().sendRedirect(returnAddress + (returnAddress.indexOf("?") == -1 ? "?anchor=" : "&anchor=") + anchor + "#" + anchor); return NONE; } return doExecute(); } public String doDeleteDigitalAssetStandalone() throws Exception { Integer oldContentVersionId = this.getContentVersionId(); ContentVersionVO contentVersionVO = ContentVersionController.getContentVersionController() .deleteDigitalAssetRelation(getContentVersionId(), this.digitalAssetId, this.getInfoGluePrincipal()); this.setContentVersionId(contentVersionVO.getId()); anchor = "digitalAssetsBlock"; if (returnAddress != null && !returnAddress.equals("")) { logger.info("returnAddress:" + returnAddress); if (!oldContentVersionId.equals(contentVersionVO.getId()) && returnAddress.indexOf("contentVersionId") > -1) { int index = returnAddress.indexOf("contentVersionId="); int endIndex = returnAddress.indexOf("&", index); if (index > 0 && endIndex > index) returnAddress = returnAddress.substring(0, index) + "contentVersionId=" + contentVersionVO.getId() + returnAddress.substring(endIndex); else if (index > 0) returnAddress = returnAddress.substring(0, index) + "contentVersionId=" + contentVersionVO.getId(); } logger.info("returnAddress:" + returnAddress); this.getResponse().sendRedirect(returnAddress + (returnAddress.indexOf("?") == -1 ? "?anchor=" : "&anchor=") + anchor + "#" + anchor); return NONE; } return doStandalone(); } public EventVO getEvent(Integer contentVersionId) { EventVO eventVO = null; try { if (contentVersionId != null) { ContentVersionVO contentVersion = ContentVersionController.getContentVersionController() .getContentVersionVOWithId(contentVersionId); List events = EventController.getEventVOListForEntity(ContentVersion.class.getName(), contentVersion.getId()); if (events != null && events.size() > 0) eventVO = (EventVO) events.get(0); } } catch (Exception e) { logger.error("An error occurred when we tried to get any events for this version:" + e.getMessage(), e); } return eventVO; } public List getContentPath() { ContentVO contentVO = this.contentVO; List ret = new ArrayList(); // ret.add(0, contentVO); while (contentVO.getParentContentId() != null) { try { contentVO = ContentControllerProxy.getController() .getContentVOWithId(contentVO.getParentContentId()); } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Bug e) { // TODO Auto-generated catch block e.printStackTrace(); } ret.add(0, contentVO); } return ret; } public java.lang.Integer getContentVersionId() { if (this.contentVersionVO != null) return this.contentVersionVO.getContentVersionId(); else return null; } public void setContentVersionId(java.lang.Integer contentVersionId) { this.contentVersionVO.setContentVersionId(contentVersionId); } public java.lang.Integer getContentId() { return this.contentVO.getContentId(); } public void setContentId(java.lang.Integer contentId) { this.contentVO.setContentId(contentId); } public java.lang.Integer getContentTypeDefinitionId() { return this.contentTypeDefinitionVO.getContentTypeDefinitionId(); } public String getContentTypeDefinitionName() { return this.contentTypeDefinitionVO.getName(); } public void setLanguageId(Integer languageId) { this.languageId = languageId; } public java.lang.Integer getLanguageId() { return this.languageId; } public void setStateId(Integer stateId) { if (this.contentVersionVO != null) this.contentVersionVO.setStateId(stateId); } public void setVersionComment(String versionComment) { if (this.contentVersionVO != null) this.contentVersionVO.setVersionComment(versionComment); } public void setDigitalAssetId(Integer digitalAssetId) { this.digitalAssetId = digitalAssetId; } public String getVersionComment() { return this.contentVersionVO.getVersionComment(); } public Integer getStateId() { return this.contentVersionVO.getStateId(); } public Boolean getIsActive() { return this.contentVersionVO.getIsActive(); } public String getName() { return this.contentVO.getName(); } public java.lang.Integer getRepositoryId() { if (this.contentVO != null && this.contentVO.getRepositoryId() != null) return this.contentVO.getRepositoryId(); else return this.repositoryId; } public List getAvailableLanguages() { return this.availableLanguages; } /** * Returns a list of digital assets available for this content version. */ public List getDigitalAssets() { List digitalAssets = null; try { if (this.contentVersionVO != null && this.contentVersionVO.getContentVersionId() != null) { digitalAssets = DigitalAssetController .getDigitalAssetVOList(this.contentVersionVO.getContentVersionId()); } } catch (Exception e) { logger.warn("We could not fetch the list of digitalAssets: " + e.getMessage(), e); } return digitalAssets; } /** * Returns a list of digital assets available for this content version. */ public List getInheritedDigitalAssets() { List filteredDigitalAssets = new ArrayList(); try { if (this.contentVO != null && this.contentVO.getContentId() != null && this.contentVO.getContentId().intValue() != -1) { List digitalAssets = DigitalAssetController.getDigitalAssetVOList(this.contentVO.getContentId(), this.languageId, true); filteredDigitalAssets.addAll(digitalAssets); if (filteredDigitalAssets != null && filteredDigitalAssets.size() > 0) { Iterator digitalAssetsIterator = filteredDigitalAssets.iterator(); while (digitalAssetsIterator.hasNext()) { DigitalAssetVO assetVO = (DigitalAssetVO) digitalAssetsIterator.next(); //if(!assetVO.getAssetContentType().matches(this.assetTypeFilter)) if (!this.assetTypeFilter.equals("*") && this.assetTypeFilter.indexOf(assetVO.getAssetContentType()) == -1) { digitalAssetsIterator.remove(); //System.out.println("Removed file from asset list:" + this.assetTypeFilter); } } } } else if (this.contentVersionVO != null && this.contentVersionVO.getContentVersionId() != null) { filteredDigitalAssets = DigitalAssetController .getDigitalAssetVOList(this.contentVersionVO.getContentVersionId()); } } catch (Exception e) { e.printStackTrace(); logger.warn("We could not fetch the list of digitalAssets: " + e.getMessage(), e); } return filteredDigitalAssets; } /** * Returns a list of digital assets available for this content version. */ public List getInheritedDigitalAssetsRecursive() { List filteredDigitalAssets = new ArrayList(); if (this.contentVO != null && this.contentVO.getContentId() != null && this.contentVO.getContentId().intValue() != -1) getInheritedDigitalAssetsRecursive(filteredDigitalAssets, this.contentVO.getId(), this.languageId, CmsPropertyHandler.getMaxNumberOfAssetInSearches()); else if (this.contentVersionVO != null && this.contentVersionVO.getContentVersionId() != null) getInheritedDigitalAssetsRecursive(filteredDigitalAssets, this.contentVersionVO.getContentId(), this.languageId, CmsPropertyHandler.getMaxNumberOfAssetInSearches()); return filteredDigitalAssets; } /** * Returns a list of digital assets available for this content version. */ private void getInheritedDigitalAssetsRecursive(List filteredDigitalAssets, Integer contentId, Integer languageId, Integer maxNumberOfAssets) { if (filteredDigitalAssets.size() > maxNumberOfAssets) return; try { List digitalAssets = DigitalAssetController.getDigitalAssetVOList(contentId, languageId, true); if (digitalAssets != null && digitalAssets.size() > 0) { Iterator digitalAssetsIterator = digitalAssets.iterator(); while (digitalAssetsIterator.hasNext()) { DigitalAssetVO assetVO = (DigitalAssetVO) digitalAssetsIterator.next(); logger.info("assetVO:" + assetVO.getAssetKey() + " - " + assetVO.getAssetContentType() + " VS " + this.assetTypeFilter); if (!this.assetTypeFilter.equals("*") && this.assetTypeFilter.indexOf(assetVO.getAssetContentType()) == -1) { digitalAssetsIterator.remove(); } } } filteredDigitalAssets.addAll(digitalAssets); if (filteredDigitalAssets.size() < maxNumberOfAssets) { List children = ContentControllerProxy.getContentController().getContentChildrenVOList(contentId); Iterator childrenIterator = children.iterator(); while (childrenIterator.hasNext()) { ContentVO child = (ContentVO) childrenIterator.next(); getInheritedDigitalAssetsRecursive(filteredDigitalAssets, child.getId(), languageId, maxNumberOfAssets); } } DigitalAssetController.getController().appendContentId(filteredDigitalAssets); } catch (Exception e) { logger.error("We could not fetch the list of digitalAssets: " + e.getMessage(), e); } } /** * This method fetches the blob from the database and saves it on the disk. * Then it returnes a url for it */ public String getDigitalAssetUrl(Integer digitalAssetId) throws Exception { String imageHref = null; try { imageHref = DigitalAssetController.getDigitalAssetUrl(digitalAssetId); } catch (Exception e) { logger.warn("We could not get the url of the digitalAsset: " + e.getMessage(), e); imageHref = e.getMessage(); } return imageHref; } /** * This method fetches the blob from the database and saves it on the disk. * Then it returnes a url for it */ public String getDigitalAssetThumbnailUrl(Integer digitalAssetId) throws Exception { String imageHref = null; try { imageHref = DigitalAssetController.getDigitalAssetThumbnailUrl(digitalAssetId); } catch (Exception e) { logger.warn("We could not get the url of the thumbnail: " + e.getMessage(), e); imageHref = e.getMessage(); } return imageHref; } /** * This method fetches the blob from the database and saves it on the disk. * Then it returnes a url for it */ public String getDigitalAssetUrl(Integer contentId, Integer languageId) throws Exception { String imageHref = null; try { imageHref = DigitalAssetController.getDigitalAssetUrl(contentId, languageId); } catch (Exception e) { logger.warn("We could not get the url of the digitalAsset: " + e.getMessage(), e); imageHref = e.getMessage(); } return imageHref; } /** * This method fetches the blob from the database and saves it on the disk. * Then it returnes a url for it */ public String getDigitalAssetUrl(Integer contentId, Integer languageId, String assetKey) throws Exception { String imageHref = null; try { imageHref = DigitalAssetController.getDigitalAssetUrl(contentId, languageId, assetKey, false); } catch (Exception e) { logger.warn("We could not get the url of the digitalAsset: " + e.getMessage(), e); imageHref = e.getMessage(); } return imageHref; } /** * This method fetches the blob from the database and saves it on the disk. * Then it returnes a url for it */ public String getDigitalAssetThumbnailUrl(Integer contentId, Integer languageId) throws Exception { String imageHref = null; try { imageHref = DigitalAssetController.getDigitalAssetThumbnailUrl(contentId, languageId); } catch (Exception e) { logger.warn("We could not get the url of the thumbnail: " + e.getMessage(), e); imageHref = e.getMessage(); } return imageHref; } /** * This method fetches the blob from the database and saves it on the disk. * Then it returnes a url for it */ public String getDigitalAssetThumbnailUrl(Integer contentId, Integer languageId, String assetKey) throws Exception { String imageHref = null; try { DigitalAssetVO assetVO = DigitalAssetController.getDigitalAssetVO(contentId, languageId, assetKey, false); imageHref = DigitalAssetController.getDigitalAssetThumbnailUrl(assetVO.getDigitalAssetId()); } catch (Exception e) { logger.warn("We could not get the url of the thumbnail: " + e.getMessage(), e); imageHref = e.getMessage(); } return imageHref; } /** * This method fetches a value from the xml that is the contentVersions Value. If the * contentVersioVO is null the contentVersion has not been created yet and no values are present. */ public String getAttributeValue(String key) { String value = ""; if (this.contentVersionVO != null) { try { logger.info("key:" + key); logger.info("VersionValue:" + this.contentVersionVO.getVersionValue()); String xml = this.contentVersionVO.getVersionValue(); int startTagIndex = xml.indexOf("<" + key + ">"); int endTagIndex = xml.indexOf("]]></" + key + ">"); if (startTagIndex > 0 && startTagIndex < xml.length() && endTagIndex > startTagIndex && endTagIndex < xml.length()) { value = xml.substring(startTagIndex + key.length() + 11, endTagIndex); value = new VisualFormatter().escapeHTML(value); } } catch (Exception e) { e.printStackTrace(); } } logger.info("value:" + value); return value; } /** * This method fetches a value from the xml that is the contentVersions Value. If the * contentVersioVO is null the contentVersion has not been created yet and no values are present. */ public String getUnescapedAttributeValue(String key) { String value = ""; if (this.contentVersionVO != null) { try { logger.info("key:" + key); logger.info("VersionValue:" + this.contentVersionVO.getVersionValue()); String xml = this.contentVersionVO.getVersionValue(); int startTagIndex = xml.indexOf("<" + key + ">"); int endTagIndex = xml.indexOf("]]></" + key + ">"); if (startTagIndex > 0 && startTagIndex < xml.length() && endTagIndex > startTagIndex && endTagIndex < xml.length()) { value = xml.substring(startTagIndex + key.length() + 11, endTagIndex); } } catch (Exception e) { e.printStackTrace(); } } //logger.info("value:" + value); return value; } /** * This method fetches a value from the xml that is the contentVersions Value. If the * contentVersioVO is null the contentVersion has not been created yet and no values are present. */ public String getOriginalLanguageAttributeValue(String key) { String value = ""; if (this.originalLanguageContentVersionVO != null) { try { logger.info("key:" + key); String xml = this.originalLanguageContentVersionVO.getVersionValue(); int startTagIndex = xml.indexOf("<" + key + ">"); int endTagIndex = xml.indexOf("]]></" + key + ">"); if (startTagIndex > 0 && startTagIndex < xml.length() && endTagIndex > startTagIndex && endTagIndex < xml.length()) { value = xml.substring(startTagIndex + key.length() + 11, endTagIndex); value = new VisualFormatter().escapeHTML(value); } } catch (Exception e) { e.printStackTrace(); } } logger.info("value:" + value); return value; } /** * This method fetches a value from the xml that is the contentVersions Value. If the * contentVersioVO is null the contentVersion has not been created yet and no values are present. */ public String getOriginalLanguageUnescapedAttributeValue(String key) { String value = ""; if (this.originalLanguageContentVersionVO != null) { try { logger.info("key:" + key); String xml = this.originalLanguageContentVersionVO.getVersionValue(); int startTagIndex = xml.indexOf("<" + key + ">"); int endTagIndex = xml.indexOf("]]></" + key + ">"); if (startTagIndex > 0 && startTagIndex < xml.length() && endTagIndex > startTagIndex && endTagIndex < xml.length()) { value = xml.substring(startTagIndex + key.length() + 11, endTagIndex); } } catch (Exception e) { e.printStackTrace(); } } //logger.info("value:" + value); return value; } /** * This method returns the attributes in the content type definition for generation. */ public List getContentTypeAttributes() { return this.attributes; } public ContentVersionVO getContentVersionVO() { return contentVersionVO; } /** * This method gets the WYSIWYG Properties */ public Map getWYSIWYGProperties() throws Exception { if (this.WYSIWYGProperties != null) return this.WYSIWYGProperties; //First we got the values from repository properties... 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) { Properties properties = new Properties(); properties.load(new ByteArrayInputStream(WYSIWYGConfigBytes)); this.WYSIWYGProperties = properties; } //Now we add the overridden parameters in role/user properties. Map principalWYSIWYGProperties = getPrincipalPropertyHashValues("WYSIWYGConfig", false); if (this.WYSIWYGProperties != null) { logger.info("this.WYSIWYGProperties:" + this.WYSIWYGProperties.size()); //Clear sections of the configuration if overridden if (principalWYSIWYGProperties.containsKey("toolbar_line0_position0")) { for (int lineIndex = 0; lineIndex < 3; lineIndex++) { for (int colIndex = 0; colIndex < 30; colIndex++) { WYSIWYGProperties.remove("toolbar_line" + lineIndex + "_position" + colIndex); } } } if (principalWYSIWYGProperties.containsKey("css.url.0")) { for (int index = 0; index < 10; index++) { WYSIWYGProperties.remove("css.url." + index); } } if (principalWYSIWYGProperties.containsKey("css.class.0")) { for (int index = 0; index < 50; index++) { WYSIWYGProperties.remove("css.class." + index); } } } else { this.WYSIWYGProperties = new HashMap(); } //Now we add the new properties this.WYSIWYGProperties.putAll(principalWYSIWYGProperties); return this.WYSIWYGProperties; } /** * This method returns a list of css-classes available to the WYSIWYG. */ public List getCSSRules(String url) { logger.info("url:" + url); CSSHelper cssHelper = CSSHelper.getHelper(); cssHelper.setCSSUrl(url); return cssHelper.getCSSRules(); } /** * This method returns a infoglue-specific PropertySet */ public boolean getEnableCSSPlugin() throws Exception { boolean enableCSSPlugin = false; Map properties = getWYSIWYGProperties(); String enableCSSPluginString = (String) properties.get("enableCSSPlugin"); if (enableCSSPluginString != null && enableCSSPluginString.trim().equalsIgnoreCase("true")) { enableCSSPlugin = true; } return enableCSSPlugin; } /** * This method returns a infoglue-specific PropertySet */ public List getCSSList() throws Exception { List cssList = new ArrayList(); Map properties = getWYSIWYGProperties(); int index = 0; String cssUrl = (String) properties.get("css.url." + index); while (cssUrl != null) { cssList.add(cssUrl); index++; cssUrl = (String) properties.get("css.url." + index); } return cssList; } /** * This method returns a infoglue-specific PropertySet */ public List getAllowedClasses() throws Exception { List allowedClasses = new ArrayList(); Map properties = getWYSIWYGProperties(); int index = 0; String cssUrl = (String) properties.get("css.class." + index); while (cssUrl != null) { allowedClasses.add(cssUrl); index++; cssUrl = (String) properties.get("css.class." + index); } return allowedClasses; } /** * This method returns the base-url to the delivery-engine. */ public String getDeliveryBaseUrl() { String previewDeliveryUrl = CmsPropertyHandler.getPreviewDeliveryUrl(); int index = previewDeliveryUrl.lastIndexOf("/"); if (index > 0) { previewDeliveryUrl = previewDeliveryUrl.substring(0, index); } return previewDeliveryUrl; } /** * Return the listing of Category attributes for this type of Content */ public List getDefinedCategoryKeys() { try { if (contentTypeDefinitionVO != null) return ContentTypeDefinitionController.getController() .getDefinedCategoryKeys(contentTypeDefinitionVO.getSchemaValue()); } catch (Exception e) { logger.warn("We could not fetch the list of defined category keys: " + e.getMessage(), e); } return Collections.EMPTY_LIST; } /** * Returns the Category tree for the given Category id. * @param categoryId The base Category * @return A list of all Children (and their children, etc) */ public List getAvailableCategories(Integer categoryId) { Timer t = new Timer(); List categories = Collections.EMPTY_LIST; try { String protectCategories = CmsPropertyHandler.getProtectCategories(); if (protectCategories != null && protectCategories.equalsIgnoreCase("true")) categories = categoryController.getAuthorizedActiveChildren(categoryId, this.getInfoGluePrincipal()); else categories = categoryController.getActiveChildrenCategoryVOList(categoryId); } catch (Exception e) { logger.warn("We could not fetch the list of categories: " + e.getMessage(), e); } //t.printElapsedTime("All available cats"); return categories; } /** * Returns all current Category relationships for th specified attrbiute name * @param attribute * @return */ public List getRelatedCategories(String attribute) { try { if (this.contentVersionVO != null && this.contentVersionVO.getContentVersionId() != null) { return contentCategoryController.findByContentVersionAttribute(attribute, contentVersionVO.getContentVersionId()); } } catch (Exception e) { logger.warn("We could not fetch the list of defined category keys: " + e.getMessage(), e); } return Collections.EMPTY_LIST; } public ContentVersionVO getMasterContentVersionVO(Integer contentId, Integer repositoryId) throws SystemException, Exception { LanguageVO masterLanguageVO = LanguageController.getController().getMasterLanguage(repositoryId); return ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(contentId, masterLanguageVO.getId()); } public ContentVersionVO getLatestContentVersionVO(Integer contentId, Integer languageId) throws SystemException, Exception { return ContentVersionController.getContentVersionController().getLatestActiveContentVersionVO(contentId, languageId); } /** * This method shows the user a list of Components(HTML Templates). */ public List getComponentBindings() throws Exception { List bindings = new ArrayList(); try { Integer repositoryId = new Integer(this.getRequest().getParameter("repositoryId")); Integer siteNodeId = new Integer(this.getRequest().getParameter("siteNodeId")); Integer languageId = new Integer(this.getRequest().getParameter("languageId")); Integer contentId = new Integer(this.getRequest().getParameter("contentId")); String propertyName = this.getRequest().getParameter("propertyName"); LanguageVO masterLanguageVO = LanguageController.getController().getMasterLanguage(repositoryId); String componentXML = getPageComponentsString(siteNodeId, masterLanguageVO.getId(), contentId); //logger.info("componentXML:" + componentXML); org.w3c.dom.Document document = XMLHelper.readDocumentFromByteArray(componentXML.getBytes("UTF-8")); String componentXPath = "//component[@id=" + this.componentId + "]/properties/property[@name='" + propertyName + "']/binding"; NodeList anl = org.apache.xpath.XPathAPI.selectNodeList(document.getDocumentElement(), componentXPath); for (int i = 0; i < anl.getLength(); i++) { org.w3c.dom.Element component = (org.w3c.dom.Element) anl.item(i); String entityName = component.getAttribute("entity"); String entityId = component.getAttribute("entityId"); String assetKey = component.getAttribute("assetKey"); try { String path = "Undefined"; if (entityName.equalsIgnoreCase("SiteNode")) { SiteNodeVO siteNodeVO = SiteNodeController.getController() .getSiteNodeVOWithId(new Integer(entityId)); path = siteNodeVO.getName(); } else if (entityName.equalsIgnoreCase("Content")) { ContentVO contentVO = ContentController.getContentController() .getContentVOWithId(new Integer(entityId)); path = contentVO.getName(); } Map binding = new HashMap(); binding.put("entityName", entityName); binding.put("entityId", entityId); binding.put("assetKey", assetKey); binding.put("path", path); bindings.add(binding); } catch (Exception e) { logger.warn("There was " + entityName + " bound to property '" + propertyName + "' on siteNode " + siteNodeId + " which appears to have been deleted."); } } } catch (Exception e) { e.printStackTrace(); } return bindings; } /** * This method fetches the template-string. */ private String getPageComponentsString(Integer siteNodeId, Integer languageId, Integer contentId) throws SystemException, Exception { String template = null; try { ContentVO contentVO = NodeDeliveryController .getNodeDeliveryController(siteNodeId, languageId, contentId) .getBoundContent(this.getInfoGluePrincipal(), siteNodeId, languageId, true, "Meta information", DeliveryContext.getDeliveryContext()); if (contentVO == null) throw new SystemException( "There was no template bound to this page which makes it impossible to render."); ContentVersionVO contentVersionVO = ContentVersionController.getContentVersionController() .getLatestActiveContentVersionVO(contentVO.getId(), languageId); if (contentVersionVO == null) { SiteNodeVO siteNodeVO = SiteNodeController.getController().getSiteNodeVOWithId(siteNodeId); LanguageVO masterLanguage = LanguageController.getController() .getMasterLanguage(siteNodeVO.getRepositoryId()); contentVersionVO = ContentVersionController.getContentVersionController() .getLatestActiveContentVersionVO(contentVO.getId(), masterLanguage.getLanguageId()); } template = ContentVersionController.getContentVersionController() .getAttributeValue(contentVersionVO.getId(), "ComponentStructure", false); if (template == null) throw new SystemException( "There was no template bound to this page which makes it impossible to render."); } catch (Exception e) { logger.error(e.getMessage(), e); throw e; } return template; } public Integer getCurrentEditorId() { return currentEditorId; } public void setCurrentEditorId(Integer integer) { currentEditorId = integer; } public String getAttributeName() { return this.attributeName; } public void setAttributeName(String attributeName) { this.attributeName = attributeName; } public String getTextAreaId() { return this.textAreaId; } public void setTextAreaId(String textAreaId) { this.textAreaId = textAreaId; } public Integer getSiteNodeId() { return this.siteNodeId; } public void setSiteNodeId(Integer siteNodeId) { this.siteNodeId = siteNodeId; } public void setRepositoryId(Integer repositoryId) { this.repositoryId = repositoryId; } public List getRepositories() { return repositories; } public String getAssetKey() { return assetKey; } public void setAssetKey(String assetKey) { this.assetKey = assetKey; } public Integer getOldContentId() { return oldContentId; } public void setOldContentId(Integer oldContentId) { this.oldContentId = oldContentId; } public boolean getTreatAsLink() { return treatAsLink; } public void setTreatAsLink(boolean treatAsLink) { this.treatAsLink = treatAsLink; } public ContentVO getContentVO() { return contentVO; } public String getCloseOnLoad() { return closeOnLoad; } public void setCloseOnLoad(String closeOnLoad) { this.closeOnLoad = closeOnLoad; } public Integer getNewContentId() { return newContentId; } public void setNewContentId(Integer newContentId) { this.newContentId = newContentId; } public void setContentVersionVO(ContentVersionVO contentVersionVO) { this.contentVersionVO = contentVersionVO; } public ContentTypeDefinitionVO getContentTypeDefinitionVO() { return contentTypeDefinitionVO; } public boolean getConcurrentModification() { return concurrentModification; } public void setConcurrentModification(boolean concurrentModification) { this.concurrentModification = concurrentModification; } public long getOldModifiedDateTime() { return oldModifiedDateTime; } public void setOldModifiedDateTime(long oldModifiedDateTime) { this.oldModifiedDateTime = oldModifiedDateTime; } public void setForceWorkingChange(boolean forceWorkingChange) { this.forceWorkingChange = forceWorkingChange; } public String getPublishOnLoad() { return publishOnLoad; } public void setPublishOnLoad(String publishOnLoad) { this.publishOnLoad = publishOnLoad; } public boolean getIsAssetBinding() { return isAssetBinding; } public void setIsAssetBinding(boolean isAssetBinding) { this.isAssetBinding = isAssetBinding; } public Integer getComponentId() { return componentId; } public void setComponentId(Integer componentId) { this.componentId = componentId; } public String getPropertyName() { return propertyName; } public void setPropertyName(String propertyName) { this.propertyName = propertyName; } public boolean getShowSimple() { return showSimple; } public void setShowSimple(boolean showSimple) { this.showSimple = showSimple; } public boolean getShowDecorated() { return showDecorated; } public void setShowDecorated(boolean showDecorated) { this.showDecorated = showDecorated; } public String getAssignedAssetKey() { return assignedAssetKey; } public void setAssignedAssetKey(String assignedAssetKey) { try { String fromEncoding = CmsPropertyHandler.getURIEncoding(); String toEncoding = "utf-8"; String testAssignedAssetKey = new String(assignedAssetKey.getBytes(fromEncoding), toEncoding); if (testAssignedAssetKey.indexOf((char) 65533) == -1) assignedAssetKey = testAssignedAssetKey; } catch (Exception e) { logger.error("Problem converting asset key encoding"); } this.assignedAssetKey = assignedAssetKey; } public String getAssignedPath() { return assignedPath; } public void setAssignedPath(String assignedPath) { this.assignedPath = assignedPath; } public Integer getAssignedContentId() { return assignedContentId; } public void setAssignedContentId(Integer assignedContentId) { this.assignedContentId = assignedContentId; } public String getAnchor() { return anchor; } public void setAnchor(String anchor) { this.anchor = anchor; } public boolean getShowActionButtons() { return showActionButtons; } public void setShowActionButtons(boolean showActionButtons) { this.showActionButtons = showActionButtons; } public boolean getShowSelectButtonByEachImage() { return showSelectButtonByEachImage; } public void setShowSelectButtonByEachImage(boolean showSelectButtonByEachImage) { this.showSelectButtonByEachImage = showSelectButtonByEachImage; } public String getAnchorName() { return anchorName; } public void setAnchorName(String anchorName) { this.anchorName = anchorName; } public boolean getTranslate() { return translate; } public void setTranslate(boolean translate) { this.translate = translate; } public Integer getFromLanguageId() { return fromLanguageId; } public void setFromLanguageId(Integer fromLanguageId) { this.fromLanguageId = fromLanguageId; } public Integer getToLanguageId() { return toLanguageId; } public void setToLanguageId(Integer toLanguageId) { this.toLanguageId = toLanguageId; } public ContentVersionVO getOriginalLanguageContentVersionVO() { return originalLanguageContentVersionVO; } public LanguageVO getCurrentLanguageVO() { return currentLanguageVO; } public void setReturnAddress(String returnAddress) { this.returnAddress = returnAddress; } public String getAssetTypeFilter() { return assetTypeFilter; } public void setAssetTypeFilter(String assetTypeFilter) { if (assetTypeFilter != null && !assetTypeFilter.equals("")) this.assetTypeFilter = assetTypeFilter; } public boolean getDisableAssetKeyEncoding() { return disableAssetKeyEncoding; } public void setDisableAssetKeyEncoding(boolean disableAssetKeyEncoding) { this.disableAssetKeyEncoding = disableAssetKeyEncoding; } }