Hello everybody.

My aplication is throwing javax.servlet.UnavailableException:
Initialization failed
on first access... when the session is created. After that if I call
it again. It creates normaly and speed goes good also.

Can someone give me a tip on what must I doing wrong.

Application Id: horariofacil

The function that handle every call follows:

        public void doFilter(ServletRequest request, ServletResponse
response, FilterChain chain)
                                                                                
throws IOException, ServletException {

                String uri = ((HttpServletRequest)request).getRequestURI();
                System.out.println("Controle chamado!");
                System.out.println("Request:[" + uri + "]");
                if (uri.equals("/")) {
                        uri = "main/historico";
                }
                if (uri.indexOf("/") == 0) {
                        uri = uri.substring(1, uri.length());
                }
                System.out.println("Url:[" + uri + "]");

                HttpSession session =
((HttpServletRequest)request).getSession(true);
                session.setMaxInactiveInterval(3600);
                Usuario u = null;

                if (session.getAttribute("UsuarioAtual") == null && 
!uri.equals("/
indexDiv.jsp") && request.getParameter("pagina") != null) {
                        System.out.println("UsuarioAtual perdeu o login 
(nulo)...");
                        ((HttpServletResponse)response).sendRedirect("/main/
login&posLogin=" + uri);
                        return;
                } else {
                        u = (Usuario)session.getAttribute("UsuarioAtual");

                        if (u != null) {
                                if (session.getAttribute("ListHorarios") == 
null) {
                                        if 
(!u.getEmail().equals("[email protected]")) {
                                                PersistenceManager pm = 
PMF.get().getPersistenceManager();
                                                Query qry = 
pm.newQuery(Horotimo.class);
                                                if (!u.getAdmin()) {
                                                        
qry.setFilter("idUsuario == " + u.getId());
                                                        
qry.setOrdering("idUsuario desc, date desc");
                                                        List<Horotimo> listHor 
= (List<Horotimo>)qry.execute();
                                                        pm.flush();
                                                        
System.out.println("listHor.size() em Controle = " +
listHor.size());
                                                        pm.close();
                                                        List<Horotimo> 
newListHor = new ArrayList<Horotimo>(0);
                                                        
newListHor.addAll(listHor);
                                                        
session.setAttribute("ListHorarios", newListHor);
                                                } else {
                                                        
session.setAttribute("ListHorarios", null);
                                                }
                                        }
                                }
                        }
                }

                Horotimo hor = null;
                String idHorotimo = "";

                String[] pagina = separaUri(uri);
                System.out.println("pagina[0] = " + pagina[0]);
                System.out.println("pagina[1] = " + pagina[1]);

                RequestDispatcher d = null;

                if (pagina[0].equals("main")) {

                        pagina[1] = pagina[1].substring(0, pagina[1].length() - 
1);
                        System.out.println("Redirecionando para 
[/indexDiv.jsp?pagina=" +
pagina[1] + "]");
                        d = 
request.getRequestDispatcher("/indexDiv.jsp?pagina=" +
pagina[1]);
                        session.setAttribute("tituloAtual", pagina[1]);

                } else if (pagina[0].equals("sistema")) {

                        if (pagina[1].indexOf("etapa") != -1) {
                                String etapa[] = separaUri(pagina[1]);
                                System.out.println("etapa[0] = " + etapa[0]);
                                System.out.println("etapa[1] = " + etapa[1]);
                                session.setAttribute("paginaAtual", etapa[0] + 
".jsp");
                                session.setAttribute("tituloAtual", etapa[0]);
                                if (etapa[1].indexOf("idHorotimo") == 0) {
                                        String[] horotimo = separaUri(etapa[1]);
                                        System.out.println("horotimo[0] = " + 
horotimo[0]);
                                        System.out.println("horotimo[1] = " + 
horotimo[1]);
                                        idHorotimo = horotimo[1].substring(0, 
horotimo[1].length() - 1);
                                        hor = 
SalvaClasse.getHorotimoById(Long.valueOf(idHorotimo));
                                        session.setAttribute("HorotimoAtual", 
hor);
                                        session.setAttribute("idHorotimo", 
idHorotimo);
                                }
                                d = 
request.getRequestDispatcher("/horario.jsp?pagina=" +
etapa[0]);
                        } else {
                                pagina[1] = pagina[1].substring(0, 
pagina[1].length() - 1);
                                System.out.println("Redirecionando para 
[/horario.jsp?pagina=" +
pagina[1] + "]");
                                session.setAttribute("paginaAtual", pagina[1] + 
".jsp");
                                session.setAttribute("tituloAtual", pagina[1]);
                                d = 
request.getRequestDispatcher("/horario.jsp?pagina=" +
pagina[1]);
                        }

                } else {
                        session.setAttribute("tituloAtual", pagina[0]);
                        if (!pagina[1].equals("")) {
                                d = request.getRequestDispatcher("/" + 
pagina[0] + ".jsp?" +
pagina[1].substring(0, pagina[1].length() - 1));
                        } else {
                                d = request.getRequestDispatcher("/" + 
pagina[0] + ".jsp");
                        }
                }
                d.forward(request, response);
                //chain.doFilter(request, response);
                //Log the resulting string

        }



-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to