OpenLayers OpenLayers

Changeset 3307

Show
Ignore:
Timestamp:
06/11/07 07:50:30 (1 year ago)
Author:
ominiverdi
Message:

WMSManager (ticket #687):
no more Sarissa dependances
added two OpenLayers.Ajax functions here inside
added Sarissa node values definition

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/ominiverdi/openlayers/lib/OpenLayers/Control/WMSManager.js

    r3262 r3307  
    942942        var text = ajaxRequest.responseText; 
    943943         
    944         var oDomDoc = Sarissa.getDomDocument(); 
     944        //var oDomDoc = Sarissa.getDomDocument(); 
    945945         
    946946        //myregexp = new RegExp('<!--[^(-->)]*-->'); 
     
    954954        if(xml.childNodes.length==0) { 
    955955            try{ 
    956                 if(Sarissa.getParseErrorText(xml) == Sarissa.PARSED_OK){ 
     956                if(OpenLayers.Ajax.getParseErrorText(xml) == OpenLayers.Ajax.PARSED_OK){ 
    957957                  // The document was parsed/loaded just fine, go on 
    958958                  //alert(xml); 
     
    961961                else{ 
    962962                    // The document was not loaded correctly! Inform the user: 
    963                     var error = Sarissa.getParseErrorText(xml); 
     963                    var error = OpenLayers.Ajax.getParseErrorText(xml); 
    964964                    //alert(error); 
    965965                    var newwindow; 
    966966                    //Encode the xml inside the error message 
    967                     encodedHtml = error; 
    968                     encodedHtml = encodedHtml.replace(/</g,"&lt;"); 
    969                     encodedHtml = encodedHtml.replace(/>/g,"&gt;");  
     967                    //encodedHtml = error; 
     968                    //encodedHtml = encodedHtml.replace(/</g,"&lt;"); 
     969                    //encodedHtml = encodedHtml.replace(/>/g,"&gt;");  
    970970                    //popup a message windows to let the use copy the error 
    971971                    newwindow=window.open('','','menubar=1,scrollbars=1,width=400,height=300,resizable=1') ; 
    972972                    //menubar=1,location=1,status=1, 
    973973                    newwindow.document.writeln('<html> <head> <title>Error Parsing GetCapabilties<\/title> <\/head> <body><pre><code>'); 
    974                     newwindow.document.writeln(encodedHtml); 
     974                    newwindow.document.writeln(OpenLayers.Ajax.escape(error)); 
    975975                    newwindow.document.writeln('<\/code><\/pre> <\/body> <\/html>'); 
    976976                    newwindow.document.close(); 
     
    986986        if(typeof xml=='object'){ 
    987987             
    988  
     988             
    989989            //Check exceptionsValue 
    990990            var exceptions = xml.getElementsByTagName('Exception'); 
     
    996996                for(i=0;i<aFormats.length;i++){ 
    997997                        //var format =(aFormats[i].textContent)? aFormats[i].textContent:aFormats[i].text; 
    998                         var format = Sarissa.getText(aFormats[i]); 
     998                        //var format = OpenLayers.Ajax.getText(aFormats[i]); 
     999                        try{ 
     1000                        var format = OpenLayers.Ajax.getText(aFormats[i]); 
     1001                        } catch(e){alert(e)}; 
    9991002                        if(format ==exceptionsValue) formatExists = true; 
    10001003                        else oFormats.push(format); 
     
    10031006                if(!formatExists) this.WMSManager.exceptionsValue = oFormats[0]; 
    10041007            } 
     1008             
    10051009             
    10061010             
     
    10131017                for(i=0;i<aFormats.length;i++){              
    10141018                        //var format =(aFormats[i].textContent)? aFormats[i].textContent:aFormats[i].text; 
    1015                         var format = Sarissa.getText(aFormats[i]); 
     1019                        if(aFormats[i])var format = OpenLayers.Ajax.getText(aFormats[i]); 
    10161020                        if(format == 'image/png' || format == 'image/jpeg' || format == 'image/gif')oFormats.push(format); 
    10171021                } 
     
    10261030            if(resolutions.length){ 
    10271031                //var resolutionsS = resolutions[0].textContent; 
    1028                 var resolutionsS = Sarissa.getText(resolutions[0]); 
     1032                var resolutionsS = OpenLayers.Ajax.getText(resolutions[0]); 
    10291033                if(resolutionsS.length){ 
    10301034                    var aResolutions = resolutionsS.split(' '); 
     
    10351039            } 
    10361040             
    1037              
    10381041             //Print Layer List 
    10391042             var aLayer = xml.getElementsByTagName('Layer'); 
     
    10421045                 this.WMSManager.drawLayersForm(xml); 
    10431046             }  
     1047              
    10441048     } else { 
    10451049        alert('connection error: response is not an object'); 
     
    10981102            //if(nameNode)var Name =(nameNode.textContent)? nameNode.textContent:nameNode.text; 
    10991103            //else var Name = null; 
    1100             if(nameNode)var Name =Sarissa.getText(nameNode); 
     1104            if(nameNode)var Name =OpenLayers.Ajax.getText(nameNode); 
    11011105            else var Name = null; 
    11021106             
     
    11041108            //if(titleNode)var Title =(titleNode.textContent)? titleNode.textContent:titleNode.text; 
    11051109            //else var Title = null; 
    1106             if(titleNode)var Title = Sarissa.getText(titleNode); 
     1110            if(titleNode)var Title = OpenLayers.Ajax.getText(titleNode); 
    11071111            else var Title = null; 
    11081112             
     
    11521156            //if(nameNode)var Name =(nameNode.textContent)? nameNode.textContent:nameNode.text; 
    11531157            //else var Name = null; 
    1154             if(nameNode)var Name =Sarissa.getText(nameNode); 
     1158            if(nameNode)var Name =OpenLayers.Ajax.getText(nameNode); 
    11551159            else var Name = null; 
    11561160            //alert(nameNode.data); 
     
    11601164            //if(titleNode)var Title =(titleNode.textContent)? titleNode.textContent:titleNode.text; 
    11611165            //else var Title = null; 
    1162             if(titleNode)var Title =Sarissa.getText(titleNode); 
     1166            if(titleNode)var Title =OpenLayers.Ajax.getText(titleNode); 
    11631167            else var Title = null; 
    11641168             
     
    11671171            //if(abstractNode) var Abstract =(abstractNode.textContent)? abstractNode.textContent:abstractNode.text; 
    11681172            //else var Abstract = null; 
    1169             if(abstractNode)var Abstract =Sarissa.getText(abstractNode); 
     1173            if(abstractNode)var Abstract =OpenLayers.Ajax.getText(abstractNode); 
    11701174            else var Abstract = null; 
    11711175             
     
    16321636        } 
    16331637    }, 
     1638     
     1639     
    16341640 
    16351641    /** @final @type String */ 
    16361642    CLASS_NAME: "OpenLayers.Control.WMSManager" 
    16371643}); 
     1644 
     1645 
     1646 /** Sarissa derived getText 
     1647     *   
     1648     * @private 
     1649     * 
     1650     * @param {Node} XML node 
     1651     * @param {int} deep recursion   
     1652     */ 
     1653    OpenLayers.Ajax.getText = function(oNode, deep){ 
     1654        var s = ""; 
     1655        var nodes = oNode.childNodes; 
     1656        for(var i=0; i < nodes.length; i++){ 
     1657            var node = nodes[i]; 
     1658            var nodeType = node.nodeType; 
     1659            if(nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE){ 
     1660                s += node.data; 
     1661            } else if(deep == true 
     1662                        && (nodeType == Node.ELEMENT_NODE 
     1663                            || nodeType == Node.DOCUMENT_NODE 
     1664                            || nodeType == Node.DOCUMENT_FRAGMENT_NODE)){ 
     1665                s += OpenLayers.Ajax.getText.getText(node, true); 
     1666            }; 
     1667        }; 
     1668        return s; 
     1669    } 
     1670     
     1671    /** Sarissa derived getParseErrorText 
     1672     *   
     1673     * @private 
     1674     * 
     1675     * @param {Document} oDoc The target DOM document 
     1676     * @returns The parsing error description of the target Document in 
     1677     *          human readable form (preformated text) 
     1678     */ 
     1679    OpenLayers.Ajax.PARSED_OK = "Document contains no parsing errors"; 
     1680    OpenLayers.Ajax.PARSED_EMPTY = "Document is empty"; 
     1681    OpenLayers.Ajax.PARSED_UNKNOWN_ERROR = "Not well-formed or other error"; 
     1682     
     1683    OpenLayers.Ajax.getParseErrorText = function(oDoc){ 
     1684       var parseErrorText = OpenLayers.Ajax.PARSED_OK; 
     1685        if(oDoc && oDoc.parseError && oDoc.parseError.errorCode && oDoc.parseError.errorCode != 0){ 
     1686            parseErrorText = "XML Parsing Error: " + oDoc.parseError.reason +  
     1687                "\nLocation: " + oDoc.parseError.url +  
     1688                "\nLine Number " + oDoc.parseError.line + ", Column " +  
     1689                oDoc.parseError.linepos +  
     1690                ":\n" + oDoc.parseError.srcText + 
     1691                "\n"; 
     1692            for(var i = 0;  i < oDoc.parseError.linepos;i++){ 
     1693                parseErrorText += "-"; 
     1694            }; 
     1695            parseErrorText +=  "^\n"; 
     1696        } 
     1697        else if(oDoc.documentElement == null){ 
     1698            parseErrorText = OpenLayers.Ajax.PARSED_EMPTY; 
     1699        }; 
     1700        return parseErrorText; 
     1701    } 
     1702     
     1703    /**  
     1704     * Sarissa derived Escape 
     1705     * Escape the given string chacters that correspond to the five predefined XML entities 
     1706     * @param sXml the string to escape 
     1707     */ 
     1708    OpenLayers.Ajax.escape = function(sXml){ 
     1709        return sXml.replace(/&/g, "&amp;") 
     1710            .replace(/</g, "&lt;") 
     1711            .replace(/>/g, "&gt;") 
     1712            .replace(/"/g, "&quot;") 
     1713            .replace(/'/g, "&apos;"); 
     1714    } 
     1715    /**  
     1716     * Sarissa derived Unescape 
     1717     * Unescape the given string. This turns the occurences of the predefined XML  
     1718     * entities to become the characters they represent correspond to the five predefined XML entities 
     1719     * @param sXml the string to unescape 
     1720     */ 
     1721    OpenLayers.Ajax.unescape = function(sXml){ 
     1722        return sXml.replace(/&apos;/g,"'") 
     1723            .replace(/&quot;/g,"\"") 
     1724            .replace(/&gt;/g,">") 
     1725            .replace(/&lt;/g,"<") 
     1726            .replace(/&amp;/g,"&"); 
     1727    } 
     1728     
     1729    /**  
     1730     * Sarissa node values definition 
     1731     *  
     1732     */ 
     1733if(!window.Node || !Node.ELEMENT_NODE){ 
     1734    Node = {ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, CDATA_SECTION_NODE: 4, ENTITY_REFERENCE_NODE: 5,  ENTITY_NODE: 6, PROCESSING_INSTRUCTION_NODE: 7, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_TYPE_NODE: 10, DOCUMENT_FRAGMENT_NODE: 11, NOTATION_NODE: 12}; 
     1735}