package com.idega.block.image.presentation; import java.sql.SQLException; import java.util.List; import com.idega.block.image.data.ImageEntity; import com.idega.core.file.data.ICFileBMPBean; import com.idega.data.EntityFinder; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObjectContainer; import com.idega.presentation.Table; import com.idega.presentation.text.Link; import com.idega.presentation.text.Text; import com.idega.util.IWTimestamp; /** * Title: * Description: * Copyright: Copyright (c) 2000-2001 idega.is All Rights Reserved * Company: idega *@author <a href="mailto:aron@idega.is">Aron Birkir</a> * @version 1.1 */ public class SimpleLister extends PresentationObjectContainer { private String target = "viewer"; public String prmImageView = "img_view_id"; public String sessImageParameterName = "im_image_session_name"; public String sessImageParameter = "image_id"; public void main(IWContext iwc){ //add("block.media"); getParentPage().setAllMargins(0); List L = listOfImages(); checkParameterName(iwc); if(L!= null){ Table Frame = new Table(); Frame.setWidth("100%"); Frame.setCellpadding(0); Frame.setCellspacing(0); Table T = new Table(); T.setWidth("100%"); int len = L.size(); int row = 1; T.add(formatText("Pictures"),1,row++); for (int i = 0; i < len; i++) { ImageEntity image = (ImageEntity) L.get(i); T.add(getImageLink(image,this.target,this.prmImageView),1,row); /**@todo: localize * */ T.add(formatText(new IWTimestamp(image.getCreationDate() ).getISLDate(".",true)),2,row); row++; } T.setCellpadding(2); T.setCellspacing(0); T.setHorizontalZebraColored("#CBCFD3","#ECEEF0"); Frame.add(T,1,1); add(Frame); } } public void checkParameterName(IWContext iwc){ if(iwc.getParameter(this.sessImageParameterName)!=null){ this.sessImageParameter = iwc.getParameter(this.sessImageParameterName); iwc.setSessionAttribute(this.sessImageParameterName,this.sessImageParameter); } else if(iwc.getSessionAttribute(this.sessImageParameterName)!=null) { this.sessImageParameter = (String) iwc.getSessionAttribute(this.sessImageParameterName); } } public Link getImageLink(ImageEntity image,String target,String prm){ Link L = new Link(formatText(image.getName()),SimpleViewer.class); L.setFontSize(1); L.setOnClick("top.iImageId = "+image.getPrimaryKey().toString() ); L.addParameter(this.sessImageParameter,image.getPrimaryKey().toString()); L.setTarget(target); return L; } public List listOfImages(){ List L = null; try { ImageEntity image = ((com.idega.block.image.data.ImageEntityHome)com.idega.data.IDOLookup.getHomeLegacy(ImageEntity.class)).createLegacy(); StringBuffer sql = new StringBuffer("select f.* "); sql.append(" from ic_file f, ic_mime_type m ,ic_file_type t "); sql.append(" where f.mime_type = m.mime_type "); sql.append(" and m.ic_file_type_id = t.ic_file_type_id "); sql.append(" and t.unique_name = 'ic_image' "); sql.append(" order by ").append(ICFileBMPBean.getColumnNameCreationDate()).append(" desc "); //EntityFinder.debug = true; //TODO - ARON - move into ICFileBMPBean L = EntityFinder.findAll(image,sql.toString()); //EntityFinder.debug = false; } catch (SQLException ex) { L = null; } return L; } public Text formatText(String s){ Text T= new Text(); if(s!=null){ T= new Text(s); T.setFontColor("#000000"); T.setFontSize(1); } return T; } public Text formatText(int i){ return formatText(String.valueOf(i)); } }