# HG changeset patch # User StefanFunk # Date 1342779297 0 # Node ID 517a6422d1bddfa1218091c08e9603f287c3a269 # Parent cf06b77a8bbd3ca530cde279e6accddbf9e2fe7c done all the GeoBrowser changes - image changed - background gradient darkened - added csv compatibility - added ucsv library - maybe more minor changes git-svn-id: http://dev.dariah.eu/svn/repos/eu.dariah.de/ap1/sti-gwt-dariah-geobrowser@48 f2b5be40-def6-11e0-8a09-b3c1cc336c6b diff -r cf06b77a8bbd -r 517a6422d1bd .gitignore --- a/.gitignore Tue Jul 17 13:34:40 2012 +0000 +++ b/.gitignore Fri Jul 20 10:14:57 2012 +0000 @@ -1,3 +1,5 @@ /.classpath /.project /.settings +/build +/e4d.war diff -r cf06b77a8bbd -r 517a6422d1bd README --- a/README Tue Jul 17 13:34:40 2012 +0000 +++ b/README Fri Jul 20 10:14:57 2012 +0000 @@ -1,7 +1,8 @@ Europeana.4D GWT Implementation *Building* -To build the GWT based implementation just run ant in the root folder (the directory where this file lives in). +To build the GWT based implementation just run ant in the root folder (the +directory where this file lives in). $ ant @@ -14,3 +15,7 @@ $ ant war +2012-07-17 (fu) + +This is the DARIAH GeoBrowser using the e4D, branched from revision 19384 of +the e4D repository: https://www.europeanalabs.eu/svn/contrib/sti/branches/sti-gwt diff -r cf06b77a8bbd -r 517a6422d1bd src/econnect/wp3_3/client/core/ApplicationConstants.properties --- a/src/econnect/wp3_3/client/core/ApplicationConstants.properties Tue Jul 17 13:34:40 2012 +0000 +++ b/src/econnect/wp3_3/client/core/ApplicationConstants.properties Fri Jul 20 10:14:57 2012 +0000 @@ -29,7 +29,8 @@ pauseEnabled = images/pause_2.png pauseDisabled = images/pause_0.png deleteImage = images/delete.png -logoImage = images/e4D.png +#logoImage = images/e4D.png +logoImage = images/DARIAH.png historyImage = images/history_0.png historyOverImage = images/history_1.png openImage = images/open_1.png diff -r cf06b77a8bbd -r 517a6422d1bd src/econnect/wp3_3/client/core/ApplicationGrid.java --- a/src/econnect/wp3_3/client/core/ApplicationGrid.java Tue Jul 17 13:34:40 2012 +0000 +++ b/src/econnect/wp3_3/client/core/ApplicationGrid.java Fri Jul 20 10:14:57 2012 +0000 @@ -428,8 +428,8 @@ RootPanel.get().setWidgetPosition(this.logo,(docWidth-width)/2-40,8); Grid linkList = new Grid(1,7); - HTML informationLink = new HTML(" Information"); - informationLink.setTitle("Information"); + HTML informationLink = new HTML(" e4D - Info"); + informationLink.setTitle("e4D - Info"); informationLink.addClickHandler(new ClickHandler(){ public void onClick(ClickEvent event) { Window.open("http://wp1187670.wp212.webpack.hosteurope.de/e4d/?page_id=2", "_blank", ""); diff -r cf06b77a8bbd -r 517a6422d1bd war/Sti.html --- a/war/Sti.html Tue Jul 17 13:34:40 2012 +0000 +++ b/war/Sti.html Fri Jul 20 10:14:57 2012 +0000 @@ -10,57 +10,37 @@ - Spatio-Temporal Interface + DARIAH GeoBrowser – Spatio-Temporal Interface - - + - - - - - + + + - - - - + + + + - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff -r cf06b77a8bbd -r 517a6422d1bd war/datasources.json --- a/war/datasources.json Tue Jul 17 13:34:40 2012 +0000 +++ b/war/datasources.json Fri Jul 20 10:14:57 2012 +0000 @@ -1,152 +1,160 @@ [ { - "label" : "Static Data", - "categories" : [ + "label": "Static Data", + "categories": [ { "category": "WebOPAC Goettingen", "items": [ { - "label" : "Franz Kafka", - "url" : "data/kafka.kml" + "label": "Franz Kafka", + "url": "data/kafka.kml" }, { - "label" : "Friedrich Schiller", - "url" : "data/schiller.kml" + "label": "Friedrich Schiller", + "url": "data/schiller.kml" }, { - "label" : "Gotthold Ephraim Lessing", - "url" : "data/lessing.kml" + "label": "Gotthold Ephraim Lessing", + "url": "data/lessing.kml" }, { - "label" : "Heinrich Boell", - "url" : "data/boell.kml" + "label": "Heinrich Boell", + "url": "data/boell.kml" }, { - "label" : "Heinrich Heine", - "url" : "data/heine.kml" + "label": "Heinrich Heine", + "url": "data/heine.kml" }, { - "label" : "Johann Wolfgang von Goethe", - "url" : "data/goethe.kml" + "label": "Johann Wolfgang von Goethe", + "url": "data/goethe.kml" }, { - "label" : "William Shakespeare", - "url" : "data/shakespeare.kml" - } - ] + "label": "William Shakespeare", + "url": "data/shakespeare.kml" + } + ] }, { "category": "Static Flickr Data", "items": [ { - "label" : "Tsunami", - "url" : "data/flickr/Tsunami.kml" + "label": "Tsunami", + "url": "data/flickr/Tsunami.kml" }, { - "label" : "Volcano", - "url" : "data/flickr/Volcano.kml" + "label": "Volcano", + "url": "data/flickr/Volcano.kml" }, { - "label" : "Earthquake", - "url" : "data/flickr/Earthquake.kml" + "label": "Earthquake", + "url": "data/flickr/Earthquake.kml" }, { - "label" : "U2", - "url" : "data/flickr/U2.kml" + "label": "U2", + "url": "data/flickr/U2.kml" }, { - "label" : "Muse", - "url" : "data/flickr/Muse.kml" + "label": "Muse", + "url": "data/flickr/Muse.kml" } - ] + ] }, { "category": "Political Data", "items": [ { - "label" : "Guardian Afghanistan war logs", - "url" : "data/afghanevents1_type-category.kml" + "label": "Guardian Afghanistan war logs", + "url": "data/afghanevents1_type-category.kml" }, { - "label" : "Guardian Afghanistan IED attacks", - "url" : "data/explodedied_category.kml" + "label": "Guardian Afghanistan IED attacks", + "url": "data/explodedied_category.kml" }, { - "label" : "Armed Conflicts from 1945-2008", - "url" : "data/conflicts.kml" + "label": "Armed Conflicts from 1945-2008", + "url": "data/conflicts.kml" }, { - "label" : "Casualties of radical right-wing crimes", - "url" : "data/rechtegewalt.kml" + "label": "Casualties of radical right-wing crimes", + "url": "data/rechtegewalt.kml" } - ] + ] }, { "category": "Internet Movie Database", "items": [ { - "label" : "Top 5000", - "url" : "data/imdb/imdb_best5000.kml" + "label": "Top 5000", + "url": "data/imdb/imdb_best5000.kml" }, { - "label" : "Flop 5000", - "url" : "data/imdb/imdb_worst5000.kml" - } - ] + "label": "Flop 5000", + "url": "data/imdb/imdb_worst5000.kml" + } + ] }, { "category": "DBPedia Queries", "items": [ { - "label" : "Museums", - "url" : "data/dbpedia/museum.kml" + "label": "Museums", + "url": "data/dbpedia/museum.kml" }, { - "label" : "Football World Cup Winners", - "url" : "data/dbpedia/WorldCupWinners.kml" + "label": "Football World Cup Winners", + "url": "data/dbpedia/WorldCupWinners.kml" + }, + { + "label": "Football European Cup Winners", + "url": "data/dbpedia/EuropeanCupWinners.kml" }, { - "label" : "Football European Cup Winners", - "url" : "data/dbpedia/EuropeanCupWinners.kml" + "label": "Manchester United players", + "url": "data/dbpedia/ManU.kml" }, { - "label" : "Manchester United players", - "url" : "data/dbpedia/ManU.kml" + "label": "Chelsea FC players", + "url": "data/dbpedia/Chelsea.kml" }, { - "label" : "Chelsea FC players", - "url" : "data/dbpedia/Chelsea.kml" + "label": "FC Liverpool players", + "url": "data/dbpedia/Liverpool.kml" }, { - "label" : "FC Liverpool players", - "url" : "data/dbpedia/Liverpool.kml" + "label": "Real Madrid players", + "url": "data/dbpedia/Real.kml" }, { - "label" : "Real Madrid players", - "url" : "data/dbpedia/Real.kml" - }, - { - "label" : "FC Barcelona players", - "url" : "data/dbpedia/Barca.kml" + "label": "FC Barcelona players", + "url": "data/dbpedia/Barca.kml" }, { - "label" : "FC Bayern Muenchen players", - "url" : "data/dbpedia/FCBayern.kml" + "label": "FC Bayern Muenchen players", + "url": "data/dbpedia/FCBayern.kml" } - ] + ] } - ] + ] + }, + { + "label": "KML File URL", + "url": "/tpp/req?url=" }, - { - "label" : "KML File URL", - "url" : "/tpp/req?url=" + { + "label": "KMZ File URL", + "url": "/tpp/req?kmz=true&url=" + }, + { + "label": "CSV File URL", + "url": "/tpp/req?csv=true&url=" }, - { - "label" : "Europeana", - "url" : "/tpp/req?url=http://europeana.eu/portal/search.kml?query=" + { + "label": "Europeana", + "url": "/tpp/req?url=http://europeana.eu/portal/search.kml?query=" }, - { - "label" : "Flickr", - "url" : "/FlickrService/flickr-service?places=false&tags=" + { + "label": "Flickr", + "url": "/FlickrService/flickr-service?places=false&tags=" } -] +] \ No newline at end of file diff -r cf06b77a8bbd -r 517a6422d1bd war/layers.xml --- a/war/layers.xml Tue Jul 17 13:34:40 2012 +0000 +++ b/war/layers.xml Fri Jul 20 10:14:57 2012 +0000 @@ -2,7 +2,7 @@ Contemporary Map /geoserver/wms - historic:world + historic:cntry1994 image/png true @@ -56,6 +56,13 @@ true + Historical Map of 1715 + /geoserver/wms + historic:cntry1715 + image/png + true + + Historical Map of 1650 /geoserver/wms historic:cntry1650 @@ -126,6 +133,13 @@ true + Historical Map of 323 BC + /geoserver/wms + historic:cntry323bc + image/png + true + + Historical Map of 500 BC /geoserver/wms historic:cntry500bc @@ -139,4 +153,11 @@ image/png true + + Historical Map of 2000 BC + /geoserver/wms + historic:cntry2000bc + image/png + true + diff -r cf06b77a8bbd -r 517a6422d1bd war/scripts/sti/STICore.js --- a/war/scripts/sti/STICore.js Tue Jul 17 13:34:40 2012 +0000 +++ b/war/scripts/sti/STICore.js Fri Jul 20 10:14:57 2012 +0000 @@ -264,7 +264,19 @@ // var tags = input.replace(/[^a-zA-Z0-9]/g,","); // url += tags; url += input; - this.parseKml(url,input,ds); + + /* test for csv flag in request parameters (see datasources.json) */ + var beginCsv = url.indexOf("csv=true"); + if (beginCsv != -1) { + /* remove "csv=true" from request parameters */ + url = url.substr(0, beginCsv) + url.substr(beginCsv + 9); + /* convert csv to kml */ + this.parseCsv(url,input,ds); + } + else { + /* parse kml */ + this.parseKml(url,input,ds); + } }, parseIt: function(xml,term,ds){ @@ -441,7 +453,102 @@ } }); }, - + + /** + * converts the csv-file, then parses the kml-file which includes the + * results for a given search request + * @param {File} csvFile + * @param {String} term the term identifier for the resulting dataset + */ + parseCsv: function(csvFile,term,ds){ + var core = this; + if( this.blocked ){ + setTimeout( function(){ core.parseCsv(csvFile,term,ds); }, 100 ); + return; + } + core.blockUI(); + $.ajax({ + url: csvFile, + dataType: "text", + beforeSend: function(){ + var status = document.getElementById("statusText"); + status.innerHTML = "Retrieving Data ..."; + }, + success: function(text){ + var status = document.getElementById("statusText"); + status.innerHTML = "Converting CSV to KML ..."; + /* convert here from csv to kml */ + var kmlString = '\n'; + kmlString += '\n'; + kmlString += '\t\n'; + /* define expected csv table headers (first line) */ + var expectedHeaders = new Array("Name","Address","Description","Longitude","Latitude","TimeStamp","TimeSpan:begin","TimeSpan:end"); + /* convert csv string to array of arrays using ucsv library */ + var csvArray = CSV.csvToArray(text); + /* get real used table headers from csv file (first line) */ + var usedHeaders = csvArray[0]; + /* loop outer array, begin with second line */ + for (var i = 1; i < csvArray.length; i++) { + var innerArray = csvArray[i]; + kmlString += '\t\t\n'; + /* loop inner array */ + for (var j = 0; j < innerArray.length; j++) { + /* Name */ + if (usedHeaders[j] == expectedHeaders[0]) { + kmlString += '\t\t\t' + innerArray[j] + '\n'; + } + /* Address */ + if (usedHeaders[j] == expectedHeaders[1]) { + kmlString += '\t\t\t
' + innerArray[j] + '
\n'; + } + /* Description */ + if (usedHeaders[j] == expectedHeaders[2]) { + kmlString += '\t\t\t' + innerArray[j] + '\n'; + } + /* TimeStamp */ + if (usedHeaders[j] == expectedHeaders[5] && innerArray[j] != null) { + kmlString += '\t\t\t\n' + + '\t\t\t\t' + innerArray[j] + '\n' + + '\t\t\t\n'; + } + /* TimeSpan:begin */ + if (usedHeaders[j] == expectedHeaders[6] && innerArray[j] != null) { + kmlString += '\t\t\t\n' + + '\t\t\t\t' + innerArray[j] + '\n'; + } + /* TimeSpan:end */ + if (usedHeaders[j] == expectedHeaders[7] && innerArray[j] != null) { + kmlString += '\t\t\t\t' + innerArray[j] + '\n' + + '\t\t\t\n'; + } + /* Longitude */ + if (usedHeaders[j] == expectedHeaders[3]) { + kmlString += '\t\t\t\n' + + '\t\t\t\t' + innerArray[j]; + } + /* Latitude */ + if (usedHeaders[j] == expectedHeaders[4]) { + kmlString += ',' + innerArray[j] + + '\n' + + '\t\t\t\n'; + } + } + kmlString += '\t\t
\n'; + } + kmlString += '\t\n'; + kmlString += '\n'; + //console.log("kmlstring="+kmlString); + /* convert string to xml */ + var kmlXml = $.parseXML(kmlString); + //console.log(kmlXml); + /* pares the converted kml data */ + var status = document.getElementById("statusText"); + status.innerHTML = "Parsing Data ..."; + setTimeout( function(){ core.parseIt(kmlXml,term,ds); }, 1 ); + } + }); + }, + /** * updates the timeplot and table element. * its called from the STIMap object, when objects on the map had been selected by featureSelect or polygon. diff -r cf06b77a8bbd -r 517a6422d1bd war/scripts/sti/STIMap.js --- a/war/scripts/sti/STIMap.js Tue Jul 17 13:34:40 2012 +0000 +++ b/war/scripts/sti/STIMap.js Fri Jul 20 10:14:57 2012 +0000 @@ -655,12 +655,11 @@ this.baseLayers.push( new OpenLayers.Layer.VirtualEarth("Bing Aerial", { type: VEMapStyle.Aerial, 'sphericalMercator': true } ) ); this.baseLayers.push( new OpenLayers.Layer.VirtualEarth("Bing Hybrid", { type: VEMapStyle.Hybrid, 'sphericalMercator': true } ) ); } - /* + /* Was commented out, no idea, why? */ if( this.core.props.osmMaps ){ this.baseLayers.push( new OpenLayers.Layer.OSM( 'Open Street Map' ) ); this.baseLayers.push( new OpenLayers.Layer.OSM( 'OSM Tiles@Home', 'http://tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png' ) ); } - */ }, /** @@ -680,8 +679,13 @@ cv = G_vmlCanvasManager.initElement(cv); var ctx = cv.getContext('2d'); var gradient = ctx.createLinearGradient(0, 0, 0, cv.height); - gradient.addColorStop(0, '#8bafd8'); - gradient.addColorStop(1, '#355272'); + /* OLD GRADIENTS */ + /* gradient.addColorStop(0, '#8bafd8'); + * gradient.addColorStop(1, '#355272'); + */ + /* new gradients: dark DARIAH theme (2012-07-19 SUBGOE Stefan E. Funk) */ + gradient.addColorStop(0, '#68635d'); + gradient.addColorStop(1, '#46413a'); ctx.fillStyle = gradient; ctx.fillRect(0, 0, cv.width, cv.height); },