% /****************************************************************************** * Copyright (c) 2000-2004 e-Deal * * e-Deal S.A. * 55 rue Brillat Savarin * 75013 Paris * France * * T: +33 (0)1 53 80 80 30 * F: +33 (0)1 73 01 69 77 * http://www.e-deal.com * * La diffusion de ce code source sous quelque forme que ce soit sans * l'autorisation de E-DEAL est interdite. * * Vous êtes autorisés à modifier ce code source uniquement pour votre usage * propre et sous réserve que les mentions de copyright demeurent intactes. * * Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou * implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour * responsable des dommages pouvant résulter de l'utilisation de ce code * source. * * ******************************************************************************/ %><%@page session="true"%> <%@ page import="com.edeal.frontline.navigation.FlRequest" %> <%@ page import="com.edeal.frontline.DataDictionary" %> <%@ page import="com.edeal.frontline.FlContext" %> <%@ page import="com.edeal.frontline.ActorBean" %> <%@ page import="java.util.Vector" %> <%@ page import="com.edeal.frontline.Utils" %> <%@ page import="java.util.Hashtable" %> <%@ page import="com.edeal.frontline.PopulationBean" %> <%@ page import="com.edeal.frontline.FrontlineException" %> <%@ page import="com.edeal.frontline.FieldNotInitializedException" %> <%@ page import="com.edeal.frontline.MessagesBean" %> <%@ page import="com.edeal.frontline.AccessDeniedException" %> <%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %> <% final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory.getLog(getClass()); FlRequest flRequest = new FlRequest(request); FlContext context = flRequest.getContext(); DataDictionary dico = context.getDataDictionary(); /*String popID = flRequest.getParameter("popID"); String msgID = flRequest.getParameter("msgID"); Boolean attQueued = (Boolean)flRequest.getAttribute("HasToBeQueued"); boolean hasToBeQueued = false; if (attQueued != null) { hasToBeQueued = attQueued.booleanValue(); }*/ //CONSTANTES DE LIMITES //LIMITE DE TAILLE DU MESSAGE EN KILOOCTETS AU-DELA DE LAQUELLE L'ENVOI DOIT ETRE REGULE int MAX_MSG_SIZE = 50; //LIMITE DE NOMBRE D'INDIVIDUS DE LA POPULATION AU-DELA DE LAQUELLE L'ENVOI DOIT ETRE REGULE int MAX_POP_SIZE = 200; String actorID = (String) session.getAttribute("actorID"); String popID = Utils.getRequestParameter(context, request, "popID"); String msgID = Utils.getRequestParameter(context, request, "msgID"); boolean hasToBeQueued = false; if (!hasToBeQueued) { MessagesBean message = null; try { message = new MessagesBean(msgID, context); /* This does not compile with Tomcat 4 com.edeal.frontline.MessagesBean$Mail mail = message.getMail(null, null); ByteArrayOutputStream stream = new ByteArrayOutputStream(); mail.getMimeMessage().writeTo(stream); int size = stream.size(); //size in bytes */ int size = message.getMailSize(); if(size > MAX_MSG_SIZE * 1000) hasToBeQueued = true; } catch (FrontlineException e) { } catch (AccessDeniedException e) { } } if (!hasToBeQueued) { PopulationBean population = null; try { population = new PopulationBean(popID, context); if(population.getPopTotNbr() + population.getPopAddNbr() - population.getPopRmvNbr() > MAX_POP_SIZE) hasToBeQueued = true; } catch (FrontlineException e) { } catch (AccessDeniedException e) { } } //depending on the size of the population and the size of the message, we could have two or three radio buttons, //which complicates the javascript a little... String indexImmediat1 = hasToBeQueued ? "-1" : "0"; String indexDiffere = hasToBeQueued ? "1" : "2"; %>