package mircoders.servlet;
-import freemarker.template.SimpleHash;
-import freemarker.template.SimpleList;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URLEncoder;
+import java.util.Map;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import mir.config.MirPropertiesConfiguration;
+import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
import mir.entity.Entity;
import mir.entity.EntityList;
+import mir.log.LoggerWrapper;
import mir.media.MediaHelper;
import mir.media.MirMedia;
-import mir.media.MirMediaException;
-import mir.media.MirMediaUserException;
-import mir.misc.*;
-import mir.module.ModuleException;
+import mir.misc.FileHandler;
+import mir.misc.FileHandlerException;
+import mir.misc.FileHandlerUserException;
+import mir.misc.WebdbMultipartRequest;
import mir.servlet.ServletModule;
-import mir.servlet.ServletModuleException;
-import mir.servlet.ServletModuleUserException;
-import mir.storage.Database;
-import mir.storage.StorageObjectException;
-import mir.log.*;
-
-import mircoders.entity.EntityUsers;
+import mir.servlet.ServletModuleExc;
+import mir.servlet.ServletModuleFailure;
+import mir.servlet.ServletModuleUserExc;
+import mir.storage.StorageObjectFailure;
+import mircoders.entity.EntityContent;
import mircoders.entity.EntityUploadedMedia;
-import mircoders.storage.DatabaseMediaType;
-import mircoders.storage.DatabaseMediafolder;
+import mircoders.entity.EntityUsers;
import mircoders.media.MediaRequest;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletOutputStream;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URLEncoder;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
+import mircoders.storage.DatabaseContent;
+import mircoders.storage.DatabaseMediafolder;
+import freemarker.template.SimpleHash;
+import freemarker.template.SimpleList;
/*
* ServletModuleBilder -
* liefert HTML fuer Bilder
*
- * @version $Id: ServletModuleUploadedMedia.java,v 1.13 2002/12/01 15:05:51 zapata Exp $
+ * @version $Id: ServletModuleUploadedMedia.java,v 1.20 2003/03/08 17:18:19 idfx Exp $
* @author RK, the mir-coders group
*/
}
public ServletModuleUploadedMedia() {
+ super();
logger = new LoggerWrapper("ServletModule.UploadedMedia");
}
public void insert(HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException, ServletModuleUserException {
+ throws ServletModuleExc, ServletModuleUserExc {
try {
EntityUsers user = _getUser(req);
- MediaRequest mediaReq = new MediaRequest(user.getId(), false, false);
+ MediaRequest mediaReq = new MediaRequest(user.getId(), false);
WebdbMultipartRequest mp = new WebdbMultipartRequest(req, (FileHandler)mediaReq);
EntityList mediaList = mediaReq.getEntityList();
+ String articleid = (String) mp.getParameters().get("articleid");
+
+ if (articleid!=null) {
+ EntityContent entContent = (EntityContent) DatabaseContent.getInstance().selectById(articleid);
+
+ mediaList.rewind();
+
+ while (mediaList.hasNext()) {
+ entContent.attach( ( (EntityUploadedMedia) mediaList.next()).getId());
+ }
+ mediaList.rewind();
+
+ ((ServletModuleContent) ServletModuleContent.getInstance())._showObject(articleid, req, res);
+
+ return;
+ }
SimpleHash mergeData = new SimpleHash();
SimpleHash popups = new SimpleHash();
if (mediaList.hasNextBatch())
mergeData.put("next", (new Integer(mediaList.getNextBatch())).toString());
if (mediaList.hasPrevBatch())
- mergeData.put("prev", (new Integer(mediaList.getPrevBatch())).toString());
+ mergeData.put("prev", (new Integer(mediaList.getPrevBatch())).toString());
//fetch the popups
popups.put("mediafolderPopupData", DatabaseMediafolder.getInstance().getPopupData());
// raus damit
}
catch (FileHandlerUserException e) {
logger.error("ServletModuleUploadedMedia.insert: " + e.getMessage());
- throw new ServletModuleUserException(e.getMessage());
+ throw new ServletModuleUserExc(e.getMessage());
}
catch (FileHandlerException e) {
- throw new ServletModuleException(
- "upload -- media handling exception " + e.toString());
+ throw new ServletModuleFailure("upload -- media handling exception " + e.toString(), e);
}
- catch (StorageObjectException e) {
- throw new ServletModuleException("upload -- storageobjectexception "
- + e.toString());
+ catch (StorageObjectFailure e) {
+ throw new ServletModuleFailure("upload -- storageobjectexception " + e.toString(), e);
}
catch (IOException e) {
- throw new ServletModuleException("upload -- ioexception " + e.toString());
+ throw new ServletModuleFailure("upload -- ioexception " + e.toString(), e);
+ }
+ catch (PropertiesConfigExc e) {
+ throw new ServletModuleFailure("upload -- configexception " + e.toString(), e);
+ }
+ catch (Throwable t) {
+ throw new ServletModuleFailure("upload -- exception " + t.toString(), t);
}
}
- public void update(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException {
+ public void update(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc {
try {
EntityUsers user = _getUser(req);
WebdbMultipartRequest mp = new WebdbMultipartRequest(req, null);
- HashMap parameters = mp.getParameters();
+ Map parameters = mp.getParameters();
parameters.put("to_publisher", user.getId());
parameters.put("is_produced", "0");
logger.debug("update: media 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());
- }
- catch (Exception e) {
- throw new ServletModuleException("upload -- exception " + e.toString());
+ catch (Throwable e) {
+ throw new ServletModuleFailure("upload -- exception " + e.toString(), e);
}
}
- public void list(HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException {
+ public void list(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc {
// Parameter auswerten
SimpleHash mergeData = new SimpleHash();
SimpleHash popups = new SimpleHash();
mergeData.put("offset", offset);
String order = req.getParameter("order");
- if (order == null) order = "webdb_lastchange desc";
+ if (order == null || order.equals("")) order = "webdb_lastchange desc";
// if in connection mode to content
String cid = req.getParameter("cid");
deliver(req, res, mergeData, popups, templateListString);
}
- catch (ModuleException e) {
- throw new ServletModuleException(e.toString());
- }
- catch (Exception e) {
- throw new ServletModuleException(e.toString());
+ catch (Throwable e) {
+ throw new ServletModuleFailure(e);
}
}
- public void add(HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException {
+ public void add(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc {
try {
SimpleHash mergeData = new SimpleHash();
- mergeData.put("new", "1");
SimpleHash popups = new SimpleHash();
- popups.put("mediafolderPopupData", DatabaseMediafolder.getInstance().getPopupData());
- String maxMedia = MirConfig.getProp("ServletModule.OpenIndy.MaxMediaUploadItems");
+ String maxMedia = MirPropertiesConfiguration.instance().getString("ServletModule.OpenIndy.MaxMediaUploadItems");
String numOfMedia = req.getParameter("medianum");
- if(numOfMedia==null||numOfMedia.equals("")){
+
+ mergeData.put("new", "1");
+ mergeData.put("articleid", req.getParameter("articleid"));
+
+ popups.put("mediafolderPopupData", DatabaseMediafolder.getInstance().getPopupData());
+
+ if (numOfMedia==null || numOfMedia.equals("")) {
numOfMedia="1";
- } else if(Integer.parseInt(numOfMedia) > Integer.parseInt(maxMedia)) {
+ }
+ else if(Integer.parseInt(numOfMedia) > Integer.parseInt(maxMedia)) {
numOfMedia = maxMedia;
}
mergeData.put("medianum",numOfMedia);
mergeData.put("mediafields",mediaFields);
deliver(req, res, mergeData, popups, templateObjektString);
- } catch (Exception e) {
- throw new ServletModuleException(e.toString());
+ }
+ catch (Exception e) {
+ throw new ServletModuleFailure(e);
}
}
- public void edit(HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException {
+ public void edit(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc {
String idParam = req.getParameter("id");
_edit(idParam, req, res);
}
- private void _edit(String idParam, HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException {
+ private void _edit(String idParam, HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc {
if (idParam != null && !idParam.equals("")) {
try {
SimpleHash popups = new SimpleHash();
deliver(req, res, mainModule.getById(idParam), popups,
templateObjektString);
}
- catch (ModuleException e) {
- throw new ServletModuleException(e.toString());
- }
- catch (StorageObjectException e) {
- throw new ServletModuleException(e.toString());
+ catch (Throwable e) {
+ throw new ServletModuleFailure(e);
}
}
else {
- throw new ServletModuleException("ServletmoduleUploadedMedia :: _edit without id");
+ throw new ServletModuleExc("ServletmoduleUploadedMedia :: _edit without id");
}
}
return (EntityUsers) session.getAttribute("login.uid");
}
- public void getMedia(HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException
+ public void getMedia(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc
{
String idParam = req.getParameter("id");
if (idParam!=null && !idParam.equals("")) {
Entity mediaType = ent.getMediaType();
MirMedia mediaHandler;
- ServletContext ctx =
- (ServletContext)MirConfig.getPropAsObject("ServletContext");
+ ServletContext ctx = MirPropertiesConfiguration.getContext();
String fName = ent.getId()+"."+mediaType.getValue("name");
mediaHandler = MediaHelper.getHandler(mediaType);
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());
+ catch (Throwable e) {
+ throw new ServletModuleFailure(e);
}
}
else logger.error("id not specified.");
// no exception allowed
}
- public void getIcon(HttpServletRequest req, HttpServletResponse res)
- throws ServletModuleException
+ public void getIcon(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc
{
String idParam = req.getParameter("id");
if (idParam!=null && !idParam.equals("")) {
Entity mediaType = ent.getMediaType();
MirMedia mediaHandler;
- ServletContext ctx =
- (ServletContext)MirConfig.getPropAsObject("ServletContext");
+ ServletContext ctx = MirPropertiesConfiguration.getContext();
String fName = ent.getId()+"."+mediaType.getValue("name");
mediaHandler = MediaHelper.getHandler(mediaType);
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());
+ catch (Throwable e) {
+ throw new ServletModuleFailure(e);
}
}
else logger.error("getIcon: id not specified.");