From d08d69f5963a979da9ae6f1579405bf3c041d4ba Mon Sep 17 00:00:00 2001 From: Matija Obreza Date: Wed, 17 Apr 2019 12:59:18 +0200 Subject: [PATCH] Switching to bit.ly URL shortener - Removed goo.gl URL shortener --- .../server/mvc/ExplorerController.java | 1 - .../service/impl/BitlyURLShortener.java | 5 +- .../service/impl/GoogleURLShortener.java | 61 ------------------- 3 files changed, 4 insertions(+), 63 deletions(-) delete mode 100644 src/main/java/org/genesys2/server/service/impl/GoogleURLShortener.java diff --git a/src/main/java/org/genesys2/server/mvc/ExplorerController.java b/src/main/java/org/genesys2/server/mvc/ExplorerController.java index ca6aaa5a8..c6b8e705a 100644 --- a/src/main/java/org/genesys2/server/mvc/ExplorerController.java +++ b/src/main/java/org/genesys2/server/mvc/ExplorerController.java @@ -124,7 +124,6 @@ public class ExplorerController extends BaseController implements InitializingBe private DownloadService downloadService; @Autowired - @Qualifier("googleURLShortener") private UrlShortenerService urlShortenerService; @Autowired diff --git a/src/main/java/org/genesys2/server/service/impl/BitlyURLShortener.java b/src/main/java/org/genesys2/server/service/impl/BitlyURLShortener.java index 2f389f1a3..307a80fd2 100644 --- a/src/main/java/org/genesys2/server/service/impl/BitlyURLShortener.java +++ b/src/main/java/org/genesys2/server/service/impl/BitlyURLShortener.java @@ -8,6 +8,7 @@ import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; +import org.springframework.web.client.HttpStatusCodeException; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; @@ -36,7 +37,7 @@ public class BitlyURLShortener implements UrlShortenerService { @Override public String shortenUrl(URL url) { - + LOG.info("Shortening {}", url); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.set("Authorization" , accessToken); @@ -52,6 +53,8 @@ public class BitlyURLShortener implements UrlShortenerService { try { LinkedHashMap linkedHashMap = restTemplate.postForObject(bitlyUrlShortener, requestEntity, LinkedHashMap.class); shortenUrl = linkedHashMap.get("id"); + } catch (final HttpStatusCodeException e) { + LOG.error("bit.ly HTTP error {} {}", e.getResponseBodyAsString(), e.getMessage()); } catch (final RestClientException e) { LOG.error(e.getMessage(), e); } diff --git a/src/main/java/org/genesys2/server/service/impl/GoogleURLShortener.java b/src/main/java/org/genesys2/server/service/impl/GoogleURLShortener.java deleted file mode 100644 index fc69c80d7..000000000 --- a/src/main/java/org/genesys2/server/service/impl/GoogleURLShortener.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Copyright 2015 Global Crop Diversity Trust - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ - -package org.genesys2.server.service.impl; - -import org.genesys2.server.service.UrlShortenerService; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.StringHttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.social.support.ClientHttpRequestFactorySelector; -import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; - -import java.net.URL; -import java.util.*; - -@Component -@SuppressWarnings("unchecked") -public class GoogleURLShortener implements UrlShortenerService { - - @Value("${google.api.key}") - private String apiKey; - - @Value("${google.url.shortener}") - private String googleUrlShortener; - - private RestTemplate restTemplate; - - public GoogleURLShortener() { - restTemplate = new RestTemplate(ClientHttpRequestFactorySelector.getRequestFactory()); - List> messageConverters = new ArrayList>(); - messageConverters.add(new StringHttpMessageConverter()); - messageConverters.add(new MappingJackson2HttpMessageConverter()); - restTemplate.setMessageConverters(messageConverters); - } - - @Override - public String shortenUrl(URL url) { - - Map request = new HashMap(); - request.put("longUrl", url.toString()); - LinkedHashMap shortUrl = restTemplate.postForObject(googleUrlShortener+"?key="+apiKey, request, LinkedHashMap.class); - - return shortUrl.get("id"); - } - -} -- GitLab