Examples of ItsNatDocumentTemplateImpl


Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

                    itsNatDocRef.dispatchReferrerRequestListeners(itsNatRequest,itsNatResponse);
                }
            }
        }

        ItsNatDocumentTemplateImpl docTemplate = itsNatDoc.getItsNatDocumentTemplateImpl();
        ItsNatServletImpl itsNatServlet = docTemplate.getItsNatServletImpl();
        Iterator<ItsNatServletRequestListener> iterator;

        iterator = itsNatServlet.getItsNatServletRequestListenerIterator();
        itsNatResponse.dispatchItsNatServletRequestListeners(iterator);

        iterator = docTemplate.getItsNatServletRequestListenerIterator();
        itsNatResponse.dispatchItsNatServletRequestListeners(iterator);
    }
View Full Code Here

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

        return weakMapComponents;
    }

    public boolean hasBeforeAfterCreateItsNatComponentListener()
    {
        ItsNatDocumentTemplateImpl docTemplate = itsNatDoc.getItsNatDocumentTemplateImpl();
        ItsNatServletImpl servlet = docTemplate.getItsNatServletImpl();
        boolean res;

        res = servlet.hasCreateItsNatComponentList();
        if (res) return true;

        res = docTemplate.hasCreateItsNatComponentList();
        if (res) return true;

        res = hasCreateItsNatComponentList();
        if (res) return true;
View Full Code Here

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

    public ItsNatComponent processBeforeCreateItsNatComponentListener(Node node,String componentType,NameValue[] artifacts)
    {
        ItsNatComponent comp = null;
        Iterator<CreateItsNatComponentListener> createCompIterator = null;

        ItsNatDocumentTemplateImpl docTemplate = itsNatDoc.getItsNatDocumentTemplateImpl();
        ItsNatServletImpl servlet = docTemplate.getItsNatServletImpl();

        createCompIterator = servlet.getCreateItsNatComponentListenerIterator();
        if (createCompIterator != null)
        {
            comp = processBeforeCreateItsNatComponentListener(createCompIterator,node,componentType,artifacts);
            if (comp != null) return comp;
        }

        createCompIterator = docTemplate.getCreateItsNatComponentListenerIterator();
        if (createCompIterator != null)
        {
            comp = processBeforeCreateItsNatComponentListener(createCompIterator,node,componentType,artifacts);
            if (comp != null) return comp;
        }
View Full Code Here

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

    {
        // 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
        }

        createCompIterator = docTemplate.getCreateItsNatComponentListenerIterator();
        if (createCompIterator != null)
        {
            comp = processAfterCreateItsNatComponentListener(createCompIterator,comp);
            if (comp == null) return null; // Componente rechazado
        }
View Full Code Here

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

    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

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

    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

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

        if (res != null) throw new ItsNatException("One document template is already registered with this name:" + docTemplate.getName());
    }
   
    public ItsNatDocumentTemplate registerItsNatDocumentTemplate(String name,String mime,Object source)
    {
        ItsNatDocumentTemplateImpl docTemplate = ItsNatDocumentTemplateImpl.createItsNatDocumentTemplate(name, mime,source, this);
        registerItsNatDocumentTemplate(docTemplate);
        return docTemplate;
    }
View Full Code Here

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

        servlet.getGlobalEventListenerList(listeners);       
       
        ItsNatStfulDocumentImpl itsNatDoc = itsNatEvt.getItsNatStfulDocument();
        if (itsNatDoc != null)
        {
            ItsNatDocumentTemplateImpl template = itsNatDoc.getItsNatDocumentTemplateImpl();
            template.getGlobalEventListenerList(listeners);           
            itsNatDoc.getGlobalEventListenerList(listeners);           
        }
       
        ClientDocumentImpl clientDoc = itsNatEvt.getClientDocumentImpl();
        clientDoc.getGlobalEventListenerList(listeners);
View Full Code Here

Examples of org.itsnat.impl.core.template.ItsNatDocumentTemplateImpl

        boolean forcedDisable = false;

        if (itsNatDoc.getItsNatDocumentTemplate().isAutoCleanEventListeners())
        {
            // Si AutoCleanEventListeners est� activado no podemos saber si funciona el sistema de referencias weak
            ItsNatDocumentTemplateImpl template = (ItsNatDocumentTemplateImpl)itsNatDoc.getItsNatDocumentTemplate();
            template.setAutoCleanEventListenersTESTING(false);
            forcedDisable = true;
        }

        // Este test lo que busca es ver que aunque se pulse el bot�n
        // muchas veces el n�mero de listeners registrados en el servidor
        // y en el en el cliente
        // no aumenta continuamente. Eso se traduce en que ni la memoria
        // Java ni la del navegador aumentan continuamente.

        HTMLDocument doc = itsNatDoc.getHTMLDocument();

        Element elem = doc.getElementById("listenerGCTestId2");
        Element child = doc.createElement("b");
        elem.appendChild(child);

        for(int i = 0; i < 1000; i++)
        {
            EventListener listener = new EventListenerSerial()
            {
                public void handleEvent(Event evt) { }
            };
            ((EventTarget)child).addEventListener("click",listener,false);
            weakMap.put(listener,null);
        }

        elem.removeChild(child);

        // Al eliminarse el nodo dicho nodo no est� sujeto ni por el registro
        // ni por el propio listener wrapper interno que se usa por tanto en alg�n
        // momento via GC el registro del listener se elimina al usar un weak map
        // Se evitan memory leaks en el servidor aunque NO se evitan en el cliente
        // porque como el nodo se pierde en el servidor es que no est� unido al documento
        // y por tanto no podemos encontrarlo en el cliente.
        // Para conseguir ambas cosas es necesario activar el AutoCleanEventListeners
        // que elimina el registro del listener autom�ticamente cuando se quita el nodo del documento.

        // En resumen: el n�mero de listeners en el servidor NO crecer� continuamente
        // cuando se pulse varias veces, en el cliente s�.

        System.gc();
        System.gc();
        System.gc();

        String code = "";
        code += "var i = 0; var list = itsNatDoc.domListeners; \n"; // domListeners no es p�blica
        code += "for(var id in list) i++; \n";
        code += "alert('Server:' + " + weakMap.size() + " + ' Client:' + i); \n";
        itsNatDoc.addCodeToSend(code);

        if (forcedDisable)
        {
            ItsNatDocumentTemplateImpl template = (ItsNatDocumentTemplateImpl)itsNatDoc.getItsNatDocumentTemplate();
            template.setAutoCleanEventListenersTESTING(true);
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.