Compare commits

..

15 Commits

Author SHA1 Message Date
norm-traxler
8a0faff455 Merge pull request #23 from Telecominfraproject/WIFI-4415
[Wifi 4415] remove unnecessary code
2021-09-27 15:24:04 -04:00
Thomas-Leung2021
b7d396c6ce [WIFI-4415] remove unnecessary code 2021-09-27 13:25:06 -04:00
norm-traxler
92b97c832a Merge pull request #22 from Telecominfraproject/WIFI-4415
[WIFI-4415] Add Gateway and backend support to turn LED on/off
2021-09-27 10:56:37 -04:00
Thomas Leung
e8dd8724fb Merged in NETEXP-2959 (pull request #3)
[NETEXP-2959] update LedStatus to pass tests

Approved-by: mike.hansen
2021-09-24 16:53:44 -04:00
norm-traxler
3fb4dd16b8 Merge pull request #21 from Telecominfraproject/WIFI-3471
WIFI-3471 Update SDK master to use image tag 1.3.0-SNAPSHOT
2021-08-17 16:34:20 -04:00
norm-traxler
caa99afda1 Merge pull request #20 from Telecominfraproject/WIFI-3416-Remove-RestOperationsWithMetrics
WIFI-3416  Remove RestOperationsWithMetrics
2021-08-16 16:59:33 -04:00
Akshay Jagadish
e531cb8597 WIFI-3471 Update SDK master to use image tag 1.3.0-SNAPSHOT 2021-08-13 13:02:33 -04:00
Thomas Currie
b38393ec20 remove unused import 2021-08-12 14:12:11 -04:00
Thomas Currie
b14f57887f replace our custom RestTemplate class with the default one from Spring. 2021-08-12 10:27:29 -04:00
norm-traxler
267fb477a3 Merge pull request #19 from Telecominfraproject/WIFI-3224-Remote-client-mediatype
[WIFI-3224] change BaseRemoteClient from json contentType from UTF-8 …
2021-07-23 11:54:14 -04:00
Norm Traxler
04c844c2e2 [WIFI-3224] change BaseRemoteClient from json contentType from UTF-8 to UTF-16 (default) 2021-07-23 11:42:19 -04:00
Mike Hansen
72da490a3b Merge pull request #18 from Telecominfraproject/WIFI-3022
[WIFI-3022] fix for getting 00:00:00:00:00:00 mac address
2021-07-14 14:21:48 -04:00
Thomas-Leung2021
bb9c3ba1eb [WIFI-3022] add null checks convertMacStringToLongValue() 2021-07-14 13:53:49 -04:00
Thomas-Leung2021
7dd594644e [WIFI-3022] fix for getting 00:00:00:00:00:00 mac address 2021-07-13 17:33:46 -04:00
Mike Hansen
4c15a9650b Merge pull request #17 from Telecominfraproject/add-http-client-exception-to-tip-error-handler
add basePackes property back to CommonControllerAdvice. Add HttpClien…
2021-06-15 10:22:20 -04:00
30 changed files with 76 additions and 915 deletions

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-cassandra-tests</artifactId>
@@ -14,7 +14,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-cassandra</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-cassandra</artifactId>
@@ -14,7 +14,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>cloud-metrics</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-client</artifactId>
@@ -14,25 +14,25 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-container</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-exceptions</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>cloud-metrics</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>

View File

@@ -1,7 +1,5 @@
package com.telecominfraproject.wlan.core.client;
import java.nio.charset.StandardCharsets;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.http.HttpHeaders;
@@ -22,20 +20,15 @@ public abstract class BaseRemoteClient {
protected HttpHeaders headers = new HttpHeaders();
{
headers.setContentType(new MediaType("application", "json", StandardCharsets.UTF_8));
// Note: APPLICATION_JSON_UTF8 is deprecated
headers.setContentType(MediaType.APPLICATION_JSON);
//Accept-Encoding: gzip,deflate
headers.set("Accept-Encoding", "gzip,deflate");
}
@Autowired
private void setRestTemplate(RestOperations restTemplate) {
//build user-friendly metrics Id - remove $$EnhancedByCGlib... at the end of the class name
String metricsId = this.getClass().getSimpleName();
int idx = metricsId.indexOf('$');
if(idx>0){
metricsId = metricsId.substring(0, idx);
}
this.restTemplate = new RestOperationsWithMetrics(restTemplate, metricsId);
this.restTemplate = restTemplate;
}
protected String getBaseUrlFromEnvironment(String urlPropName, String defaultUrlPropName) {

View File

@@ -1,842 +0,0 @@
package com.telecominfraproject.wlan.core.client;
import java.net.URI;
import java.util.Map;
import java.util.Set;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.RequestEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RequestCallback;
import org.springframework.web.client.ResponseExtractor;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestOperations;
import com.netflix.servo.DefaultMonitorRegistry;
import com.netflix.servo.monitor.BasicCounter;
import com.netflix.servo.monitor.BasicTimer;
import com.netflix.servo.monitor.Counter;
import com.netflix.servo.monitor.MonitorConfig;
import com.netflix.servo.monitor.Stopwatch;
import com.netflix.servo.monitor.Timer;
import com.netflix.servo.tag.TagList;
import com.telecominfraproject.wlan.cloudmetrics.CloudMetricsTags;
public class RestOperationsWithMetrics implements RestOperations{
final RestOperations delegate;
private final TagList tags = CloudMetricsTags.commonTags;
private final Counter getsExecuted;
private final Counter postsExecuted;
private final Counter putsExecuted;
private final Counter deletesExecuted;
private final Counter exchangesExecuted;
private final Counter headsExecuted;
private final Counter optionsExecuted;
private final Counter execsExecuted;
private final Counter patchesExecuted;
private final Counter getsErrors;
private final Counter postsErrors;
private final Counter putsErrors;
private final Counter deletesErrors;
private final Counter exchangesErrors;
private final Counter headsErrors;
private final Counter optionsErrors;
private final Counter execsErrors;
private final Counter patchesErrors;
private final Timer getsTimer;
private final Timer postsTimer;
private final Timer putsTimer;
private final Timer deletesTimer;
private final Timer exchangesTimer;
private final Timer headsTimer;
private final Timer optionsTimer;
private final Timer execsTimer;
private final Timer patchesTimer;
public RestOperationsWithMetrics(RestOperations delegate, String metricsId){
this.delegate = delegate;
//Monitors.registerObject("RestTemplate-"+metricsId, this);
getsExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-getsExecuted").withTags(tags).build());
postsExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-postsExecuted").withTags(tags).build());
putsExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-putsExecuted").withTags(tags).build());
deletesExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-deletesExecuted").withTags(tags).build());
exchangesExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-exchangesExecuted").withTags(tags).build());
headsExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-headsExecuted").withTags(tags).build());
optionsExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-optionsExecuted").withTags(tags).build());
execsExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-execsExecuted").withTags(tags).build());
patchesExecuted = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-patchesExecuted").withTags(tags).build());
getsErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-getsErrors").withTags(tags).build());
postsErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-postsErrors").withTags(tags).build());
putsErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-putsErrors").withTags(tags).build());
deletesErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-deletesErrors").withTags(tags).build());
exchangesErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-exchangesErrors").withTags(tags).build());
headsErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-headsErrors").withTags(tags).build());
optionsErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-optionsErrors").withTags(tags).build());
execsErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-execsErrors").withTags(tags).build());
patchesErrors = new BasicCounter(MonitorConfig.builder("RestTemplate-"+metricsId+"-patchesErrors").withTags(tags).build());
getsTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-getsTimer").withTags(tags).build());
postsTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-postsTimer").withTags(tags).build());
putsTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-putsTimer").withTags(tags).build());
deletesTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-deletesTimer").withTags(tags).build());
exchangesTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-exchangesTimer").withTags(tags).build());
headsTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-headsTimer").withTags(tags).build());
optionsTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-optionsTimer").withTags(tags).build());
execsTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-execsTimer").withTags(tags).build());
patchesTimer = new BasicTimer(MonitorConfig.builder("RestTemplate-"+metricsId+"-patchesTimer").withTags(tags).build());
DefaultMonitorRegistry.getInstance().register(getsExecuted);
DefaultMonitorRegistry.getInstance().register(postsExecuted);
DefaultMonitorRegistry.getInstance().register(putsExecuted);
DefaultMonitorRegistry.getInstance().register(deletesExecuted);
DefaultMonitorRegistry.getInstance().register(exchangesExecuted);
DefaultMonitorRegistry.getInstance().register(headsExecuted);
DefaultMonitorRegistry.getInstance().register(optionsExecuted);
DefaultMonitorRegistry.getInstance().register(execsExecuted);
DefaultMonitorRegistry.getInstance().register(getsErrors);
DefaultMonitorRegistry.getInstance().register(postsErrors);
DefaultMonitorRegistry.getInstance().register(putsErrors);
DefaultMonitorRegistry.getInstance().register(deletesErrors);
DefaultMonitorRegistry.getInstance().register(exchangesErrors);
DefaultMonitorRegistry.getInstance().register(headsErrors);
DefaultMonitorRegistry.getInstance().register(optionsErrors);
DefaultMonitorRegistry.getInstance().register(execsErrors);
DefaultMonitorRegistry.getInstance().register(getsTimer);
DefaultMonitorRegistry.getInstance().register(postsTimer);
DefaultMonitorRegistry.getInstance().register(putsTimer);
DefaultMonitorRegistry.getInstance().register(deletesTimer);
DefaultMonitorRegistry.getInstance().register(exchangesTimer);
DefaultMonitorRegistry.getInstance().register(headsTimer);
DefaultMonitorRegistry.getInstance().register(optionsTimer);
DefaultMonitorRegistry.getInstance().register(execsTimer);
}
public <T> T getForObject(String url, Class<T> responseType, Object... uriVariables) throws RestClientException {
getsExecuted.increment();
Stopwatch s = getsTimer.start();
boolean success = false;
try{
T ret = delegate.getForObject(url, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
getsErrors.increment();
}
}
}
public <T> T getForObject(String url, Class<T> responseType, Map<String, ?> uriVariables)
throws RestClientException {
getsExecuted.increment();
Stopwatch s = getsTimer.start();
boolean success = false;
try{
T ret = delegate.getForObject(url, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
getsErrors.increment();
}
}
}
public <T> T getForObject(URI url, Class<T> responseType) throws RestClientException {
getsExecuted.increment();
Stopwatch s = getsTimer.start();
boolean success = false;
try{
T ret = delegate.getForObject(url, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
getsErrors.increment();
}
}
}
public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... uriVariables)
throws RestClientException {
getsExecuted.increment();
Stopwatch s = getsTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.getForEntity(url, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
getsErrors.increment();
}
}
}
public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Map<String, ?> uriVariables)
throws RestClientException {
getsExecuted.increment();
Stopwatch s = getsTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.getForEntity(url, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
getsErrors.increment();
}
}
}
public <T> ResponseEntity<T> getForEntity(URI url, Class<T> responseType) throws RestClientException {
getsExecuted.increment();
Stopwatch s = getsTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.getForEntity(url, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
getsErrors.increment();
}
}
}
public HttpHeaders headForHeaders(String url, Object... uriVariables) throws RestClientException {
headsExecuted.increment();
Stopwatch s = headsTimer.start();
boolean success = false;
try{
HttpHeaders ret = delegate.headForHeaders(url, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
headsErrors.increment();
}
}
}
public HttpHeaders headForHeaders(String url, Map<String, ?> uriVariables) throws RestClientException {
headsExecuted.increment();
Stopwatch s = headsTimer.start();
boolean success = false;
try{
HttpHeaders ret = delegate.headForHeaders(url, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
headsErrors.increment();
}
}
}
public HttpHeaders headForHeaders(URI url) throws RestClientException {
headsExecuted.increment();
Stopwatch s = headsTimer.start();
boolean success = false;
try{
HttpHeaders ret = delegate.headForHeaders(url);
success = true;
return ret;
}finally{
s.stop();
if(!success){
headsErrors.increment();
}
}
}
public URI postForLocation(String url, Object request, Object... uriVariables) throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
URI ret = delegate.postForLocation(url, request, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public URI postForLocation(String url, Object request, Map<String, ?> uriVariables) throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
URI ret = delegate.postForLocation(url, request, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public URI postForLocation(URI url, Object request) throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
URI ret = delegate.postForLocation(url, request);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public <T> T postForObject(String url, Object request, Class<T> responseType, Object... uriVariables)
throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
T ret = delegate.postForObject(url, request, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public <T> T postForObject(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)
throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
T ret = delegate.postForObject(url, request, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public <T> T postForObject(URI url, Object request, Class<T> responseType) throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
T ret = delegate.postForObject(url, request, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType,
Object... uriVariables) throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.postForEntity(url, request, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType,
Map<String, ?> uriVariables) throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.postForEntity(url, request, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public <T> ResponseEntity<T> postForEntity(URI url, Object request, Class<T> responseType)
throws RestClientException {
postsExecuted.increment();
Stopwatch s = postsTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.postForEntity(url, request, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
postsErrors.increment();
}
}
}
public void put(String url, Object request, Object... uriVariables) throws RestClientException {
putsExecuted.increment();
Stopwatch s = putsTimer.start();
boolean success = false;
try{
delegate.put(url, request, uriVariables);
success = true;
}finally{
s.stop();
if(!success){
putsErrors.increment();
}
}
}
public void put(String url, Object request, Map<String, ?> uriVariables) throws RestClientException {
putsExecuted.increment();
Stopwatch s = putsTimer.start();
boolean success = false;
try{
delegate.put(url, request, uriVariables);
success = true;
}finally{
s.stop();
if(!success){
putsErrors.increment();
}
}
}
public void put(URI url, Object request) throws RestClientException {
putsExecuted.increment();
Stopwatch s = putsTimer.start();
boolean success = false;
try{
delegate.put(url, request);
success = true;
}finally{
s.stop();
if(!success){
putsErrors.increment();
}
}
}
public void delete(String url, Object... uriVariables) throws RestClientException {
deletesExecuted.increment();
Stopwatch s = deletesTimer.start();
boolean success = false;
try{
delegate.delete(url, uriVariables);
success = true;
}finally{
s.stop();
if(!success){
deletesErrors.increment();
}
}
}
public void delete(String url, Map<String, ?> uriVariables) throws RestClientException {
deletesExecuted.increment();
Stopwatch s = deletesTimer.start();
boolean success = false;
try{
delegate.delete(url, uriVariables);
success = true;
}finally{
s.stop();
if(!success){
deletesErrors.increment();
}
}
}
public void delete(URI url) throws RestClientException {
deletesExecuted.increment();
Stopwatch s = deletesTimer.start();
boolean success = false;
try{
delegate.delete(url);
success = true;
}finally{
s.stop();
if(!success){
deletesErrors.increment();
}
}
}
public Set<HttpMethod> optionsForAllow(String url, Object... uriVariables) throws RestClientException {
optionsExecuted.increment();
Stopwatch s = optionsTimer.start();
boolean success = false;
try{
Set<HttpMethod> ret = delegate.optionsForAllow(url, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
optionsErrors.increment();
}
}
}
public Set<HttpMethod> optionsForAllow(String url, Map<String, ?> uriVariables) throws RestClientException {
optionsExecuted.increment();
Stopwatch s = optionsTimer.start();
boolean success = false;
try{
Set<HttpMethod> ret = delegate.optionsForAllow(url, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
optionsErrors.increment();
}
}
}
public Set<HttpMethod> optionsForAllow(URI url) throws RestClientException {
optionsExecuted.increment();
Stopwatch s = optionsTimer.start();
boolean success = false;
try{
Set<HttpMethod> ret = delegate.optionsForAllow(url);
success = true;
return ret;
}finally{
s.stop();
if(!success){
optionsErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity,
Class<T> responseType, Object... uriVariables) throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(url, method, requestEntity, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity,
Class<T> responseType, Map<String, ?> uriVariables) throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(url, method, requestEntity, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(URI url, HttpMethod method, HttpEntity<?> requestEntity,
Class<T> responseType) throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(url, method, requestEntity, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity,
ParameterizedTypeReference<T> responseType, Object... uriVariables) throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(url, method, requestEntity, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity,
ParameterizedTypeReference<T> responseType, Map<String, ?> uriVariables) throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(url, method, requestEntity, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(URI url, HttpMethod method, HttpEntity<?> requestEntity,
ParameterizedTypeReference<T> responseType) throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(url, method, requestEntity, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, Class<T> responseType)
throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(requestEntity, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> ResponseEntity<T> exchange(RequestEntity<?> requestEntity, ParameterizedTypeReference<T> responseType)
throws RestClientException {
exchangesExecuted.increment();
Stopwatch s = exchangesTimer.start();
boolean success = false;
try{
ResponseEntity<T> ret = delegate.exchange(requestEntity, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
exchangesErrors.increment();
}
}
}
public <T> T execute(String url, HttpMethod method, RequestCallback requestCallback,
ResponseExtractor<T> responseExtractor, Object... uriVariables) throws RestClientException {
execsExecuted.increment();
Stopwatch s = execsTimer.start();
boolean success = false;
try{
T ret = delegate.execute(url, method, requestCallback, responseExtractor, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
execsErrors.increment();
}
}
}
public <T> T execute(String url, HttpMethod method, RequestCallback requestCallback,
ResponseExtractor<T> responseExtractor, Map<String, ?> uriVariables) throws RestClientException {
execsExecuted.increment();
Stopwatch s = execsTimer.start();
boolean success = false;
try{
T ret = delegate.execute(url, method, requestCallback, responseExtractor, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
execsErrors.increment();
}
}
}
public <T> T execute(URI url, HttpMethod method, RequestCallback requestCallback,
ResponseExtractor<T> responseExtractor) throws RestClientException {
execsExecuted.increment();
Stopwatch s = execsTimer.start();
boolean success = false;
try{
T ret = delegate.execute(url, method, requestCallback, responseExtractor);
success = true;
return ret;
}finally{
s.stop();
if(!success){
execsErrors.increment();
}
}
}
@Override
public <T> T patchForObject(String url, Object request, Class<T> responseType, Object... uriVariables)
throws RestClientException {
patchesExecuted.increment();
Stopwatch s = patchesTimer.start();
boolean success = false;
try{
T ret = delegate.patchForObject(url, request, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
patchesErrors.increment();
}
}
}
@Override
public <T> T patchForObject(String url, Object request, Class<T> responseType, Map<String, ?> uriVariables)
throws RestClientException {
patchesExecuted.increment();
Stopwatch s = patchesTimer.start();
boolean success = false;
try{
T ret = delegate.patchForObject(url, request, responseType, uriVariables);
success = true;
return ret;
}finally{
s.stop();
if(!success){
patchesErrors.increment();
}
}
}
@Override
public <T> T patchForObject(URI url, Object request, Class<T> responseType) throws RestClientException {
patchesExecuted.increment();
Stopwatch s = patchesTimer.start();
boolean success = false;
try{
T ret = delegate.patchForObject(url, request, responseType);
success = true;
return ret;
}finally{
s.stop();
if(!success){
patchesErrors.increment();
}
}
}
}

View File

@@ -8,7 +8,7 @@ import org.springframework.core.env.Environment;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.web.client.RestOperations;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
@@ -18,7 +18,7 @@ public class PingClientTest {
PingClient pingClient = mock(PingClient.class, CALLS_REAL_METHODS);
RestOperations restTemplate = mock(RestOperationsWithMetrics.class);
RestTemplate restTemplate = mock(RestTemplate.class);
Environment env = mock(Environment.class);

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-container</artifactId>
@@ -18,7 +18,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
@@ -32,7 +32,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>cloud-metrics</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<!-- Auth0 dependencies -->

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-datastore-inmemory</artifactId>
@@ -13,7 +13,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-exceptions</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-elasticsearch</artifactId>
@@ -14,12 +14,12 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-exceptions</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<!-- ElasticSearch dependencies -->
<dependency>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-exceptions</artifactId>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-hazelcast-client</artifactId>
@@ -21,12 +21,12 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>common-hazelcast</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-hierarchical-datastore</artifactId>
@@ -13,17 +13,17 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-hazelcast-client</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>cloud-metrics</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-jdbc-tests</artifactId>
@@ -16,7 +16,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-jdbc</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-jdbc</artifactId>
@@ -41,7 +41,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>cloud-metrics</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
@@ -15,7 +15,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-models</artifactId>
@@ -14,20 +14,20 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-exceptions</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>json-patch-tip</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<!-- this is used to register all subclasses of BaseJsonModel for deserialization -->
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>reflections-tip</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->

View File

@@ -0,0 +1,9 @@
package com.telecominfraproject.wlan.core.model.equipment;
public enum LedStatus {
led_on,
led_off,
led_blink,
UNKNOWN;
}

View File

@@ -82,9 +82,10 @@ public class MacAddress extends BaseJsonModel implements Comparable<MacAddress>
}
sb.setLength(sb.length() - 1);
return sb.toString();
}
return sb.toString();
return null;
}
@JsonIgnore
@@ -163,7 +164,7 @@ public class MacAddress extends BaseJsonModel implements Comparable<MacAddress>
private static byte[] stringToByteArray(String str) {
if (str == null)
if (str == null || str.equals(""))
{
return null;
}
@@ -300,7 +301,7 @@ public class MacAddress extends BaseJsonModel implements Comparable<MacAddress>
byte[] bval = stringToByteArray(macStr);
if (bval.length >= 6) {
if (bval != null && bval.length >= 6) {
long mac = 0;
for (var i = 0; i < 6; i++) {
long t = (bval[i] & 0xffL) << ((5 - i) * 8);

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-partitioner</artifactId>
@@ -13,7 +13,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-hazelcast-client</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-remote-tests</artifactId>
@@ -14,7 +14,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-tx-tests</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-scheduler</artifactId>
@@ -14,7 +14,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-stream-consumer</artifactId>
@@ -14,13 +14,13 @@
<dependency>
<artifactId>base-models</artifactId>
<groupId>com.telecominfraproject.wlan</groupId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>cloud-metrics</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-stream-interface</artifactId>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>base-tx-tests</artifactId>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>cloud-metrics</artifactId>
@@ -13,18 +13,18 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-exceptions</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-elasticsearch</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>common-hazelcast</artifactId>
@@ -19,7 +19,7 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-models</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>

View File

@@ -5,7 +5,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>reflections-tip</artifactId>

View File

@@ -3,7 +3,7 @@
<parent>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>tip-wlan-cloud-root-pom</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
<relativePath>../../wlan-cloud-root</relativePath>
</parent>
<artifactId>webtoken-auth-service</artifactId>
@@ -14,13 +14,13 @@
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-container</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.telecominfraproject.wlan</groupId>
<artifactId>base-client</artifactId>
<version>1.2.0-SNAPSHOT</version>
<version>1.3.0-SNAPSHOT</version>
</dependency>
</dependencies>