Skip to content
This repository has been archived by the owner on Nov 7, 2023. It is now read-only.

Commit

Permalink
Merge branch 'story/#117' of github.com:hbz/oerworldmap into story/#117
Browse files Browse the repository at this point in the history
  • Loading branch information
j0hj0h committed May 27, 2015
2 parents 07a01f7 + 8cf5225 commit 613e5a2
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 67 deletions.
27 changes: 15 additions & 12 deletions app/assets/stylesheets/main.less
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,21 @@ body.layout-fixed > div[role="complementary"] {
overflow-y: auto;
}

body.layout-fixed > div.column.small {
width: 30%;
}

div.column.small {
font-size: 14px;
}

div.column.small h1 {
font-size: 2em;
}

body.layout-fixed > div.column.large {
width: 70%;
}

/* --- map view --- */

Expand Down Expand Up @@ -576,18 +591,6 @@ svg .placemark.active {
// box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
}


/* --- complementary --- */

div[role="complementary"] {
font-size: 14px;
}

div[role="complementary"] h1 {
font-size: 2em;
}


/* --- resource list --- */

.list-view {
Expand Down
9 changes: 8 additions & 1 deletion app/mustache/AggregationIndex/index.mustache
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<div role="main" class="color-scheme-text">
<div role="complementary" class="color-scheme-map column large" data-view="map"></div>
<div role="main" class="color-scheme-text column small">
<section class="map-view-hidden">
<table class="table" about="#users-by-country">
<script type="application/ld+json">
Expand All @@ -15,3 +16,9 @@
</table>
</section>
</div>

<script type="text/javascript" src="//d3js.org/d3.v3.min.js"></script>
<script type="text/javascript" src="//d3js.org/d3.geo.projection.v0.min.js"></script>
<script type="text/javascript" src="//cdn.rawgit.com/mbostock/topojson/master/topojson.js"></script>

<script type="text/javascript" src="/assets/javascripts/main.js"></script>
6 changes: 4 additions & 2 deletions app/mustache/ResourceIndex/index.mustache
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<div role="main" class="color-scheme-text list-view">
<div role="complementary" class="color-scheme-map column large" data-view="map">
<a href="/aggregation/" class="hijax transclude map-view-hidden" target="_self">Aggregations</a>
</div>
<div role="main" class="color-scheme-text list-view column small">

<section>
<form method="get" action="/resource/">
Expand Down Expand Up @@ -49,7 +52,6 @@
{{/scope.resources}}
</ul>
</section>

</div>

<script type="text/javascript" src="//d3js.org/d3.v3.min.js"></script>
Expand Down
77 changes: 27 additions & 50 deletions app/services/ElasticsearchClient.java
Original file line number Diff line number Diff line change
@@ -1,27 +1,11 @@
package services;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import java.util.UUID;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.admin.indices.refresh.RefreshRequest;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.index.query.QueryBuilders;
Expand All @@ -30,17 +14,19 @@
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.AggregationBuilder;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;

import org.json.simple.parser.ParseException;
import play.Logger;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.UUID;

/**
* This class serves as an interface to Elasticsearch providing access to
Expand Down Expand Up @@ -317,30 +303,21 @@ public List<Map<String, Object>> esQuery(@Nonnull String aEsQuery, @Nullable Str

public List<Map<String, Object>> esQuery(@Nonnull String aEsQuery, @Nullable String aIndex,
@Nullable String aType) throws IOException, ParseException {
URL url = new URL(mSearchStub + (StringUtils.isEmpty(aIndex) ? "_all" : (aIndex)) + "/"
+ (StringUtils.isEmpty(aType) ? "" : (aType + "/")) + "_search?size=99999&q=" + URLEncoder.encode(aEsQuery, "UTF-8"));
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.connect();
return searchResultToMaps(IOUtils.toString(connection.getInputStream(), "UTF-8"));
}

@SuppressWarnings("unchecked")
private static List<Map<String, Object>> searchResultToMaps(String aEsSearchResultJson)
throws JsonParseException, JsonMappingException, IOException, ParseException {

List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();

JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(aEsSearchResultJson);
JSONObject hitsWrapper = (JSONObject) jsonObject.get("hits");
JSONArray hits = (JSONArray) hitsWrapper.get("hits");

ListIterator<JSONObject> iterator = hits.listIterator();
while (iterator.hasNext()) {
result.add((JSONObject) iterator.next().get("_source"));
SearchRequestBuilder searchRequestBuilder = mClient.prepareSearch(
StringUtils.isEmpty(aIndex) ? mEsConfig.getIndex() : aIndex);
if (!StringUtils.isEmpty(aType)) {
searchRequestBuilder.setTypes(aType);
}

return result;
SearchResponse response = searchRequestBuilder
.setQuery(QueryBuilders.queryString(aEsQuery))
.setFrom(0).setSize(99999)
.execute().actionGet();
Iterator<SearchHit> searchHits = response.getHits().iterator();
List<Map<String, Object>> matches = new ArrayList<>();
while (searchHits.hasNext()) {
matches.add(searchHits.next().sourceAsMap());
}
return matches;
}

}
1 change: 0 additions & 1 deletion public/javascripts/behaviours/hfactor.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ Hijax.behaviours.hfactor = {
$('form.hijax[target]', context).submit(function() {

var form = $(this);
var loading_indicator = $(this).find('button[type="submit"] .loading-indicator');
var action = form.attr('action');
var method = form.attr('method');

Expand Down
2 changes: 1 addition & 1 deletion public/javascripts/hijax.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Hijax = {
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
return decodeURIComponent(pair[1]);
}
}
return(false);
Expand Down

0 comments on commit 613e5a2

Please sign in to comment.