diff --git a/src/main/java/org/genesys2/server/service/ElasticService.java b/src/main/java/org/genesys2/server/service/ElasticService.java index fc11361eb6d5eb769cac15d94a279a3873e18920..97d7dbc0c6cc02148cd88520c9924d6140b436df 100644 --- a/src/main/java/org/genesys2/server/service/ElasticService.java +++ b/src/main/java/org/genesys2/server/service/ElasticService.java @@ -43,6 +43,4 @@ public interface ElasticService { List autocompleteSearch(String query) throws SearchException; void regenerateAccessionSequentialNumber(); - - String getBoundingBox(AppliedFilters filters); } diff --git a/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java index d1611e1afa3176206573249ef7e771c88cc8f417..411152c72e4c6d40462bfb640de693cbe13e8dc3 100644 --- a/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/ElasticsearchSearchServiceImpl.java @@ -26,23 +26,14 @@ import java.util.List; import java.util.Map; import java.util.Set; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.elasticsearch.action.index.IndexRequest; -import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.index.query.AndFilterBuilder; import org.elasticsearch.index.query.FilterBuilders; import org.elasticsearch.index.query.OrFilterBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.QueryStringQueryBuilder.Operator; -import org.elasticsearch.search.aggregations.AggregationBuilders; -import org.elasticsearch.search.aggregations.Aggregations; -import org.elasticsearch.search.aggregations.bucket.filter.Filter; -import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder; -import org.elasticsearch.search.aggregations.metrics.max.InternalMax; -import org.elasticsearch.search.aggregations.metrics.min.InternalMin; import org.elasticsearch.search.sort.SortBuilder; import org.elasticsearch.search.sort.SortBuilders; import org.elasticsearch.search.sort.SortOrder; @@ -83,8 +74,6 @@ import org.springframework.stereotype.Service; @Service public class ElasticsearchSearchServiceImpl implements ElasticService, InitializingBean { - private final ObjectMapper mapper = new ObjectMapper(); - private static final Log LOG = LogFactory.getLog(ElasticsearchSearchServiceImpl.class); @Autowired @@ -161,42 +150,6 @@ public class ElasticsearchSearchServiceImpl implements ElasticService, Initializ } } - @Override - public String getBoundingBox(final AppliedFilters filters) { - filterService.transformFiltersIfNeed(filters); - AndFilterBuilder filterBuilder = getFilterBuilder(filters); - - final FilterAggregationBuilder builder = AggregationBuilders - .filter("agg").filter(filterBuilder) - .subAggregation(AggregationBuilders.min("min_longitude").field("geo.longitude")) - .subAggregation(AggregationBuilders.max("max_longitude").field("geo.longitude")) - .subAggregation(AggregationBuilders.min("min_latitude").field("geo.latitude")) - .subAggregation(AggregationBuilders.max("max_latitude").field("geo.latitude")); - - SearchQuery searchQuery = - new NativeSearchQueryBuilder() - .withIndices(IndexAliasConstants.INDEXALIAS_PASSPORT_WRITE) - .withTypes(IndexAliasConstants.PASSPORT_TYPE) - .addAggregation(builder) - .build(); - - Aggregations aggregations = elasticsearchTemplate.query(searchQuery, SearchResponse::getAggregations); - - Filter agg = aggregations.get("agg"); - - InternalMin minLatitude = agg.getAggregations().get("min_latitude"); - InternalMin minLongitude = agg.getAggregations().get("min_longitude"); - InternalMax maxLatitude = agg.getAggregations().get("max_latitude"); - InternalMax maxLongitude = agg.getAggregations().get("max_longitude"); - - final ObjectNode geoJson = mapper.createObjectNode(); - geoJson.put("west", String.valueOf(minLatitude.getValue())); - geoJson.put("south", String.valueOf(minLongitude.getValue())); - geoJson.put("east", String.valueOf(maxLatitude.getValue())); - geoJson.put("north",String.valueOf(maxLongitude.getValue())); - return geoJson.toString(); - } - @Override public TermResult termStatistics(AppliedFilters appliedFilters, String term, int size) throws SearchException { diff --git a/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java b/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java index 5cc71c1a54d93f840ac6af2e8e235d3d9918e25d..9db1d065ab9594e6b37bb2699b19fd3c9534ef4a 100644 --- a/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java +++ b/src/main/java/org/genesys2/server/servlet/controller/ExplorerController.java @@ -804,14 +804,6 @@ public class ExplorerController extends BaseController implements InitializingBe return mappingService.filteredGeoJson(appliedFilters, limit); } - @RequestMapping(value = "/explore/bounding-box", produces = MediaType.APPLICATION_JSON_VALUE) - @ResponseBody - public String getBoundingBox(@RequestParam(value = "filter", required = true) String jsonFilter) throws IOException { - - AppliedFilters appliedFilters = mapper.readValue(jsonFilter, AppliedFilters.class); - return elasticService.getBoundingBox(appliedFilters); - } - @RequestMapping(value = "/explore/tile/{zoom}/{x}/{y}", produces = MediaType.IMAGE_PNG_VALUE) public void tile( @PathVariable("zoom") int zoom, diff --git a/src/main/webapp/WEB-INF/jsp/accession/map.jsp b/src/main/webapp/WEB-INF/jsp/accession/map.jsp index 5d7365da1b1e114e3c281ed9be9fcaec53ab8b30..66cb26f34a84d607daf042adc59b58febad3e915 100644 --- a/src/main/webapp/WEB-INF/jsp/accession/map.jsp +++ b/src/main/webapp/WEB-INF/jsp/accession/map.jsp @@ -205,10 +205,6 @@ setHeight($(this).hasClass('closed')); }); - if(JSON.stringify(jsonData) !== "{}") { - centerMap(); - } - BrowseUtil.applySuggestions(jsonData, messages); $("#panel_additional_id").hide(); @@ -810,37 +806,9 @@ function refreshData() { reloadTiles(); - if(JSON.stringify(jsonData) !== "{}") { - centerMap(); - } refreshLinks(); } - function centerMap() { - $.ajax("", { - type: 'GET', - data: "filter=" + JSON.stringify(jsonData), - success: function (respObject) { - var west = respObject.west; - var south = respObject.south; - var east = respObject.east; - var north = respObject.north; - - if (west == 0 && south == 0 && east == 0 && north == 0) - return; - - var bounds = new GenesysMaps.BoundingBox(); - bounds.add([west, south]); - bounds.add([east, north]); - map.fitBounds(bounds.getBounds()); - }, - error: function (jqXHR, textStatus, errorThrown) { - console.log(textStatus); - console.log(errorThrown); - } - }); - } - function applyFilters() { var stepValue = (parseInt(localStorage.getItem("historyStep")) + 1); localStorage.setItem("historyStep", stepValue);