Package org.itsnat.core

Examples of org.itsnat.core.ItsNatDocument


    public void reconnectChildNodesToClient()
    {
        // This code shows how we can automatically reconnect the content of the node by adding
        // a new child node.
        ItsNatDocument itsNatDoc = getItsNatDocument();
        Element elemTemp = itsNatDoc.getDocument().createElement("input");
        container.appendChild(elemTemp);
        if (itsNatDoc.isDisconnectedChildNodesFromClient(container))
            throw new RuntimeException("Unexpected Error");

        // Disconnecting again (the container only has one child node)
        Element elemTemp2 = (Element)itsNatDoc.disconnectChildNodesFromClient(container);
        if (elemTemp != elemTemp2) throw new RuntimeException("Unexpected Error");

        // Finally explicit reconnection, previous content is restored, the client DOM
        // is again in sync with server removing current content in client
        itsNatDoc.reconnectChildNodesToClient(container);
        container.appendChild(childNodes);
        this.childNodes = null;

        setupToDisconnectChildNodes();
    }
View Full Code Here


        resolver.resolve(links);
    }

    public void otherDocumentsAndSessions()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();
        ItsNatDocumentTemplate thisDocTemplate = itsNatDoc.getItsNatDocumentTemplate();

        ItsNatServlet itsNatServlet = thisDocTemplate.getItsNatServlet();
        ItsNatServletContext appCtx = itsNatServlet.getItsNatServletConfig().getItsNatServletContext();

        final List<ItsNatSession> sessionList = new LinkedList<ItsNatSession>();
        ItsNatSessionCallback cb = new ItsNatSessionCallback()
        {
            public boolean handleSession(ItsNatSession session)
            {
                sessionList.add(session);
                return true; // continue
            }
        };
        appCtx.enumerateSessions(cb);

        ItsNatVariableResolver resolver = itsNatDoc.createItsNatVariableResolver(true);
        resolver.setLocalVariable("refreshInterval",new Integer(3000));
        resolver.setLocalVariable("commMode",new Integer(CommMode.XHR_ASYNC));

        for(int i = 0; i < sessionList.size(); i++)
        {
            ItsNatHttpSession otherSession = (ItsNatHttpSession)sessionList.get(i);

            ItsNatDocument[] remDocs = otherSession.getItsNatDocuments();

            for(int j = 0; j < remDocs.length; j++)
            {
                ItsNatDocument currRemDoc = remDocs[j];
                if (itsNatDoc == currRemDoc) continue;

                // currRemDoc should be synchronized, but a dead lock could occur by other process doing the same (docs locked mutually, the parent doc is already locked)
                // there is no problem, the ItsNatDocument.getItsNatDocumentTemplate() is thread safe
                ItsNatDocumentTemplate docTemplate = currRemDoc.getItsNatDocumentTemplate();
                if (docTemplate != thisDocTemplate)
                    continue;

                String docId = currRemDoc.getId(); // No sync is needed
                Element sessionElem = (Element)sessionNodeList.addElement();

                long lastRequest = currRemDoc.getClientDocumentOwner().getLastRequestTime();

                ItsNatVariableResolver resolver2 = resolver.createItsNatVariableResolver();
                resolver2.setLocalVariable("sessionId",otherSession.getId());
                resolver2.setLocalVariable("docId",docId);
                resolver2.setLocalVariable("agentInfo",otherSession.getUserAgent());
View Full Code Here

        // (the content of the disconnected node) can be freely modified

        StringBuilder code = new StringBuilder();
        code.append("var elem = document.getElementById('disconnectChildNodeId');");
        code.append("elem.innerHTML = \"<span style='border: solid blue 1px'><b>Rewritten By JavaScript</b></span>\"; ");
        ItsNatDocument itsNatDoc = getItsNatDocument();
        itsNatDoc.addCodeToSend(code.toString());
    }
View Full Code Here

    {
    }

    public void startExamplePanel()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();
        Document doc = itsNatDoc.getDocument();

        this.linkToStart = doc.getElementById("linkToStartId");

        ((EventTarget)linkToStart).addEventListener("click",this,false);
    }
View Full Code Here

    {
    }

    public void startExamplePanel()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();
        Document doc = itsNatDoc.getDocument();

        this.xhrSyncModeElem = doc.getElementById("xhrSyncModeId");
        this.xhrAsyncModeElem = doc.getElementById("xhrAsyncModeId");
        this.xhrAsyncHoldModeElem = doc.getElementById("xhrAsyncHoldModeId");
        this.scriptModeElem = doc.getElementById("scriptModeId");
        this.scriptHoldModeElem = doc.getElementById("scriptHoldModeId");

        itsNatDoc.addEventListener((EventTarget)xhrSyncModeElem,"click",this,false,CommMode.XHR_SYNC);
        itsNatDoc.addEventListener((EventTarget)xhrAsyncModeElem,"click",this,false,CommMode.XHR_ASYNC);
        itsNatDoc.addEventListener((EventTarget)xhrAsyncHoldModeElem,"click",this,false,CommMode.XHR_ASYNC_HOLD);
        itsNatDoc.addEventListener((EventTarget)scriptModeElem,"click",this,false,CommMode.SCRIPT);
        itsNatDoc.addEventListener((EventTarget)scriptHoldModeElem,"click",this,false,CommMode.SCRIPT_HOLD);
    }
View Full Code Here

    {
    }

    public void startExamplePanel()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();
        Document doc = itsNatDoc.getDocument();

        this.linkToStart = doc.getElementById("linkToStartId");

        ((EventTarget)linkToStart).addEventListener("click",this,false);
    }
View Full Code Here

    }


    public void startExamplePanel()
    {
        final ItsNatDocument itsNatDoc = getItsNatDocument();
        Document doc = itsNatDoc.getDocument();

        this.linkToResolve = doc.getElementById("linkToResolveId");
        ((EventTarget)linkToResolve).addEventListener("click",this,false);

        this.inputElem = (HTMLInputElement)doc.getElementById("inputElemId");
        ParamTransport prop = new NodePropertyTransport("value");
        itsNatDoc.addEventListener((EventTarget)inputElem,"change",this,false,prop);

        ElementLabelRenderer renderer = new ElementLabelRenderer()
        {
            protected ItsNatVariableResolver resolver = itsNatDoc.createItsNatVariableResolver(true);

            public void renderLabel(ElementLabel label,Object value,Element elem,boolean isNew)
            {
                resolver.setLocalVariable("variable_to_resolve",value);
                resolver.resolve(elem);
            }

            public void unrenderLabel(ElementLabel label,Element elem)
            {
            }
        };
        ElementGroupManager factory = itsNatDoc.getElementGroupManager();
        this.label = factory.createElementLabel(doc.getElementById("elementId"),false,renderer);
        label.setUsePatternMarkupToRender(true);

        example2();
View Full Code Here

        example3();
    }

    public void example2()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();

        Object value = new Date();

        DateFormat format = DateFormat.getDateInstance(DateFormat.LONG,Locale.US);
        // Format: June 8,2007
        String date = format.format(value);
        int pos = date.indexOf(' ');
        String month = date.substring(0,pos);
        int pos2 = date.indexOf(',');
        String day = date.substring(pos + 1,pos2);
        String year = date.substring(pos2 + 1);

        ItsNatVariableResolver resolver = itsNatDoc.createItsNatVariableResolver(true);
        resolver.setLocalVariable("year",year);
        resolver.setLocalVariable("month",month);
        resolver.setLocalVariable("day",day);

        Document doc = itsNatDoc.getDocument();
        Element elem = doc.getElementById("elementId2");
        resolver.resolve(elem);
    }
View Full Code Here

        resolver.resolve(elem);
    }

    public void example3()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();

        Object value = new PersonExtended("John","Smith",30,true);

        Document doc = itsNatDoc.getDocument();
        ItsNatVariableResolver resolver = itsNatDoc.createItsNatVariableResolver(true);
        resolver.introspect("person",value);

        Element elem = doc.getElementById("elementId3");
        resolver.resolve(elem);
    }
View Full Code Here

        }
    }

    public void firstTime()
    {
        ItsNatDocument itsNatDoc = itsNatRequest.getItsNatDocument();
        Document doc = itsNatDoc.getDocument();

        Element listParentElem = doc.getElementById("messageListId");
        ElementGroupManager factory = itsNatDoc.getElementGroupManager();
        ElementList list = factory.createElementList(listParentElem,true);

        list.addElement("I'm happy today");
        list.addElement("The sky is blue");
    }
View Full Code Here

TOP

Related Classes of org.itsnat.core.ItsNatDocument

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.