Package test.referrerpull

Source Code of test.referrerpull.TestReferrerPullDocLoadListener

/*
* TestReferrerPullDocLoadListener.java
*
* Created on 9 de agosto de 2007, 17:19
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package test.referrerpull;

import java.io.Serializable;
import org.itsnat.core.ItsNatDocument;
import org.itsnat.core.ItsNatServletRequest;
import org.itsnat.core.ItsNatServletResponse;
import org.itsnat.core.domutil.ItsNatDOMUtil;
import org.itsnat.core.event.ItsNatServletRequestListener;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.Text;
import org.w3c.dom.events.Event;
import org.w3c.dom.events.EventListener;
import org.w3c.dom.events.EventTarget;
import org.w3c.dom.html.HTMLDocument;
import test.shared.EventListenerSerial;

/**
*
* @author jmarranz
*/
public class TestReferrerPullDocLoadListener implements ItsNatServletRequestListener,Serializable
{

    /**
     * Creates a new instance of TestReferrerPullDocLoadListener
     */
    public TestReferrerPullDocLoadListener()
    {

    }

    public void processRequest(ItsNatServletRequest request, ItsNatServletResponse response)
    {
        processReferrer(request,response);

        ItsNatDocument itsNatDoc = request.getItsNatDocument();
        Document doc = itsNatDoc.getDocument();
        Element outElem = doc.getElementById("outId");
        outElem.appendChild(doc.createTextNode(" 1 "));

        EventListener listener = new EventListenerSerial()
        {
            public void handleEvent(Event evt) { }
        };
        Element checkElem = doc.getElementById("checkServerId");
        ((EventTarget)checkElem).addEventListener("click", listener, false);
    }

    public void processReferrer(ItsNatServletRequest request, ItsNatServletResponse response)
    {
        ItsNatDocument itsNatDoc = request.getItsNatDocument();
        HTMLDocument doc = (HTMLDocument)itsNatDoc.getDocument();
        Element outElem = doc.getElementById("outId");
        ItsNatDocument itsNatDocRef = request.getItsNatDocumentReferrer();
        if (itsNatDocRef == null)
        {
            String msg = "There is no referrer. Adding markup to transport";

            Element div = doc.createElement("div");
            Text text = doc.createTextNode(msg);
            div.appendChild(text);
            doc.getBody().appendChild(div);
            //outElem.appendChild(div);

            Element h = doc.createElement("h3");
            h.appendChild(doc.createTextNode("Markup Transported"));
            outElem.appendChild(h);

            Element link = doc.getElementById("testReloadId");
            link.setAttribute("style",""); // Visible
        }
        else
        {
            synchronized(itsNatDocRef)
            {
                Document docRef = itsNatDocRef.getDocument();

                String docNameRef = itsNatDocRef.getItsNatDocumentTemplate().getName();
                if (docNameRef.equals("test_referrer_pull") || // Reload
                         docNameRef.equals("test_referrer_pull_next")) // Back button
                {
                    Element outRefElem = docRef.getElementById("outId");
                    Node contentNode = ItsNatDOMUtil.extractChildren(outRefElem);
                    contentNode = doc.importNode(contentNode,true);
                    outElem.appendChild(contentNode);

                    if (docNameRef.equals("test_referrer_pull"))
                    {
                        // Reload
                        Element link1 = doc.getElementById("nextPageToTestBackButtonId");
                        link1.setAttribute("style",""); // Visible
                        Element link2 = doc.getElementById("closeButtonId");
                        link2.setAttribute("style",""); // Visible
                    }
                    else if (docNameRef.equals("test_referrer_pull_next"))
                    {
                        // Back button
                        Element link = doc.getElementById("closeButtonId");
                        link.setAttribute("style",""); // Visible
                    }
                }
            }
        }
    }
}
TOP

Related Classes of test.referrerpull.TestReferrerPullDocLoadListener

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.