package is.idega.idegaweb.golf.block.image.presentation;
import is.idega.idegaweb.golf.block.image.data.ImageEntity;
import is.idega.idegaweb.golf.block.image.data.ImageEntityHome;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.ejb.EJBException;
import javax.ejb.RemoveException;
import com.idega.data.IDOLookup;
import com.idega.presentation.IWContext;
import com.idega.presentation.PresentationObjectContainer;
import com.idega.presentation.Table;
/**
* 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 SimpleViewer extends PresentationObjectContainer{
public String prmImageView = "img_view_id";
public static final String prmAction = "img_view_action";
public static final String actSave = "save",actDelete = "delete";
public static final String sessionSaveParameter = "img_id";
public static final String sessionParameter = "image_id";
public String sessImageParameterName = "im_image_session_name";
public String sessImageParameter = "image_id";
public void main(IWContext modinfo){
String sImageId = getImageId(modinfo);
String sAction = modinfo.getParameter(prmAction);
if(sImageId != null){
saveImageId(modinfo,sImageId);
if(sAction != null){
if(sAction.equals(actSave)){
saveImageId(modinfo,sImageId);
}
else if(sAction.equals(actDelete)){
deleteImage(sImageId);
removeFromSession(modinfo);
}
}
else{
int id = Integer.parseInt(sImageId);
try {
ImageEntity ieImage = (ImageEntity)((ImageEntityHome)IDOLookup.getHomeLegacy(ImageEntity.class)).findByPrimaryKeyLegacy(id);
Table T = new Table();
T.add(ieImage.getName(),1,1);
T.add(new GolfImage(id),1,2);
add(T);
}
catch (SQLException ex) {
add("error");
}
}
}
}
public boolean deleteImage(String sImageId){
Connection Conn = null;
try{
Conn = com.idega.util.database.ConnectionBroker.getConnection();
ResultSet RS;
Statement Stmt = Conn.createStatement();
int r = Stmt.executeUpdate("DELETE FROM IMAGE_IMAGE_CATAGORY WHERE IMAGE_ID = "+sImageId);
Stmt.close();
}
catch(SQLException ex){
ex.printStackTrace();
}
finally{
if(Conn != null)
com.idega.util.database.ConnectionBroker.freeConnection(Conn);
}
try {
Integer iImageId = new Integer(sImageId);
((ImageEntityHome)IDOLookup.getHomeLegacy(ImageEntity.class)).remove(iImageId);
return true;
}
catch (NumberFormatException ex){
return false;
} catch (EJBException e) {
e.printStackTrace();
return false;
} catch (RemoveException e) {
e.printStackTrace();
return false;
}
}
public String getImageId(IWContext modinfo){
if(modinfo.getParameter(sessImageParameterName)!=null)
sessImageParameter = modinfo.getParameter(sessImageParameterName);
else if(modinfo.getSessionAttribute(sessImageParameterName)!=null){
sessImageParameter = (String) modinfo.getSessionAttribute(sessImageParameterName);
}
//add(sessImageParameter);
String s = null;
if(modinfo.getParameter(sessImageParameter)!=null){
s = modinfo.getParameter(sessImageParameter);
}
else if(modinfo.getSessionAttribute(sessImageParameter)!=null)
s = (String) modinfo.getSessionAttribute(sessImageParameter);
return s;
}
public void removeFromSession(IWContext modinfo){
modinfo.removeSessionAttribute(sessImageParameter);
}
public void saveImageId(IWContext modinfo,String sImageId){
modinfo.setSessionAttribute(sessImageParameter,sImageId);
modinfo.setSessionAttribute(sessImageParameter+"2",sImageId);
}
public void saveImage(IWContext modinfo,String sImageId){
modinfo.setSessionAttribute(sessionSaveParameter,sImageId);
}
}