Remove BinaryMapIndexTestReader
This commit is contained in:
parent
51a8c0ed90
commit
cf3ca008c0
1 changed files with 0 additions and 219 deletions
|
@ -1,219 +0,0 @@
|
||||||
package net.osmand.binary;
|
|
||||||
|
|
||||||
import net.osmand.binary.BinaryMapPoiReaderAdapter.PoiRegion;
|
|
||||||
import net.osmand.data.Amenity;
|
|
||||||
import net.osmand.data.Building;
|
|
||||||
import net.osmand.data.City;
|
|
||||||
import net.osmand.data.MapObject;
|
|
||||||
import net.osmand.data.Street;
|
|
||||||
import net.osmand.util.Algorithms;
|
|
||||||
|
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import static net.osmand.binary.BinaryMapAddressReaderAdapter.AddressRegion;
|
|
||||||
|
|
||||||
public class BinaryMapIndexTestReader extends BinaryMapIndexReader {
|
|
||||||
|
|
||||||
private List<Amenity> amenities = Collections.emptyList();
|
|
||||||
private List<City> cities = Collections.emptyList();
|
|
||||||
private List<City> initCities = Collections.emptyList();
|
|
||||||
private List<City> matchedCities = Collections.emptyList();
|
|
||||||
private List<City> streetCities = Collections.emptyList();
|
|
||||||
|
|
||||||
private BinaryMapIndexTestReader() throws IOException {
|
|
||||||
super(null, null, false);
|
|
||||||
version = 2;
|
|
||||||
dateCreated = System.currentTimeMillis();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static BinaryMapIndexReader buildTestReader(File jsonFile) throws IOException {
|
|
||||||
String sourceJsonText = Algorithms.getFileAsString(jsonFile);
|
|
||||||
JSONObject sourceJson = null;
|
|
||||||
if (!Algorithms.isEmpty(sourceJsonText)) {
|
|
||||||
sourceJson = new JSONObject(sourceJsonText);
|
|
||||||
}
|
|
||||||
if (sourceJson == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
BinaryMapIndexTestReader reader = new BinaryMapIndexTestReader();
|
|
||||||
if (sourceJson.has("amenities")) {
|
|
||||||
JSONArray amenitiesArr = sourceJson.getJSONArray("amenities");
|
|
||||||
List<Amenity> amenities = new ArrayList<>();
|
|
||||||
for (int i = 0; i < amenitiesArr.length(); i++) {
|
|
||||||
JSONObject amenityObj = amenitiesArr.getJSONObject(i);
|
|
||||||
amenities.add(Amenity.parseJSON(amenityObj));
|
|
||||||
}
|
|
||||||
reader.amenities = amenities;
|
|
||||||
PoiRegion region = new PoiRegion();
|
|
||||||
region.name = Algorithms.getFileNameWithoutExtension(jsonFile);
|
|
||||||
region.left31 = 0;
|
|
||||||
region.top31 = 0;
|
|
||||||
region.right31 = Integer.MAX_VALUE;
|
|
||||||
region.bottom31 = Integer.MAX_VALUE;
|
|
||||||
reader.poiIndexes.add(region);
|
|
||||||
reader.indexes.add(region);
|
|
||||||
}
|
|
||||||
if (sourceJson.has("cities")) {
|
|
||||||
JSONArray citiesArr = sourceJson.getJSONArray("cities");
|
|
||||||
Set<String> attributeTagsTable = new HashSet<>();
|
|
||||||
List<City> cities = new ArrayList<>();
|
|
||||||
List<City> initCities = new ArrayList<>();
|
|
||||||
List<City> matchedCities = new ArrayList<>();
|
|
||||||
List<City> streetCities = new ArrayList<>();
|
|
||||||
for (int i = 0; i < citiesArr.length(); i++) {
|
|
||||||
JSONObject cityObj = citiesArr.getJSONObject(i);
|
|
||||||
final City city = City.parseJSON(cityObj);
|
|
||||||
cities.add(city);
|
|
||||||
if (cityObj.has("init")) {
|
|
||||||
initCities.add(city);
|
|
||||||
}
|
|
||||||
if (cityObj.has("matchCity")) {
|
|
||||||
matchedCities.add(city);
|
|
||||||
}
|
|
||||||
if (cityObj.has("matchStreet")) {
|
|
||||||
streetCities.add(city);
|
|
||||||
}
|
|
||||||
Set<String> names = city.getNamesMap(false).keySet();
|
|
||||||
for (String name : names) {
|
|
||||||
attributeTagsTable.add("name:" + name);
|
|
||||||
}
|
|
||||||
for (Street street : city.getStreets()) {
|
|
||||||
names = street.getNamesMap(false).keySet();
|
|
||||||
for (String name : names) {
|
|
||||||
attributeTagsTable.add("name:" + name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// attributeTagsTable.add("name");
|
|
||||||
// attributeTagsTable.add("name:en");
|
|
||||||
}
|
|
||||||
reader.cities = cities;
|
|
||||||
reader.initCities = initCities;
|
|
||||||
reader.matchedCities = matchedCities;
|
|
||||||
reader.streetCities = streetCities;
|
|
||||||
|
|
||||||
AddressRegion region = new AddressRegion();
|
|
||||||
region.name = Algorithms.getFileNameWithoutExtension(jsonFile);
|
|
||||||
region.left31 = 0;
|
|
||||||
region.top31 = 0;
|
|
||||||
region.right31 = Integer.MAX_VALUE;
|
|
||||||
region.bottom31 = Integer.MAX_VALUE;
|
|
||||||
region.attributeTagsTable = new ArrayList<>(attributeTagsTable);
|
|
||||||
reader.addressIndexes.add(region);
|
|
||||||
reader.indexes.add(region);
|
|
||||||
}
|
|
||||||
return reader;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Amenity> searchPoiByName(SearchRequest<Amenity> req) throws IOException {
|
|
||||||
for (Amenity amenity : amenities) {
|
|
||||||
req.publish(amenity);
|
|
||||||
}
|
|
||||||
return req.getSearchResults();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Amenity> searchPoi(SearchRequest<Amenity> req) throws IOException {
|
|
||||||
for (Amenity amenity : amenities) {
|
|
||||||
req.publish(amenity);
|
|
||||||
}
|
|
||||||
return req.getSearchResults();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<City> getCities(AddressRegion region, SearchRequest<City> resultMatcher, int cityType) throws IOException {
|
|
||||||
return getCities(resultMatcher, cityType);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<City> getCities(SearchRequest<City> resultMatcher, int cityType) throws IOException {
|
|
||||||
for (City city : cities) {
|
|
||||||
if (resultMatcher != null) {
|
|
||||||
resultMatcher.publish(city);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cities;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int preloadStreets(City c, SearchRequest<Street> resultMatcher) throws IOException {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void preloadBuildings(Street s, SearchRequest<Building> resultMatcher) throws IOException {
|
|
||||||
// cities must be filled with streets and buildings
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<MapObject> searchAddressDataByName(SearchRequest<MapObject> req) throws IOException {
|
|
||||||
for (City city : streetCities) {
|
|
||||||
for (Street street : city.getStreets()) {
|
|
||||||
req.publish(street);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (City city : matchedCities) {
|
|
||||||
req.publish(city);
|
|
||||||
}
|
|
||||||
return req.getSearchResults();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getRegionName() {
|
|
||||||
return "Test region";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsPoiData(int left31x, int top31y, int right31x, int bottom31y) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsMapData() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsPoiData() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsRouteData() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsRouteData(int left31x, int top31y, int right31x, int bottom31y, int zoom) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsAddressData(int left31x, int top31y, int right31x, int bottom31y) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsMapData(int tile31x, int tile31y, int zoom) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsMapData(int left31x, int top31y, int right31x, int bottom31y, int zoom) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean containsAddressData() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue