X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmircoders%2Fservlet%2FServletModuleImages.java;h=89df034ec50837fd0861c1a74edaccbfcbe7de0a;hb=c6a2204d8d75293256fd17c07e54971d7672359a;hp=8159cc4af23a720f7cfb962f7e3e20ee298c0890;hpb=635db236fe78484b5f7f0158ad8054b189bf7a79;p=mir.git diff --git a/source/mircoders/servlet/ServletModuleImages.java b/source/mircoders/servlet/ServletModuleImages.java index 8159cc4a..89df034e 100755 --- a/source/mircoders/servlet/ServletModuleImages.java +++ b/source/mircoders/servlet/ServletModuleImages.java @@ -1,9 +1,11 @@ package mircoders.servlet; import java.io.*; +import java.lang.*; import java.sql.*; import java.util.*; import java.net.*; +import java.lang.reflect.*; import javax.servlet.*; import javax.servlet.http.*; @@ -11,15 +13,17 @@ import freemarker.template.*; import com.oreilly.servlet.multipart.*; import com.oreilly.servlet.*; -import webdb.servlet.*; -import webdb.module.*; -import webdb.misc.*; -import webdb.entity.*; -import webdb.storage.*; - +import mir.servlet.*; +import mir.module.*; +import mir.misc.*; import mir.entity.*; import mir.storage.*; -import mir.module.*; +import mir.media.*; + +import mircoders.entity.*; +import mircoders.storage.*; +import mircoders.module.*; +import mircoders.producer.*; /* * ServletModuleBilder - @@ -29,300 +33,335 @@ import mir.module.*; * @author RK */ -public class ServletModuleImages extends webdb.servlet.ServletModule +public class ServletModuleImages extends mir.servlet.ServletModule { - private static ModuleMediafolder mediafolderModule; - private static DatabaseRights dbRights; - private static DatabaseImageFormat dbImageFormat; - private static DatabaseImageType dbImageType; - private static DatabaseImageColor dbImageColor; - private static DatabaseImageLayout dbImageLayout; - - // Singelton / Kontruktor - private static ServletModuleImages instance = new ServletModuleImages(); - public static ServletModule getInstance() { return instance; } - - - private ServletModuleImages() { - theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("ServletModule.Bilder.Logfile")); - templateListString = Configuration.getProperty("ServletModule.Bilder.ListTemplate"); - templateObjektString = Configuration.getProperty("ServletModule.Bilder.ObjektTemplate"); - templateConfirmString = Configuration.getProperty("ServletModule.Bilder.ConfirmTemplate"); - try { - mainModule = new ModuleImages(DatabaseImages.getInstance()); - mediafolderModule = new ModuleMediafolder(DatabaseMediafolder.getInstance()); - dbRights = DatabaseRights.getInstance(); - dbImageFormat = DatabaseImageFormat.getInstance(); - dbImageColor = DatabaseImageColor.getInstance(); - dbImageType = DatabaseImageType.getInstance(); - dbImageLayout = DatabaseImageLayout.getInstance(); - } - catch (StorageObjectException e) { - theLog.printDebugInfo("servletmodulebilder konnte nicht initialisiert werden"); - } - } - - - public void insert(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException - { - try { - WebdbMultipartRequest mp = new WebdbMultipartRequest(req); - HashMap parameters = mp.getParameters(); - byte[] imageData=mp.getMedia(); - String fileName=mp.getFilename(); - - EntityUsers user = _getUser(req); - parameters.put("date", StringUtil.date2webdbDate(new GregorianCalendar())); - parameters.put("to_publisher", user.getId()); - parameters.put("is_produced", "0"); - if (!parameters.containsKey("is_published")) - parameters.put("is_published","0"); - - String id = mainModule.add(parameters); - EntityImage entImage = (EntityImage)mainModule.getById(id); - - if (imageData!=null && fileName!=null) { - int fileType = -1; - if (fileName.toLowerCase().endsWith(".jpg")) fileType=0; - if (fileName.toLowerCase().endsWith(".gif")) fileType=1; - if (fileType>=0) - entImage.setImage(imageData, fileType); - else - theLog.printError("Wrong file uploaded!"); - } - _edit(id, req, res); - } - catch (IOException e) { throw new ServletModuleException("upload -- ioexception " + e.toString());} - catch (ModuleException e) { throw new ServletModuleException("upload -- moduleexception " + e.toString());} - - } - - public void update(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException - { - - try { - WebdbMultipartRequest mp = new WebdbMultipartRequest(req); - HashMap parameters = mp.getParameters(); - byte[] imageData=mp.getMedia(); - String fileName=mp.getFilename(); - - EntityUsers user = _getUser(req); - parameters.put("to_publisher", user.getId()); - parameters.put("is_produced", "0"); - if (!parameters.containsKey("is_published")) - parameters.put("is_published","0"); - - String id = mainModule.set(parameters); - EntityImage entImage = (EntityImage)mainModule.getById(id); - - if (imageData!=null && fileName!=null) { - int fileType = -1; - if (fileName.toLowerCase().endsWith(".jpg")) fileType=0; - if (fileName.toLowerCase().endsWith(".gif")) fileType=1; - if (fileType>=0) - entImage.setImage(imageData, fileType); - else - theLog.printError("Wrong file uploaded!"); - } - _edit(id, req, res); - } - catch (IOException e) { throw new ServletModuleException("upload -- ioexception " + e.toString());} - catch (ModuleException e) { throw new ServletModuleException("upload -- moduleexception " + e.toString());} - - } - - - public void showimg(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException - { - String idParam = req.getParameter("id"); - if (idParam!=null && !idParam.equals("")) { - try { - EntityImage entImage =(EntityImage)mainModule.getById(idParam); - res.setContentType("image/jpeg"); // testweise - ServletOutputStream out = res.getOutputStream(); // wichtig, dass vorher kein res.getwriter() gelaufen ist - - byte[] outbytes = entImage.getImage(); - out.write(outbytes); - out.close(); - } - - catch (IOException e) {throw new ServletModuleException(e.toString());} - catch (ModuleException e) {throw new ServletModuleException(e.toString());} - catch (Exception e) {throw new ServletModuleException(e.toString());} - } - else theLog.printDebugInfo("id nicht angeben."); - // darf keine exception werfen - } - - public void showicon(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException - { - String idParam = req.getParameter("id"); - if (idParam!=null && !idParam.equals("")) { - try { - EntityImage entImage =(EntityImage)mainModule.getById(idParam); - res.setContentType("image/jpeg"); // testweise - ServletOutputStream out = res.getOutputStream(); // wichtig, dass vorher kein res.getwriter() gelaufen ist - - byte[] outbytes = entImage.getIcon(); - out.write(outbytes); - out.close(); - } - - catch (IOException e) {throw new ServletModuleException(e.toString());} - catch (ModuleException e) {throw new ServletModuleException(e.toString());} - catch (Exception e) {throw new ServletModuleException(e.toString());} - } - else throw new ServletModuleException("id nicht angeben."); - } - - public void list(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException - { - // Parameter auswerten - SimpleHash mergeData = new SimpleHash(); - String query_text = req.getParameter("query_text"); - mergeData.put("query_text",query_text); - if (query_text!=null) mergeData.put("query_text_encoded",URLEncoder.encode(query_text)); - String query_field = req.getParameter("query_field"); - mergeData.put("query_field",query_field); - String query_is_published = req.getParameter("query_is_published"); - mergeData.put("query_is_published",query_is_published); - String query_media_folder = req.getParameter("query_media_folder"); - mergeData.put("query_media_folder",query_media_folder); - String offset = req.getParameter("offset"); - if (offset==null || offset.equals("")) offset="0"; - mergeData.put("offset",offset); - - String order = req.getParameter("order"); - if (order==null) order="webdb_lastchange desc"; - - // if in connection mode to content - String cid = req.getParameter("cid"); - mergeData.put("cid",cid); - - - // sql basteln - String whereClause=""; boolean isFirst=true; - if (query_text!=null && !query_text.equalsIgnoreCase("")) { - whereClause += "lower("+query_field+") like lower('%"+query_text+"%')"; isFirst=false;} - if (query_is_published != null && !query_is_published.equals("")) { - if (isFirst==false) whereClause+=" and "; - whereClause += "is_published='"+query_is_published+"'"; - isFirst=false; - } - if (query_media_folder != null && !query_media_folder.equals("")) { - if (isFirst==false) whereClause+=" and "; - whereClause += "to_media_folder='"+query_media_folder+"'"; - } - //theLog.printDebugInfo("sql-whereclause: " + whereClause + " order: " + order + " offset: " + offset); - - // fetch und ausliefern - try { - mergeData.put("mediafolderPopupData", mediafolderModule.getPopupData()); - mergeData.put("mediafolderHashdata", mediafolderModule.getHashData()); - if (query_text!=null || query_is_published!=null || query_media_folder!=null) { - EntityList theList = mainModule.getByWhereClause(whereClause, order, (new Integer(offset)).intValue(),10); - if (theList != null) { - mergeData.put("contentlist",HTMLTemplateProcessor.makeSimpleList(theList)); - if(theList.getOrder()!=null) { - mergeData.put("order", theList.getOrder()); - mergeData.put("order_encoded", URLEncoder.encode(theList.getOrder())); - } - mergeData.put("count", (new Integer(theList.getCount())).toString()); - mergeData.put("from", (new Integer(theList.getFrom())).toString()); - mergeData.put("to", (new Integer(theList.getTo())).toString()); - if (theList.hasNextBatch()) - mergeData.put("next", (new Integer(theList.getNextBatch())).toString()); - if (theList.hasPrevBatch()) - mergeData.put("prev", (new Integer(theList.getPrevBatch())).toString()); - } - } - // raus damit - HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateListString, mergeData, res.getWriter()); - } - catch (ModuleException e) {throw new ServletModuleException(e.toString());} - catch (IOException e) {throw new ServletModuleException(e.toString());} - catch (Exception e) {throw new ServletModuleException(e.toString());} - } - - - public void add(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException - { - try { - SimpleHash mergeData = new SimpleHash(); - mergeData.put("new", "1"); - mergeData.put("mediafolderPopupData", mediafolderModule.getPopupData()); - deliver(req, res, mergeData, templateObjektString); - } - catch (Exception e) { throw new ServletModuleException(e.toString());} - } - - public void edit(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException - { - String idParam = req.getParameter("id"); - _edit(idParam, req, res); - } - - private void _edit(String idParam, HttpServletRequest req, HttpServletResponse res) throws ServletModuleException { - if (idParam!=null && !idParam.equals("")) { - try { - SimpleHash mergeData = HTMLTemplateProcessor.makeSimpleHash(mainModule.getById(idParam)); - mergeData.put("mediafolderPopupData", mediafolderModule.getPopupData()); - mergeData.put("rightsHashdata", dbRights.getHashData()); - mergeData.put("imgformatHashdata", dbImageFormat.getHashData()); - mergeData.put("imgcolorHashdata", dbImageColor.getHashData()); - mergeData.put("imgtypeHashdata", dbImageType.getHashData()); - mergeData.put("imglayoutHashdata", dbImageLayout.getHashData()); - deliver(req, res, mergeData, templateObjektString); - } - catch (ModuleException e) { throw new ServletModuleException(e.toString());} - } - else throw new ServletModuleException("ServletmoduleImage :: _edit without id"); - } - - - /** @todo should be in ServletModule.java */ - private EntityUsers _getUser(HttpServletRequest req) - { - HttpSession session=req.getSession(false); - return (EntityUsers)session.getAttribute("login.uid"); - } - - - // deprecated - public void upload(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException - { - //theLog.printDebugInfo("-- trying to upload"); - String idParam = req.getParameter("id"); - if (idParam!=null && !idParam.equals("")) { - try { - - WebdbMultipartRequest mp = new WebdbMultipartRequest(req); - HashMap withValues = mp.getParameters(); - byte[] imageData=mp.getMedia(); - String fileName=mp.getFilename(); - - int fileType = -1; - if (fileName.toLowerCase().endsWith(".jpg")) fileType=0; - if (fileName.toLowerCase().endsWith(".gif")) fileType=1; - if (fileType>=0) { - EntityImage entImage = (EntityImage)mainModule.getById(idParam); - entImage.setImage(imageData, fileType); - } - else - theLog.printError("Wrong file uploaded!"); - } - catch (IOException e) { throw new ServletModuleException("upload -- ioexception " + e.toString());} - catch (ModuleException e) { throw new ServletModuleException("upload -- moduleexception " + e.toString());} - } - else // keine id - throw new ServletModuleException("Keine id angegeben"); - edit(req,res); - } + private static ModuleMediafolder mediafolderModule; + private static DatabaseRights dbRights; + private static DatabaseImageFormat dbImageFormat; + private static DatabaseImageType dbImageType; + private static DatabaseImageColor dbImageColor; + private static DatabaseImageLayout dbImageLayout; + + // Singelton / Kontruktor + private static ServletModuleImages instance = new ServletModuleImages(); + public static ServletModule getInstance() { return instance; } + + + private ServletModuleImages() { + theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.Bilder.Logfile")); + templateListString = MirConfig.getProp("ServletModule.Bilder.ListTemplate"); + templateObjektString = MirConfig.getProp("ServletModule.Bilder.ObjektTemplate"); + templateConfirmString = MirConfig.getProp("ServletModule.Bilder.ConfirmTemplate"); + try { + mainModule = new ModuleImages(DatabaseImages.getInstance()); + mediafolderModule = new ModuleMediafolder(DatabaseMediafolder.getInstance()); + dbRights = DatabaseRights.getInstance(); + dbImageFormat = DatabaseImageFormat.getInstance(); + dbImageColor = DatabaseImageColor.getInstance(); + dbImageType = DatabaseImageType.getInstance(); + dbImageLayout = DatabaseImageLayout.getInstance(); + } + catch (StorageObjectException e) { + theLog.printDebugInfo("servletmodulebilder konnte nicht initialisiert werden"); + } + } + + + public void insert(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException + { + try { + WebdbMultipartRequest mp = new WebdbMultipartRequest(req); + HashMap parameters = mp.getParameters(); + String mediaId=null; + MpRequest mpReq = (MpRequest)mp.requestList.get(0); + byte[] imageData=mpReq.getMedia(); + String fileName=mpReq.getFilename(); + String contentType= mpReq.getContentType(); + + EntityUsers user = _getUser(req); + parameters.put("date", StringUtil.date2webdbDate(new GregorianCalendar())); + parameters.put("to_publisher", user.getId()); + parameters.put("is_produced", "0"); + if (!parameters.containsKey("is_published")) + parameters.put("is_published","0"); + + String id = mainModule.add(parameters); + EntityImages entImage = (EntityImages)mainModule.getById(id); + + if (imageData!=null && fileName!=null) { + //the where clause to find the media_type entry + //from the content-type. + //we use the media type entry to lookup the + //media Handler/Storage classes + String wc = " mime_type='"+contentType+"'"; + + EntityList mediaTypesList = DatabaseMediaType.getInstance().selectByWhereClause(wc); + String mediaTypeId = null; + String mediaStorageName = null; + String mediaHandlerName = null; + + //if we found an entry matching the + //content-type int the table. + if (mediaTypesList.size() > 0) { + //get the class names from the media_type table. + mediaTypeId = mediaTypesList.elementAt(0).getId(); + mediaStorageName = mediaTypesList.elementAt(0).getValue("tablename"); + mediaHandlerName = mediaTypesList.elementAt(0).getValue("classname"); + parameters.put("to_media_type",mediaTypeId); + + //load the classes via reflection + String MediaId; + try { + Class mediaStorageClass = Class.forName("mircoders.storage.Database"+mediaStorageName); + Method m = mediaStorageClass.getMethod("getInstance", null); + Database mediaStorage = (Database)m.invoke(null, null); + Entity mediaEnt = (Entity)mediaStorage.getEntityClass().newInstance(); + mediaEnt.setStorage(mediaStorage); + mediaEnt.setValues(parameters); + mediaId = mediaEnt.insert(); + + Class mediaHandlerClass = Class.forName("mir.media.MediaHandler"+mediaHandlerName); + MirMedia mediaHandler = (MirMedia)mediaHandlerClass.newInstance(); + //save and store the media data/metadata + mediaHandler.set(mpReq.getMedia(), mediaEnt,mediaTypesList.elementAt(0)); + + //were done with mpReq at this point, dereference it. as it contains + //mucho mem. -mh 01.10.2001 + mpReq=null; + + if(mediaId!=null){ + new ProducerMedia().handle(null, null, false, false, mediaId); + } + } catch (Exception e) { + theLog.printError("setting uploaded_media failed: "+e.toString()); + } //end try-catch + + + entImage.setImage(imageData); + } + _edit(id, req, res); + } + } + catch (IOException e) { throw new ServletModuleException("upload -- ioexception " + e.toString());} + catch (ModuleException e) { throw new ServletModuleException("upload -- moduleexception " + e.toString());} + catch (StorageObjectException e) { throw new ServletModuleException("StorageObjectException" + e.toString());} + + } + + public void update(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException + { + + try { + WebdbMultipartRequest mp = new WebdbMultipartRequest(req); + HashMap parameters = mp.getParameters(); + //MpRequest mpReq = (MpRequest)mp.requestList.get(0); + //byte[] imageData=mpReq.getMedia(); + //String fileName=mpReq.getFilename(); + //String contentType=mpReq.getContentType(); + + EntityUsers user = _getUser(req); + parameters.put("to_publisher", user.getId()); + parameters.put("is_produced", "0"); + if (!parameters.containsKey("is_published")) + parameters.put("is_published","0"); + + String id = mainModule.set(parameters); + theLog.printError("Image ID"+id); + _edit(id, req, res); + } + catch (IOException e) { throw new ServletModuleException("upload -- ioexception " + e.toString());} + catch (ModuleException e) { throw new ServletModuleException("upload -- moduleexception " + e.toString());} + + } + + + public void showimg(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException + { + String idParam = req.getParameter("id"); + if (idParam!=null && !idParam.equals("")) { + try { + EntityImages entImage =(EntityImages)mainModule.getById(idParam); + res.setContentType("image/jpeg"); // testweise + ServletOutputStream out = res.getOutputStream(); // wichtig, dass vorher kein res.getwriter() gelaufen ist + + byte[] outbytes = entImage.getImage(); + out.write(outbytes); + out.close(); + } + + catch (IOException e) {throw new ServletModuleException(e.toString());} + catch (ModuleException e) {throw new ServletModuleException(e.toString());} + catch (Exception e) {throw new ServletModuleException(e.toString());} + } + else theLog.printDebugInfo("id nicht angeben."); + // darf keine exception werfen + } + + public void showicon(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException + { + String idParam = req.getParameter("id"); + if (idParam!=null && !idParam.equals("")) { + try { + EntityImages entImage =(EntityImages)mainModule.getById(idParam); + res.setContentType("image/jpeg"); // testweise + ServletOutputStream out = res.getOutputStream(); // wichtig, dass vorher kein res.getwriter() gelaufen ist + + byte[] outbytes = entImage.getIcon(); + out.write(outbytes); + out.close(); + } + + catch (IOException e) {throw new ServletModuleException(e.toString());} + catch (ModuleException e) {throw new ServletModuleException(e.toString());} + catch (Exception e) {throw new ServletModuleException(e.toString());} + } + else throw new ServletModuleException("id nicht angeben."); + } + + public void list(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException + { + // Parameter auswerten + SimpleHash mergeData = new SimpleHash(); + String query_text = req.getParameter("query_text"); + mergeData.put("query_text",query_text); + if (query_text!=null) mergeData.put("query_text_encoded",URLEncoder.encode(query_text)); + String query_field = req.getParameter("query_field"); + mergeData.put("query_field",query_field); + String query_is_published = req.getParameter("query_is_published"); + mergeData.put("query_is_published",query_is_published); + String query_media_folder = req.getParameter("query_media_folder"); + mergeData.put("query_media_folder",query_media_folder); + String offset = req.getParameter("offset"); + if (offset==null || offset.equals("")) offset="0"; + mergeData.put("offset",offset); + + String order = req.getParameter("order"); + if (order==null) order="webdb_lastchange desc"; + + // if in connection mode to content + String cid = req.getParameter("cid"); + mergeData.put("cid",cid); + + + // sql basteln + String whereClause=""; boolean isFirst=true; + if (query_text!=null && !query_text.equalsIgnoreCase("")) { + whereClause += "lower("+query_field+") like lower('%"+query_text+"%')"; isFirst=false;} + if (query_is_published != null && !query_is_published.equals("")) { + if (isFirst==false) whereClause+=" and "; + whereClause += "is_published='"+query_is_published+"'"; + isFirst=false; + } + if (query_media_folder != null && !query_media_folder.equals("")) { + if (isFirst==false) whereClause+=" and "; + whereClause += "to_media_folder='"+query_media_folder+"'"; + } + //theLog.printDebugInfo("sql-whereclause: " + whereClause + " order: " + order + " offset: " + offset); + + // fetch und ausliefern + try { + mergeData.put("mediafolderPopupData", mediafolderModule.getPopupData()); + mergeData.put("mediafolderHashdata", mediafolderModule.getHashData()); + if (query_text!=null || query_is_published!=null || query_media_folder!=null) { + EntityList theList = mainModule.getByWhereClause(whereClause, order, (new Integer(offset)).intValue(),10); + if (theList != null) { + mergeData.put("contentlist",HTMLTemplateProcessor.makeSimpleList(theList)); + if(theList.getOrder()!=null) { + mergeData.put("order", theList.getOrder()); + mergeData.put("order_encoded", URLEncoder.encode(theList.getOrder())); + } + mergeData.put("count", (new Integer(theList.getCount())).toString()); + mergeData.put("from", (new Integer(theList.getFrom())).toString()); + mergeData.put("to", (new Integer(theList.getTo())).toString()); + if (theList.hasNextBatch()) + mergeData.put("next", (new Integer(theList.getNextBatch())).toString()); + if (theList.hasPrevBatch()) + mergeData.put("prev", (new Integer(theList.getPrevBatch())).toString()); + } + } + // raus damit + HTMLTemplateProcessor.process(res,getLanguage(req)+"/"+templateListString, mergeData, res.getWriter()); + } + catch (ModuleException e) {throw new ServletModuleException(e.toString());} + catch (IOException e) {throw new ServletModuleException(e.toString());} + catch (Exception e) {throw new ServletModuleException(e.toString());} + } + + + public void add(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException + { + try { + SimpleHash mergeData = new SimpleHash(); + mergeData.put("new", "1"); + mergeData.put("mediafolderPopupData", mediafolderModule.getPopupData()); + deliver(req, res, mergeData, templateObjektString); + } + catch (Exception e) { throw new ServletModuleException(e.toString());} + } + + public void edit(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException + { + String idParam = req.getParameter("id"); + _edit(idParam, req, res); + } + + private void _edit(String idParam, HttpServletRequest req, HttpServletResponse res) throws ServletModuleException { + if (idParam!=null && !idParam.equals("")) { + try { + SimpleHash mergeData = HTMLTemplateProcessor.makeSimpleHash(mainModule.getById(idParam)); + mergeData.put("mediafolderPopupData", mediafolderModule.getPopupData()); + mergeData.put("rightsHashdata", dbRights.getHashData()); + mergeData.put("imgformatHashdata", dbImageFormat.getHashData()); + mergeData.put("imgcolorHashdata", dbImageColor.getHashData()); + mergeData.put("imgtypeHashdata", dbImageType.getHashData()); + mergeData.put("imglayoutHashdata", dbImageLayout.getHashData()); + deliver(req, res, mergeData, templateObjektString); + } + catch (ModuleException e) { throw new ServletModuleException(e.toString());} + } + else throw new ServletModuleException("ServletmoduleImage :: _edit without id"); + } + + + /** @todo should be in ServletModule.java */ + private EntityUsers _getUser(HttpServletRequest req) + { + HttpSession session=req.getSession(false); + return (EntityUsers)session.getAttribute("login.uid"); + } + + + // deprecated + public void upload(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException + { + //theLog.printDebugInfo("-- trying to upload"); + String idParam = req.getParameter("id"); + if (idParam!=null && !idParam.equals("")) { + try { + + WebdbMultipartRequest mp = new WebdbMultipartRequest(req); + HashMap withValues = mp.getParameters(); + MpRequest mpReq = (MpRequest)mp.requestList.get(0); + byte[] imageData=mpReq.getMedia(); + String fileName=mpReq.getFilename(); + String contentType=mpReq.getContentType(); + + EntityImages entImage = (EntityImages)mainModule.getById(idParam); + entImage.setImage(imageData); + } + catch (IOException e) { throw new ServletModuleException("upload -- ioexception " + e.toString());} + catch (ModuleException e) { throw new ServletModuleException("upload -- moduleexception " + e.toString());} + catch (StorageObjectException e) { throw new ServletModuleException("upload -- storageobjectexception " + e.toString());} + } + else // keine id + throw new ServletModuleException("Keine id angegeben"); + edit(req,res); + } }