Changeset 31331 for other-projects

Show
Ignore:
Timestamp:
23.01.2017 16:01:35 (2 years ago)
Author:
davidb
Message:

Reworked to use CORS and $.ajax() so TamperMonkey? doesn't interceed with security check page. Also relocated bookworm PNG from external site to be within the servlet area.

Location:
other-projects/hathitrust/wcsa/vol-checker/WebContent
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • other-projects/hathitrust/wcsa/vol-checker/WebContent/HT-HTRC_Mashup.user.js

    r31330 r31331  
    1717// grant GM_addStyle 
    1818 
     19var http_servlet_url="http://bedrock.resnet.cms.waikato.ac.nz:8686/vol-checker/"; 
     20var https_servlet_url="https://bedrock.resnet.cms.waikato.ac.nz:8643/vol-checker/"; 
    1921 
    2022function mashupInit() { 
     
    2729    $search_button.find('span').first().hide(); 
    2830 
    29     $fieldset.append('<button id="htrc-bw" class="button search" style="width:47px; right: -105px; background-image:url(http://www.cs.waikato.ac.nz/~davidb/htrc-mashup/bookworm.png);" title="Bookworm"></button>'); 
     31    $fieldset.append('<button id="htrc-bw" class="button search" style="width:47px; right: -105px; background-image:url('+https_servlet_url + 'bookworm.png);" title="Bookworm"></button>'); 
    3032 
    3133    var $bw_button = $('#htrc-bw'); 
     
    148150    //console.log("*** ids_str = " + ids_str); 
    149151 
    150     console.log("**** Away to request: " + "http://bedrock.resnet.cms.waikato.ac.nz:8686/vol-checker/VolumeCheck?ids=" + encodeURIComponent(ids_str)); 
     152    console.log("**** Away to request: " + https_servlet_url + "VolumeCheck?ids=" + encodeURIComponent(ids_str)); 
    151153 
     154    var encoded_ids=encodeURIComponent(ids_str); 
     155    var full_url = https_servlet_url + "VolumeCheck?ids=" + encoded_ids; 
    152156 
     157    $.ajax(full_url) 
     158        .done(function(data,textStatus,response) { 
     159        console.log("Adding in HTRC cross-checks"); 
     160        var ids_exist = data; 
     161        for (var k in ids_exist) { 
     162            //console.log("*** k = '" + k + "'"); 
    153163 
     164            //var id_str = '#htrc-mashup-'+k; 
     165            //console.log("*** id str = " + id_str); 
     166            // var $id_div = $(id_str); 
     167             
     168            //var $id_div = $('#'+'htrc-mashup-'+k); 
     169            var id_div = document.getElementById('htrc-mashup-'+k); 
     170            //console.log("*** id_div = " + id_div); 
     171            var $id_div = $(id_div); 
    154172 
    155     GM_xmlhttpRequest ({ 
    156                 method: "GET", 
    157                 url: "http://bedrock.resnet.cms.waikato.ac.nz:8686/vol-checker/VolumeCheck?ids=" + encodeURIComponent(ids_str), 
    158                 //url: "http://localhost:8080/htrc-ef-exists/VolumeCheck?ids=" + encodeURIComponent(file_safe_ids_str), 
    159                 //headers: { 
    160             //"Content-Type": "application/x-www-form-urlencoded" 
    161               //  }, 
    162                 onload: function (response) { 
     173            if (ids_exist[k]) { 
     174            $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: #924a0b;\"><a>Download Extracted Features</a></li>"); // ✓ 
     175            } 
     176            else { 
     177            // ✗, ✘ 
     178            $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: red;\">HTRC unfriendly ✘</li>"); 
     179            } 
    163180 
    164                 console.log("Adding in HTRC cross-checks"); 
    165                 var text = response.responseText; 
    166                 //console.log ( "Response text: " + text); 
    167                 var ids_exist = JSON.parse(text); 
     181            //console.log("*** id div len = " + $id_div.length); 
    168182 
    169                 for (var k in ids_exist) { 
    170                     //console.log("*** k = '" + k + "'"); 
     183            //$.append("<li>HTRC friendly</li>"); 
     184        } 
     185        }) 
     186        .fail(function(esponse,textStatus,errorThrown) { 
     187        alert( "error:"  + errorThrown); 
     188        }); 
    171189 
    172                     //var id_str = '#htrc-mashup-'+k; 
    173                     //console.log("*** id str = " + id_str); 
    174                     // var $id_div = $(id_str); 
    175  
    176                     //var $id_div = $('#'+'htrc-mashup-'+k); 
    177                     var id_div = document.getElementById('htrc-mashup-'+k); 
    178                     //console.log("*** id_div = " + id_div); 
    179                     var $id_div = $(id_div); 
    180  
    181                     if (ids_exist[k]) { 
    182                     $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: #924a0b;\"><a>Download Extracted Features</a></li>"); // ✓ 
    183                         } 
    184                     else { 
    185                     // ✗, ✘ 
    186                     $id_div.find("ul").append("<li title=\""+k+"\" style=\"color: red;\">HTRC unfriendly ✘</li>"); 
    187                         } 
    188  
    189                     //console.log("*** id div len = " + $id_div.length); 
    190  
    191                     //$.append("<li>HTRC friendly</li>"); 
    192                     /* 
    193                                 if (ids_exist.hasOwnProperty(k)) { 
    194                           //console.log("*** processing id: " + k); 
    195                             //$('#htrc-mashup-'+k).css("background-color:","red"); 
    196                               $('#htrc-mashup-'+k).append("<p>HTRC friendly</p>"); 
    197                                     }*/ 
    198                 } 
    199  
    200                     } 
    201             }); 
    202190 
    203191    //console.log("*** GM httpRequest made "); 
  • other-projects/hathitrust/wcsa/vol-checker/WebContent/WEB-INF/web.xml

    r31295 r31331  
    1111  </welcome-file-list> 
    1212   
     13 
     14  <filter> 
     15    <filter-name>cross-origin</filter-name> 
     16    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class> 
     17    <init-param> 
     18        <param-name>allowedOrigins</param-name> 
     19        <param-value>*</param-value> 
     20    </init-param> 
     21    <init-param> 
     22        <param-name>allowedMethods</param-name> 
     23        <param-value>GET,POST,HEAD</param-value> 
     24    </init-param> 
     25    <init-param> 
     26        <param-name>allowedHeaders</param-name> 
     27        <param-value>X-Requested-With,Content-Type,Accept,Origin</param-value> 
     28    </init-param> 
     29  </filter> 
     30  <filter-mapping> 
     31    <filter-name>cross-origin</filter-name> 
     32    <url-pattern>/*</url-pattern> 
     33  </filter-mapping> 
     34 
     35 
    1336  <servlet> 
    14         <servlet-name>HTRC Volume Check</servlet-name> 
    15         <servlet-class>org.hathitrust.extractedfeatures.VolumeCheck</servlet-class> 
    16     </servlet> 
    17  
    18     <servlet-mapping> 
    19         <servlet-name>HTRC Volume Check</servlet-name> 
    20         <url-pattern>/VolumeCheck</url-pattern> 
    21     </servlet-mapping> 
     37    <servlet-name>HTRC Volume Check</servlet-name> 
     38    <servlet-class>org.hathitrust.extractedfeatures.VolumeCheck</servlet-class> 
     39  </servlet> 
     40  <servlet-mapping> 
     41    <servlet-name>HTRC Volume Check</servlet-name> 
     42    <url-pattern>/VolumeCheck</url-pattern> 
     43  </servlet-mapping> 
    2244   
    2345