Package org.itsnat.core

Examples of org.itsnat.core.ClientDocument


    public void thisDocument()
    {
        ItsNatDocument itsNatDoc = getItsNatDocument();
        Document doc = itsNatDoc.getDocument();
        ItsNatVariableResolver resolver = itsNatDoc.createItsNatVariableResolver();
        ClientDocument owner = itsNatDoc.getClientDocumentOwner();
        ItsNatHttpSession itsNatSession = (ItsNatHttpSession)owner.getItsNatSession();
        HttpSession session = itsNatSession.getHttpSession();
        session.setAttribute("sessionId",itsNatSession.getId());
        itsNatDoc.setAttribute("docId",itsNatDoc.getId());
        resolver.setLocalVariable("refreshInterval",new Integer(3000));
        resolver.setLocalVariable("commMode",new Integer(CommMode.XHR_ASYNC));
View Full Code Here


    public RemoteControlTimerMgrGlobalEventListener(ItsNatDocument itsNatDoc)
    {
        this.itsNatDoc = itsNatDoc;
        this.lastNonTimerEvent = System.currentTimeMillis();

        ClientDocument clientDoc = itsNatDoc.getClientDocumentOwner();
        this.timer = clientDoc.createItsNatTimer();
        scheduleTimer();
    }
View Full Code Here

    }

    public void handleEvent(Event evt)
    {
        final ItsNatDocument itsNatDoc = getItsNatDocument();
        ClientDocument clientDoc = ((ItsNatEvent)evt).getClientDocument();

        final Runnable task = new Runnable()
        {
            public void run()
            {
                try
                {
                    Thread.sleep(4000);
                }
                catch(InterruptedException ex) { }

                synchronized(itsNatDoc)
                {
                    log("Asynchronous task finished, id: " + hashCode());
                }
            }
        };

        EventListener listener = new EventListener()
        {
            public void handleEvent(Event evt)
            {
                log("Finished really, id: " + task.hashCode());
            }
        };
        clientDoc.addAsynchronousTask(task,listener);

        log("An asynchronous task has started, id: " + task.hashCode());
    }
View Full Code Here

        Document doc = itsNatDoc.getDocument();       
       
        Element elemParent = doc.getElementById("insertHereId");
        ScriptUtil scriptGen = itsNatDoc.getScriptUtil();
        String elemRef = scriptGen.getNodeReference(elemParent);
        ClientDocument clientDoc = itsNatEvt.getClientDocument();
        clientDoc.addCodeToSend(elemRef + ".innerHTML = '';");       
        clientDoc.addCodeToSend("alert('Currently inserted fragment removed before');");       
               
        ItsNatServlet servlet = itsNatDoc.getItsNatDocumentTemplate().getItsNatServlet()
        ItsNatHTMLDocFragmentTemplate docFragTemplate = (ItsNatHTMLDocFragmentTemplate)servlet.getItsNatDocFragmentTemplate("manual.stless.example.fragment")

        DocumentFragment docFrag = docFragTemplate.loadDocumentFragmentBody(itsNatDoc)
View Full Code Here

    {
        ItsNatEventStateless itsNatEvt = (ItsNatEventStateless)evt;
       
        if (itsNatEvt.getItsNatDocument() == null)
        {
            ClientDocument clientDoc = itsNatEvt.getClientDocument();               
            //ServletRequest request = itsNatEvt.getItsNatServletRequest().getServletRequest();
            String docName = (String)itsNatEvt.getExtraParam("itsnat_doc_name");
            if (docName != null)
                clientDoc.addCodeToSend("alert('Received stateless event with not found itsnat_doc_name: " + docName + " from the page with title: " + itsNatEvt.getExtraParam("title") + "');");
            else
                clientDoc.addCodeToSend("alert('Received a custom stateless event from the page with title: " + itsNatEvt.getExtraParam("title") + "');");
        }
    }
View Full Code Here

                log("OK this is the title: " + title + " ");
            }
        };

        ItsNatEvent itsNatEvent = (ItsNatEvent)evt;
        ClientDocument clientDoc = itsNatEvent.getClientDocument();
        ParamTransport[] extraParams = new ParamTransport[] { new CustomParamTransport("title","document.title") };
        clientDoc.addContinueEventListener(null,listener,itsNatEvent.getCommMode(),extraParams,null,-1);
    }
View Full Code Here

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

        ((EventTarget)linkToStart).addEventListener("click",this,false);

        ClientDocument clientDoc = itsNatDoc.getClientDocumentOwner();
        this.timer = clientDoc.createItsNatTimer();
    }
View Full Code Here

        code.append("var itsNatDoc = document.getItsNatDoc();");
        code.append("var evt = itsNatDoc.createUserEvent('rem_ctrl_request');");
        code.append("var res = confirm('A Remote User Wants To Monitor (" + readWriteStr + ") Your Page. Accept?');");
        code.append("evt.setExtraParam('answer',res);");
        code.append("itsNatDoc.dispatchUserEvent(null,evt);");
        ClientDocument clientOwner = itsNatDoc.getClientDocumentOwner();
        clientOwner.addCodeToSend(code.toString());

        itsNatDoc.removeEventListener(this); // No longer needed
    }
View Full Code Here

                    boolean accepted = askToUser(event,msg);
                    event.setAccepted(accepted);
                    if (accepted && !event.isReadOnly())
                    {
                        ItsNatDocument itsNatDoc = event.getItsNatDocument();
                        final ClientDocument clientOwner = itsNatDoc.getClientDocumentOwner();
                        StringBuilder note = new StringBuilder();
                        note.append("alert(\"Dear user, you have accepted that another user can modify the document in server ");
                        note.append("in the same way you can. To help you almost instantaneously see ");
                        note.append("what the other user is doing, a timer has been added to update your page ");
                        note.append("each 3 seconds for 30 minutes\");");
                        clientOwner.addCodeToSend(note);
                       
                        EventListener listener = new EventListener()
                        {
                            public void handleEvent(Event evt)
                            {
                                ItsNatTimerEvent timerEvt = (ItsNatTimerEvent)evt;
                                ItsNatTimerHandle handle = timerEvt.getItsNatTimerHandle();
                                long firstTime = handle.getFirstTime();
                                if ((new Date().getTime() - firstTime) > 30*60*1000) // 30 minutes
                                {
                                    handle.cancel();
                                    clientOwner.addCodeToSend("The timer for updating the client has finished");
                                }
                            }
                        };
                        ItsNatTimer timer = clientOwner.createItsNatTimer();
                        timer.schedule(null,listener,1000,3000);
                    }
                }
            }

            if (!event.isAccepted())
            {
                ItsNatServletResponse response = event.getItsNatServletResponse();
                ItsNatServlet servlet = response.getItsNatServlet();
                @SuppressWarnings("unchecked")
                Map<String,String[]> newParams = new HashMap<String,String[]>(servRequest.getParameterMap());
                newParams.remove("itsnat_action"); // Removes: itsnat_action=attach_doc
                newParams.put("itsnat_doc_name",new String[]{"feashow.ext.core.misc.remCtrlReqRejected"});
                newParams.put("reason", msg); // submitted as array
                servRequest = servlet.createServletRequest(servRequest, newParams);
                servlet.processRequest(servRequest,response.getServletResponse());
            }
        }
        else if (phase == ItsNatAttachedClientEvent.REFRESH)
        {
            ClientDocument observer = event.getClientDocument();
            if (observer.getItsNatDocument().isInvalid())
            {
                observer.addCodeToSend("alert('Observed document was destroyed');");
            }
            else
            {
                long initTime = observer.getCreationTime();
                long currentTime = System.currentTimeMillis();
                long limitMilisec = 15*60*1000;
                // 15 minutes (to avoid a long monitoring session)
                if (currentTime - initTime > limitMilisec)
                {
                    event.setAccepted(false);
                    observer.addCodeToSend("alert('Remote Control Timeout');\n");
                }
            }
        }
        // ItsNatAttachedClientEvent.LOAD & UNLOAD : nothing to do

View Full Code Here

    public boolean askToUser(ItsNatAttachedClientEvent event,String[] msg)
    {
        final boolean[] ready = new boolean[] { false };
        final boolean[] answer = new boolean[] { false };

        ClientDocument observer = event.getClientDocument();
        ItsNatDocument itsNatDoc = observer.getItsNatDocument();

        RemoteControlUserRequestEventListener listener =
                new RemoteControlUserRequestEventListener(event.isReadOnly(),ready,answer);

        synchronized(itsNatDoc)
View Full Code Here

TOP

Related Classes of org.itsnat.core.ClientDocument

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.