Skip to content

Commit

Permalink
migrate here maps support to apiKey #850
Browse files Browse the repository at this point in the history
  • Loading branch information
syjer committed Dec 17, 2019
1 parent 8dfccc5 commit 0577b34
Show file tree
Hide file tree
Showing 9 changed files with 19 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public String getMapImage(
}

private Map<ConfigurationKeys, ConfigurationManager.MaybeConfiguration> getGeoConf() {
var keys = Set.of(MAPS_PROVIDER, MAPS_CLIENT_API_KEY, MAPS_HERE_APP_ID, MAPS_HERE_APP_CODE);
var keys = Set.of(MAPS_PROVIDER, MAPS_CLIENT_API_KEY, MAPS_HERE_API_KEY);
return configurationManager.getFor(keys, ConfigurationLevel.system());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,7 @@ public ResponseEntity<EventWithAdditionalInfo> getEvent(@PathVariable("eventName
var configurationsValues = configurationManager.getFor(List.of(
MAPS_PROVIDER,
MAPS_CLIENT_API_KEY,
MAPS_HERE_APP_ID,
MAPS_HERE_APP_CODE,
MAPS_HERE_API_KEY,
RECAPTCHA_API_KEY,
BANK_ACCOUNT_NR,
BANK_ACCOUNT_OWNER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public static ConfigurationKeys.GeoInfoProvider getProvider(Map<ConfigurationKey
private static String mapUrl(ConfigurationKeys.GeoInfoProvider provider) {
switch (provider) {
case GOOGLE: return "https://maps.googleapis.com/maps/api/staticmap?center=${latitude},${longitude}&key=${key}&zoom=16&size=400x400&markers=color:blue%7Clabel:E%7C${latitude},${longitude}";
case HERE: return "https://image.maps.api.here.com/mia/1.6/mapview?c=${latitude},${longitude}&z=16&w=400&h=400&poi=${latitude},${longitude}&app_id=${appId}&app_code=${appCode}";
case HERE: return "https://image.maps.ls.hereapi.com/mia/1.6/mapview?c=${latitude},${longitude}&z=16&w=400&h=400&poi=${latitude},${longitude}&apikey=${key}";
default: return "";
}
}
Expand All @@ -99,8 +99,7 @@ private static void fillParams(ConfigurationKeys.GeoInfoProvider provider, Map<C
if(ConfigurationKeys.GeoInfoProvider.GOOGLE == provider) {
geoConf.get(ConfigurationKeys.MAPS_CLIENT_API_KEY).getValue().ifPresent(key -> params.put("key", key));
} else if (ConfigurationKeys.GeoInfoProvider.HERE == provider) {
geoConf.get(ConfigurationKeys.MAPS_HERE_APP_ID).getValue().ifPresent(appId -> params.put("appId", appId));
geoConf.get(ConfigurationKeys.MAPS_HERE_APP_CODE).getValue().ifPresent(appCode -> params.put("appCode", appCode));
geoConf.get(ConfigurationKeys.MAPS_HERE_API_KEY).getValue().ifPresent(key -> params.put("key", key));
}
}

Expand Down
9 changes: 7 additions & 2 deletions src/main/java/alfio/model/system/ConfigurationKeys.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ public enum ConfigurationKeys {

MAPS_PROVIDER("Select the maps provider (None, Google, Here)", false, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),
MAPS_CLIENT_API_KEY("Google maps' client api key", false, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),
MAPS_HERE_APP_ID("HERE map App ID", false, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),
MAPS_HERE_APP_CODE("HERE map App Code", false, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),

@Deprecated
MAPS_HERE_APP_ID("HERE map App ID", true, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),
@Deprecated
MAPS_HERE_APP_CODE("HERE map App Code", true, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),

MAPS_HERE_API_KEY("HERE map Api Key", false, SettingCategory.MAP, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),


RECAPTCHA_API_KEY("reCAPTCHA v2 api key", false, SettingCategory.GENERAL, ComponentType.TEXT, false, EnumSet.of(SYSTEM)),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,7 @@ <h2>Map</h2>
<setting data-obj="ctrl.map['MAPS_CLIENT_API_KEY']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
<div ng-if="ctrl.map['MAPS_PROVIDER'].value === 'HERE'">
<div>
<setting data-obj="ctrl.map['MAPS_HERE_APP_ID']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
<div>
<setting data-obj="ctrl.map['MAPS_HERE_APP_CODE']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
<setting data-obj="ctrl.map['MAPS_HERE_API_KEY']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,7 @@ <h2>Map</h2>
<setting data-obj="systemConf.map['MAPS_CLIENT_API_KEY']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
<div ng-if="systemConf.map['MAPS_PROVIDER'].value === 'HERE'">
<div>
<setting data-obj="systemConf.map['MAPS_HERE_APP_ID']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
<div>
<setting data-obj="systemConf.map['MAPS_HERE_APP_CODE']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
<setting data-obj="systemConf.map['MAPS_HERE_API_KEY']" data-display-delete-if-needed="true" data-delete-handler="systemConf.delete(config)" ></setting>
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,7 @@
transformed.map = {
MAPS_PROVIDER: _.find(original['MAP'], function(e) {return e.key === 'MAPS_PROVIDER';}),
MAPS_CLIENT_API_KEY: _.find(original['MAP'], function(e) {return e.key === 'MAPS_CLIENT_API_KEY';}),
MAPS_HERE_APP_ID: _.find(original['MAP'], function(e) {return e.key === 'MAPS_HERE_APP_ID';}),
MAPS_HERE_APP_CODE: _.find(original['MAP'], function(e) {return e.key === 'MAPS_HERE_APP_CODE';})
MAPS_HERE_API_KEY: _.find(original['MAP'], function(e) {return e.key === 'MAPS_HERE_API_KEY';})
}
}

Expand Down Expand Up @@ -614,8 +613,7 @@
ctrl.map = {
MAPS_PROVIDER: _.find(settings['MAP'], function(e) {return e.key === 'MAPS_PROVIDER';}),
MAPS_CLIENT_API_KEY: _.find(settings['MAP'], function(e) {return e.key === 'MAPS_CLIENT_API_KEY';}),
MAPS_HERE_APP_ID: _.find(settings['MAP'], function(e) {return e.key === 'MAPS_HERE_APP_ID';}),
MAPS_HERE_APP_CODE: _.find(settings['MAP'], function(e) {return e.key === 'MAPS_HERE_APP_CODE';})
MAPS_HERE_API_KEY: _.find(settings['MAP'], function(e) {return e.key === 'MAPS_HERE_API_KEY';})
};
});
ctrl.saveSettings = function(frm, settings) {
Expand Down
5 changes: 2 additions & 3 deletions src/main/webapp/resources/js/admin/service/service.js
Original file line number Diff line number Diff line change
Expand Up @@ -503,9 +503,8 @@


function handleHEREGeolocate(location, locService, apiKeyAndProvider, resolve, reject) {
var appId = apiKeyAndProvider.keys['MAPS_HERE_APP_ID'];
var appCode = apiKeyAndProvider.keys['MAPS_HERE_APP_CODE'];
$http.get('https://geocoder.cit.api.here.com/6.2/geocode.json', {params: {app_id: appId, app_code: appCode, searchtext: location}}).then(function(res) {
var apiKey = apiKeyAndProvider.keys['MAPS_HERE_API_KEY'];
$http.get('https://geocoder.ls.hereapi.com/6.2/geocode.json', {params: {apiKey: apiKey, searchtext: location}}).then(function(res) {
var view = res.data.Response.View;
if(view.length > 0 && view[0].Result.length > 0 && view[0].Result[0].Location) {
var location = view[0].Result[0].Location;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,10 @@ ConfigurationKeys.MAPS_PROVIDER, buildMaybeConf(ConfigurationKeys.MAPS_PROVIDER,
public void testLocationDescriptorHEREWithTypeSet() {
var geoInfo = Map.of(
ConfigurationKeys.MAPS_PROVIDER, buildMaybeConf(ConfigurationKeys.MAPS_PROVIDER, ConfigurationKeys.GeoInfoProvider.HERE.name()),
ConfigurationKeys.MAPS_HERE_APP_ID, buildMaybeConf(ConfigurationKeys.MAPS_HERE_APP_ID, "appId"),
ConfigurationKeys.MAPS_HERE_APP_CODE, buildMaybeConf(ConfigurationKeys.MAPS_HERE_APP_CODE, "appCode")
ConfigurationKeys.MAPS_HERE_API_KEY, buildMaybeConf(ConfigurationKeys.MAPS_HERE_API_KEY, "apiKey")
);

final LocationDescriptor expected = locationDescriptorBuilder.apply("https://image.maps.api.here.com/mia/1.6/mapview?c=latitude,longitude&z=16&w=400&h=400&poi=latitude,longitude&app_id=appId&app_code=appCode");
final LocationDescriptor expected = locationDescriptorBuilder.apply("https://image.maps.ls.hereapi.com/mia/1.6/mapview?c=latitude,longitude&z=16&w=400&h=400&poi=latitude,longitude&apikey=apiKey");
assertEquals(expected, LocationDescriptor.fromGeoData(Pair.of(latitude, longitude), timeZone, geoInfo));
}

Expand Down

0 comments on commit 0577b34

Please sign in to comment.