Package org.itsnat.impl.core.servlet

Examples of org.itsnat.impl.core.servlet.ItsNatServletImpl


        // Permitimos as� que el usuario pueda crear sus propios componentes
        // que ser�n instanciados cuando sea llamado este m�todo
        // incluso podr�a substituir a los que hay por defecto segun el nodo
        // Ver m�s arriba la llamada a beforeRender()
        ItsNatDocumentTemplateImpl docTemplate = itsNatDoc.getItsNatDocumentTemplateImpl();
        ItsNatServletImpl servlet = docTemplate.getItsNatServletImpl();

        Iterator<CreateItsNatComponentListener> createCompIterator = null;
        createCompIterator = servlet.getCreateItsNatComponentListenerIterator();
        if (createCompIterator != null)
        {
            comp = processAfterCreateItsNatComponentListener(createCompIterator,comp);
            if (comp == null) return null; // Componente rechazado
        }
View Full Code Here


    }


    private void writeObject(ObjectOutputStream out) throws IOException
    {
        ItsNatServletImpl itsNatServlet = getItsNatServlet();
        ItsNatServletImpl.writeObject(itsNatServlet,out);

        MarkupSourceStringMarkupImpl source = null;
        if (docTemplateVersion instanceof ItsNatStfulDocumentTemplateVersionImpl)
        {
View Full Code Here

    public static RequestAttachedServerPrepareBaseImpl createRequestAttachedServerPrepareBase(ItsNatServletRequestImpl itsNatRequest)
    {
        String docName = itsNatRequest.getAttrOrParamExist("itsnat_doc_name");

        ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
        ItsNatDocumentTemplateImpl docTemplate = itsNatServlet.getItsNatDocumentTemplateImpl(docName);
        if (docTemplate == null)
            return new RequestAttachedServerPrepareNotFoundImpl(docName,itsNatRequest);
        else
        {
            // Provocamos una excepci�n sin m�s contemplaciones pues se detectar�
View Full Code Here

    public static RequestNormalLoadDocBaseImpl createRequestNormalLoadDocBase(String docName,ItsNatServletRequestImpl itsNatRequest,boolean stateless)
    {
        // Tenemos la seguridad de que docName no es nulo, sino no llegar�amos aqu�

        ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
        ItsNatDocumentTemplateImpl docTemplate = itsNatServlet.getItsNatDocumentTemplateImpl(docName);

        if (docTemplate == null)
            return new RequestNormalLoadDocNotFoundImpl(docName,itsNatRequest,stateless);
        else
        {
View Full Code Here

    {  
        // Damos una oportunidad de procesar a medida el "page not found"
        // pudiendo mostrar una p�gina de error elegante

        ItsNatServletRequestImpl itsNatRequest = itsNatResponse.getItsNatServletRequestImpl();
        ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
        if (!itsNatServlet.dispatchItsNatServletRequestListeners(itsNatRequest))
        {
            // No hay listeners globales provocamos un error
            String docName = getRequestNormalLoadDocNotFound().getDocName();
            throw new ItsNatException("Document/page " + docName + " does not exist",itsNatRequest);
        }
View Full Code Here

    protected boolean processGlobalListeners()
    {
        // Sabemos que NO es un unload.

        ItsNatServletImpl itsNatServlet = request.getItsNatServletRequest().getItsNatServletImpl();

        if (itsNatServlet.hasGlobalEventListenerListeners()) // No miramos m�s pues sabemos que no hay documento y el ClientDocument es temporal y el programador no tuvo la oportunidad de registrar listeners
        {
            ClientDOMEventErrorImpl evt = new ClientDOMEventErrorImpl(getRequestNormalEvent());
            EventListenerUtil.handleEventIncludingGlobalListeners(null,evt);
        }        
       
View Full Code Here

        // que ni siquiera est�n correctamente de-serializados

        DeserialPendingTask sessionTask = getSessionDeserialPendingTask();
        if (sessionTask != null)
        {
            ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
            ItsNatServletResponse itsNatResponse = itsNatRequest.getItsNatServletResponse();

            sessionTask.process(itsNatServlet,itsNatRequest,itsNatResponse);

            setSessionDeserialPendingTask(null); // Para liberar memoria
        }

        if (hasDeserialPendingTasks())
        {
            ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
            String servletName = itsNatServlet.getName();

            ItsNatServletResponse itsNatResponse = itsNatRequest.getItsNatServletResponse();

            ServletContext context = itsNatContext.getServletContext();

            MapListImpl<String,DeserialPendingTask> pendingTasks = getDeserialPendingTasks();

            for(Map.Entry<String,LinkedList<DeserialPendingTask>> entry : pendingTasks.getMap().entrySet() )
            {
                String currServletName = entry.getKey();
                LinkedList<DeserialPendingTask> pendingTasksOfServlet = entry.getValue();
                if (pendingTasksOfServlet == null) continue; // Por si acaso pero es raro que sea nulo

                if (servletName.equals(currServletName))
                {
                    // El servlet que est� haciendo la request de verdad
                    for(DeserialPendingTask task : pendingTasksOfServlet)
                    {
                        task.process(itsNatServlet,itsNatRequest,itsNatResponse);
                    }
                }
                else
                {
                    ItsNatServletImpl currItsNatServlet = ItsNatServletImpl.getItsNatServletByName(currServletName);

                    ServletRequest servRequest = itsNatRequest.getServletRequest();
                    ServletResponse servResponse = itsNatResponse.getServletResponse();

                    if (currItsNatServlet == null)
                    {
                        // Despertamos al servlet para que se inicie y se registren los templates etc
                        RequestDispatcher servletDisp = context.getNamedDispatcher(currServletName);
                        // No chequeamos si es null, caso de eliminaci�n de servlet o similar en una nueva versi�n de la app.
                        // no merece la pena porque la deserializaci�n ser� err�nea, dejamos fallar
                        // aunque perdamos la sessi�n entera
                        Object currItsNatAction = servRequest.getAttribute("itsnat_action");
                        servRequest.setAttribute("itsnat_action", ItsNatHttpServletImpl.ACTION_SERVLET_WEAK_UP);

                        servletDisp.include(servRequest,servResponse); // Aseguramos as� que se inicializa
                        // Lo dejamos como estaba
                        servRequest.removeAttribute("itsnat_action");
                        if (currItsNatAction != null)
                            servRequest.setAttribute("itsnat_action",currItsNatAction);

                        // Ahora deber�a de estar
                        currItsNatServlet = ItsNatServletImpl.getItsNatServletByName(currServletName);
                    }


                    // Porque este servlet es diferente al que recibe la request, no pasamos
                    // los objetos request y response originales pues los de ItsNat est�n vinculados
                    // al servlet, tenemos que crear un par "falsos"
                    // el �nico caso problem�tico son los templates basados en TemplateSource que son los �nicos que necesitan estos objetos
                    ItsNatServletRequestImpl currItsNatServReq = currItsNatServlet.createItsNatServletRequest(servRequest,servResponse,this); // Pasando la sesi�n como par�metro evitamos que se intente cargar de nuevo
                    ItsNatServletResponseImpl currItsNatServResp = currItsNatServReq.getItsNatServletResponseImpl();

                    for(DeserialPendingTask task : pendingTasksOfServlet)
                    {
                        task.process(currItsNatServlet,currItsNatServReq,currItsNatServResp);
View Full Code Here

    }

    public void dispatchRequestListeners()
    {
        ItsNatServletRequestImpl itsNatRequest = itsNatResponse.getItsNatServletRequestImpl();
        ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
        if (!itsNatServlet.dispatchItsNatServletRequestListeners(itsNatRequest))
        {
            // No hay listeners globales provocamos un error
            String docName = getRequestAttachedServerPrepareNotFound().getDocName();
            throw new ItsNatException("Document/page " + docName + " does not exist",itsNatRequest);
        }
View Full Code Here

    }
   
    private static void addGlobalEventListeners(Event evt,LinkedList<EventListener> listeners)
    {
        ItsNatEventImpl itsNatEvt = (ItsNatEventImpl)evt;
        ItsNatServletImpl servlet = itsNatEvt.getItsNatServletRequestImpl().getItsNatServletImpl();
        servlet.getGlobalEventListenerList(listeners);       
       
        ItsNatStfulDocumentImpl itsNatDoc = itsNatEvt.getItsNatStfulDocument();
        if (itsNatDoc != null)
        {
            ItsNatDocumentTemplateImpl template = itsNatDoc.getItsNatDocumentTemplateImpl();
View Full Code Here

             processDocumentTemplateSpecified();
        }
        else
        {
            // Segunda oportunidad de definir el itsnat_doc_name en un ItsNatServletRequestListener, de esta manera podemos usar el global event listener a modo de dispatcher, aunque hayamos generado c�digo JavaScript recuerda que al final el resultado de �sto es tambi�n JavaScript
            ItsNatServletImpl itsNatServlet = itsNatRequest.getItsNatServletImpl();
            itsNatServlet.dispatchItsNatServletRequestListeners(itsNatRequest);           
           
            docName = itsNatRequest.getAttrOrParam("itsnat_doc_name");       
            if (docName != null)
            {
                 processDocumentTemplateSpecified();
View Full Code Here

TOP

Related Classes of org.itsnat.impl.core.servlet.ItsNatServletImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.