package com.idega.block.entity.presentation.converter.editable; import java.util.Iterator; import java.util.List; import com.idega.block.entity.business.EntityToPresentationObjectConverter; import com.idega.block.entity.data.EntityPath; import com.idega.block.entity.presentation.EntityBrowser; import com.idega.block.entity.presentation.converter.ConverterConstants; import com.idega.data.EntityRepresentation; import com.idega.idegaweb.IWResourceBundle; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; import com.idega.presentation.ui.Parameter; import com.idega.presentation.ui.SubmitButton; /** * <p>Title: idegaWeb</p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: idega Software</p> * @author <a href="thomas@idega.is">Thomas Hilbig</a> * @version 1.0 * Created on Aug 26, 2003 */ public class EditOkayButtonConverter implements EntityToPresentationObjectConverter { boolean addCancel = true; List maintainParametersList = null; /** * @return */ public List getParametersToMaintain() { return this.maintainParametersList; } /** * @param maintainParametersList */ public void maintainParameters(List maintainParametersList) { this.maintainParametersList = maintainParametersList; } /* (non-Javadoc) * @see com.idega.block.entity.business.EntityToPresentationObjectConverter#getHeaderPresentationObject(com.idega.block.entity.data.EntityPath, com.idega.block.entity.presentation.EntityBrowser, com.idega.presentation.IWContext) */ public PresentationObject getHeaderPresentationObject( EntityPath entityPath, EntityBrowser browser, IWContext iwc) { return new Text(""); } /* (non-Javadoc) * @see com.idega.block.entity.business.EntityToPresentationObjectConverter#getPresentationObject(java.lang.Object, com.idega.block.entity.data.EntityPath, com.idega.block.entity.presentation.EntityBrowser, com.idega.presentation.IWContext) */ public PresentationObject getPresentationObject( Object value, EntityPath path, EntityBrowser browser, IWContext iwc) { Table table = new Table(2,1); IWResourceBundle iwrb = iwc.getIWMainApplication().getBundle(getBundleIdentifier()).getResourceBundle(iwc.getCurrentLocale()); Integer id = (Integer) ((EntityRepresentation) value).getPrimaryKey(); if (iwc.isParameterSet(ConverterConstants.EDIT_ENTITY_KEY)) { String idEditEntity = iwc.getParameter(ConverterConstants.EDIT_ENTITY_KEY); try { Integer primaryKey = new Integer(idEditEntity); if (id.equals(primaryKey)) { SubmitButton button = new SubmitButton(iwrb.getLocalizedString("ok.button","ok"), ConverterConstants.EDIT_ENTITY_SUBMIT_KEY, id.toString()); button.setAsImageButton(true); table.add(button,1,1); if(this.addCancel){ Parameter showAllEntries = browser.getShowAllEntriesParameter(); Link cancel = new Link(iwrb.getLocalizedImageButton("cancel.button","cancel")); cancel.addParameter(showAllEntries); cancel.addParameter(ConverterConstants.SUBMIT_CANCEL_KEY,"true"); if(this.maintainParametersList!=null && !this.maintainParametersList.isEmpty()){ Iterator iter = this.maintainParametersList.iterator(); while (iter.hasNext()) { String param = (String) iter.next(); cancel.maintainParameter(param,iwc); } } table.add(cancel,2,1); } return table; } } catch (NumberFormatException ex) { } } return new Text(""); } public void addCancelButton(boolean addCancel){ this.addCancel = addCancel; } public String getBundleIdentifier(){ return EntityBrowser.IW_BUNDLE_IDENTIFIER; } }