/* * $Id: ArticleVersionBlock.java,v 1.7 2009/05/27 16:10:06 valdas Exp $ * * Copyright (C) 2004 Idega. All Rights Reserved. * * This software is the proprietary information of Idega. * Use is subject to license terms. * */ package com.idega.block.article.component; import java.io.Serializable; import javax.faces.component.UIComponent; import javax.faces.component.html.HtmlOutputText; import javax.faces.event.ActionEvent; import javax.faces.event.ActionListener; import com.idega.block.article.IWBundleStarter; import com.idega.content.bean.ManagedContentBeans; import com.idega.content.data.ContentItemCase; import com.idega.webface.WFBlock; import com.idega.webface.WFContainer; import com.idega.webface.WFList; import com.idega.webface.WFPlainOutputText; import com.idega.webface.WFUtil; import com.idega.webface.convert.WFCommaSeparatedListConverter; /** * Block for listing article versions. * <p> * Last modified: $Date: 2009/05/27 16:10:06 $ by $Author: valdas $ * * @author Anders Lindman * @version $Revision: 1.7 $ */ public class ArticleVersionBlock extends WFBlock implements ManagedContentBeans, ActionListener, Serializable { private static final long serialVersionUID = 5089595729194766138L; public final static String ARTICLE_VERSION_BLOCK_ID = "search_article_block"; private final static String P = "article_version_block_"; // Id prefix private final static String ARTICLE_VERSION_LIST_ID = P + "list"; private final static String PREVIEW_PANEL_ID = P + "preview_panel"; /** * Default contructor. */ public ArticleVersionBlock() { setId(ARTICLE_VERSION_BLOCK_ID); WFUtil.invoke(ARTICLE_VERSION_LIST_BEAN_ID, "setArticleLinkListener", this, ActionListener.class); add(getVersionList()); UIComponent c = getPreviewContainer(); c.setRendered(false); add(c); } /* * Creates an article version list. */ private UIComponent getVersionList() { WFList l = new WFList(ARTICLE_VERSION_LIST_BEAN_ID); l.setId(ARTICLE_VERSION_LIST_ID); return l; } /* * Creates an article preview container. */ private UIComponent getPreviewContainer() { WFContainer c = new WFContainer(); c.setId(PREVIEW_PANEL_ID); c.setStyleAttribute("padding", "14px"); String ref = ARTICLE_VERSION_ITEM_BEAN_ID + "."; String bid = IWBundleStarter.BUNDLE_IDENTIFIER; c.add(WFUtil.getHeaderTextVB(ref + "headline")); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getTextVB(ref + "teaser")); c.add(WFUtil.getBreak(2)); WFPlainOutputText bodyText = new WFPlainOutputText(); WFUtil.setValueBinding(bodyText, "value", ref + "body"); c.add(bodyText); c.add(WFUtil.getBreak(4)); c.add(WFUtil.getHeaderTextVB(bid, "author")); c.add(WFUtil.getHeaderText(": ")); c.add(WFUtil.getTextVB(ref + "author")); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getHeaderTextVB(bid, "created")); c.add(WFUtil.getHeaderText(": ")); c.add(WFUtil.getText("4/20/04 3:04 PM")); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getHeaderTextVB(bid, "status")); c.add(WFUtil.getHeaderText(": ")); c.add(WFUtil.getTextVB(ref + "status")); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getHeaderTextVB(bid, "categories")); c.add(WFUtil.getHeaderText(": ")); HtmlOutputText t = WFUtil.getTextVB(ref + "categoryNames"); t.setConverter(new WFCommaSeparatedListConverter()); c.add(t); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getHeaderTextVB(bid, "current_version")); c.add(WFUtil.getHeaderText(": ")); c.add(WFUtil.getText("1.5")); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getHeaderTextVB(bid, "comment")); c.add(WFUtil.getHeaderText(": ")); c.add(WFUtil.getTextVB(ref + "comment")); c.add(WFUtil.getBreak(2)); c.add(WFUtil.getHeaderTextVB(bid, "source")); c.add(WFUtil.getHeaderText(": ")); c.add(WFUtil.getTextVB(ref + "source")); c.add(WFUtil.getBreak()); return c; } /** * javax.faces.event.ActionListener#processAction() */ public void processAction(ActionEvent event) { UIComponent link = event.getComponent(); String id = WFUtil.getParameter(link, "id"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "clear"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setLocaleId", "sv"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setHeadline", "Previous version"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setTeaser", "Teaser"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setBody", "Article " + id); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setAuthor", "author"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setComment", "comment"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setDescription", "description"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setSource", "source"); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setStatus", ContentItemCase.STATUS_PUBLISHED); // WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setMainCategoryId", new Integer(3)); WFUtil.invoke(ARTICLE_VERSION_ITEM_BEAN_ID, "setUpdated", new Boolean(true)); link.getParent().getParent().getParent().findComponent(PREVIEW_PANEL_ID).setRendered(true); } }