Thanks Vincent, 

Well I am going on vacation right now. I will follow your suggestion
when I got back and I will tell you what the error was so that everybody
knows...

Good wishes to anyone wherever in the world you are...

Jose


On Wed, Aug 13, 2003 at 08:07:42AM +0200, Vincent Massol wrote:
> 
> 
> > -----Original Message-----
> > From: Jose Alfonso Martinez [mailto:[EMAIL PROTECTED]
> > Sent: 13 August 2003 03:17
> > To: Cactus Users List
> > Subject: Re: calling getServletContext() in a servlet - how to??
> > 
> > Yes, well I am only showing the init() method of InscribeServlet :(
> > I don't know if I could/should show more. If you think
> > it could be of any help I will give it another thought ok? :)
> 
> Ok. Here's what I suggest. Try writing another servlet, but a minimal
> one that reproduces the problem. Normally, by doing this, you'll find
> out that that servlet works, and by diffing with your InscribeServlet
> you'll see what was wrong in that one.
> 
> The only error I can see below is in TestInscribeServlet. You are using
> a ServletTestSuite. This is not needed. This should be used only for
> wrapping pure junit TestCase (that's the goal of it!). If you're
> extending ServletTestCase (as you are), you can simply remove your
> suite() method.
> 
> Try it! Maybe it'll help...
> 
> Thanks
> -Vincent
> 
> > 
> > ... since we both will benefit from doing it,  specially me :)
> > 
> > 
> > I was thinking it could be a classpath issue.  Something that avoids
> the
> > ServletRedirector to create the config object. Anyway, I may not
> > have an idea of what I am talking about. I will keep trying
> > and if I find out something... I'll tell you
> > 
> > Thanks a lot
> > 
> > 
> > TestInscribeServlet:
> > =====================
> > 
> > package com.cevex.servlet;
> > 
> > import com.cevex.servlet.InscribeServlet;
> > 
> > import javax.servlet.ServletException;
> > 
> > import org.apache.cactus.ServletTestCase;
> > import org.apache.cactus.ServletTestSuite;
> > import org.apache.cactus.WebRequest;
> > 
> > import junit.framework.Test;
> > 
> > public class TestInscribeServlet extends ServletTestCase
> > {
> >         public static void main(String[] theArgs)
> >         {
> >                 junit.textui.TestRunner.main(new String[]
> > {TestInscribeServlet.class.getName()});
> >         }
> > 
> >         public static Test suite()
> >         {
> >                 ServletTestSuite suite = new ServletTestSuite();
> >                 suite.addTestSuite(TestInscribeServlet.class);
> >                 return suite;
> >         }
> > 
> >         public void beginPostMethod(WebRequest theRequest)
> >         {
> >                 theRequest.addParameter("nombres", "Juan Alberto");
> >                 theRequest.addParameter("apellidos", "Robles");
> >                 theRequest.addParameter("email", "[EMAIL PROTECTED]");
> >                 theRequest.addParameter("ciudad", "Guadalajara");
> >                 theRequest.addParameter("estado", "Jalisco");
> >                 theRequest.addParameter("pais", "M�xico");
> >                 theRequest.addParameter("deseaBoletines", "true");
> >                 theRequest.addParameter("tipoDeInscripcion",
> "regular");
> >                 theRequest.addParameter("sexo", "true");
> >                 theRequest.addParameter("anioNacimiento", "1988");
> >                 theRequest.addParameter("directo", "");
> >                 theRequest.addParameter("confirmacion", "true");
> >         }
> > 
> >         public void testPostMethod() throws ServletException
> >         {
> >                 assertNotNull("aha config is null", config);
> >                 InscribeServlet inscribeServlet = new
> InscribeServlet();
> >                 inscribeServlet.init(config);
> >                 //              inscribeServlet.doPost(request,
> response);
> >         }
> > 
> > }
> > 
> > 
> > 
> > InscribeServlet:
> > ====================
> > 
> > public class InscribeServlet extends HttpServlet {
> > 
> > ... some member fields declarations
> > 
> >   /** Initialize this servlet
> >    *  <UL>
> >    *  <LI> Get the context's datasource</LI>
> >    *  <LI> Initialize mail session </LI>
> >    *  <LI> Read emails </LI>
> >    *  </UL>
> >    **/
> >   public void init() throws CevexServletException
> >   {
> >     try
> >     {
> >       // get the context
> >       Context initCtx = new InitialContext();
> >       Context envCtx = (Context) initCtx.lookup("java:comp/env");
> > 
> >       // get the datasource
> >       ds = (DataSource) envCtx.lookup("jdbc/cevexDB");
> > 
> >       /* something is worng with the mail session, check later */
> >       //session = (Session) envCtx.lookup("mail/Session");
> > 
> >       // initialize new mail seession
> >       Properties props = new Properties();
> >       props.put("mail.smtp.host", "localhost");
> >       Session session = Session.getDefaultInstance(props, null);
> >       session.setDebug(false);
> > 
> >       // Read email strings from files
> >       String realPath = getServletContext().getRealPath("/");
> >       mailInscripcionMasc = new CevexMail(session, realPath +
> > getInitParameter("mailInscripcionMasc"));
> >       mailInscripcionFem  = new CevexMail(session, realPath +
> > getInitParameter("mailInscripcionFem"));
> >       mailInscripcionConInvitacionMasc = new CevexMail(session,
> realPath +
> > 
> > getInitParameter("mailInscripcionConInvitacionMasc"));
> >       mailInscripcionConInvitacionFem = new CevexMail(session,
> realPath +
> > 
> > getInitParameter("mailInscripcionConInvitacionFem"));
> > 
> >     } // end try
> >     catch (FileNotFoundException fe) {
> >        getServletContext().log("InscribeServlet: Al inicializar el
> > servlet, " +
> >                                "no se encontro un archivo: " +
> > fe.getMessage());
> >        throw new CevexServletException(getServletConfig(), "No se
> encontro
> > un archivo: " +
> >                                        fe.getMessage() + " al iniciar
> > InscribeServlet");
> >     }
> >     catch (IOException ioe)
> >     {
> >        getServletContext().log("InscribeServlet: Error al leer el
> archivo:
> > " + ioe.getMessage());
> >        throw new CevexServletException(getServletConfig(), "Error de
> > escritura en el archivo: " +
> >                                        ioe.getMessage() + " al iniciar
> > InscribeServlet");
> >     }
> >     catch (MessagingException me)
> >     {
> >         throw new CevexServletException(getServletConfig(), me);
> >     }
> >     catch (NamingException ne)
> >     {
> >        throw new CevexServletException(getServletConfig(), ne);
> >     }
> >   } //end init
> > 
> > 
> >   // Temporary allow GET for testing
> >    public void doGet(HttpServletRequest req,
> >            HttpServletResponse res) throws ServletException,
> IOException {
> >      doPost(req, res);
> >    }
> > 
> >    public void doPost(HttpServletRequest req,
> >            HttpServletResponse res) throws ServletException,
> IOException {
> > 
> > 
> > 
> >     ... bla bla bla ...
> >    }
> > }
> > 
> > 
> > 
> > On Tue, Aug 12, 2003 at 09:32:13PM +0200, Vincent Massol wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Jose Alfonso Martinez [mailto:[EMAIL PROTECTED]
> > > > Sent: 12 August 2003 19:32
> > > > To: Cactus Users List
> > > > Subject: Re: calling getServletContext() in a servlet - how to??
> > > >
> > > >
> > > > In fact, config is null
> > > >
> > > > why does it happen???
> > > >
> > >
> > > If you had asked me, I would have said it isn't possible, seen the
> > > Cactus implementation code! :-)
> > >
> > > Would it be possible for you to send us your InscribeServlet and
> your
> > > TestInscribeServlet code?
> > >
> > > The only other option I see is that you happen to have an instance
> > > variable called config that isn't initialized... but then I'm pretty
> > > sure you would have noticed that... ;-)
> > >
> > > Thanks
> > > -Vincent
> > >
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to