From 377a594a939cca2ec58be47a418ad1a23422c238 Mon Sep 17 00:00:00 2001 From: Damian Sniezek Date: Wed, 28 Jun 2017 13:58:11 +0200 Subject: [PATCH] Version 2.42 --- pom.xml | 2 +- .../java/com/testdroid/api/APIEntity.java | 5 +- .../java/com/testdroid/api/APIKeyClient.java | 20 ++++--- .../com/testdroid/api/DefaultAPIClient.java | 26 ++++++---- .../api/model/APIAdminDeviceProblem.java | 27 +++++++++- .../com/testdroid/api/model/APIDevice.java | 12 +++++ .../testdroid/api/model/APIDeviceFilter.java | 52 +++++++++++++++++++ .../api/model/APIDeviceFilterGroup.java | 52 +++++++++++++++++++ .../testdroid/api/model/APIDevicePicker.java | 41 +++++++++++++++ .../com/testdroid/api/model/APIProject.java | 13 ++++- .../com/testdroid/api/model/APIService.java | 16 +++--- .../api/model/enums/APIPaymentMethod.java | 3 +- .../java/com/testdroid/api/model/jaxb.index | 3 ++ 13 files changed, 240 insertions(+), 32 deletions(-) create mode 100644 src/main/java/com/testdroid/api/model/APIDeviceFilter.java create mode 100644 src/main/java/com/testdroid/api/model/APIDeviceFilterGroup.java create mode 100644 src/main/java/com/testdroid/api/model/APIDevicePicker.java diff --git a/pom.xml b/pom.xml index 1efdaa6f..57759704 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.testdroid testdroid-api - 2.41 + 2.42 jar Testdroid API v2 https://github.com/bitbar/testdroid-api diff --git a/src/main/java/com/testdroid/api/APIEntity.java b/src/main/java/com/testdroid/api/APIEntity.java index 951ed2f4..eae5c702 100644 --- a/src/main/java/com/testdroid/api/APIEntity.java +++ b/src/main/java/com/testdroid/api/APIEntity.java @@ -99,7 +99,10 @@ APIAdminInteractiveDeviceSession.class, APIUserIntegration.class, APIAdminDeviceSessionStatistics.class, - APIActivity.class + APIActivity.class, + APIDevicePicker.class, + APIDeviceFilter.class, + APIDeviceFilterGroup.class }) public abstract class APIEntity { diff --git a/src/main/java/com/testdroid/api/APIKeyClient.java b/src/main/java/com/testdroid/api/APIKeyClient.java index 982851a3..0763f17d 100644 --- a/src/main/java/com/testdroid/api/APIKeyClient.java +++ b/src/main/java/com/testdroid/api/APIKeyClient.java @@ -412,18 +412,18 @@ public APIUser register(String email) throws APIException { @Override public APIListResource getDevices() { - return new APIListResource(this, DEVICES_URI); + return new APIListResource<>(this, DEVICES_URI); } @Override public APIListResource getDevices(APIDevice.DeviceFilter... filters) { - return new APIListResource(this, DEVICES_URI, new APIDeviceQueryBuilder() + return new APIListResource<>(this, DEVICES_URI, new APIDeviceQueryBuilder() .filterWithDeviceFilters(filters)); } @Override public APIListResource getDevices(APIDeviceQueryBuilder queryBuilder) { - return new APIListResource(this, DEVICES_URI, queryBuilder); + return new APIListResource<>(this, DEVICES_URI, queryBuilder); } @Override @@ -483,13 +483,17 @@ private String buildUrl(String url, APIQueryBuilder queryBuilder) throws APIExce } } - private Map fixMapParameters(Map map) { - for (Object key : map.keySet()) { - if (map.get(key) == null) { + private Map fixMapParameters(Map map) { + String key; + Object value; + for (Map.Entry entry : map.entrySet()) { + key = entry.getKey(); + value = entry.getValue(); + if (value == null) { map.put(key, ""); } - if (map.get(key) instanceof Enum) { - map.put(key, map.get(key).toString()); + if (value instanceof Enum) { + map.put(key, value.toString()); } } return map; diff --git a/src/main/java/com/testdroid/api/DefaultAPIClient.java b/src/main/java/com/testdroid/api/DefaultAPIClient.java index 5301796a..815e9567 100644 --- a/src/main/java/com/testdroid/api/DefaultAPIClient.java +++ b/src/main/java/com/testdroid/api/DefaultAPIClient.java @@ -208,12 +208,12 @@ protected String acquireAccessToken() throws APIException { } GenericUrl url = new GenericUrl(String.format("%s/oauth/token", cloudURL)); - HttpContent content = new UrlEncodedContent(new HashMap() {{ - put("client_id", "testdroid-cloud-api"); - put("grant_type", "password"); - put("username", username); - put("password", password); - }}); + HashMap data = new HashMap(); + data.put("client_id", "testdroid-cloud-api"); + data.put("grant_type", "password"); + data.put("username", username); + data.put("password", password); + HttpContent content = new UrlEncodedContent(data); HttpRequest request = httpTransport.createRequestFactory().buildPostRequest(url, content); request.setConnectTimeout(HTTP_CONNECT_TIMEOUT); // one minute @@ -648,13 +648,17 @@ private String buildUrl(String url, APIQueryBuilder queryBuilder) throws APIExce } } - private Map fixMapParameters(Map map) { - for (Object key : map.keySet()) { - if (map.get(key) == null) { + private Map fixMapParameters(Map map) { + String key; + Object value; + for (Map.Entry entry : map.entrySet()) { + key = entry.getKey(); + value = entry.getValue(); + if (value == null) { map.put(key, ""); } - if (map.get(key) instanceof Enum) { - map.put(key, map.get(key).toString()); + if (value instanceof Enum) { + map.put(key, value.toString()); } } return map; diff --git a/src/main/java/com/testdroid/api/model/APIAdminDeviceProblem.java b/src/main/java/com/testdroid/api/model/APIAdminDeviceProblem.java index e8e5b1cd..79aad195 100644 --- a/src/main/java/com/testdroid/api/model/APIAdminDeviceProblem.java +++ b/src/main/java/com/testdroid/api/model/APIAdminDeviceProblem.java @@ -17,6 +17,10 @@ public class APIAdminDeviceProblem extends APIEntity { private Long deviceId; + private Long deviceModelId; + + private String deviceModelName; + private String deviceName; private APIAdminDeviceProblemPair[] problems; @@ -25,11 +29,14 @@ public APIAdminDeviceProblem() { } public APIAdminDeviceProblem( - Long clusterId, String clusterName, Long deviceId, String deviceName, APIAdminDeviceProblemPair[] problems) { + Long clusterId, String clusterName, Long deviceId, String deviceName, Long deviceModelId, + String deviceModelName, APIAdminDeviceProblemPair[] problems) { this.clusterId = clusterId; this.clusterName = clusterName; this.deviceId = deviceId; this.deviceName = deviceName; + this.deviceModelId = deviceModelId; + this.deviceModelName = deviceModelName; this.problems = problems; } @@ -65,6 +72,22 @@ public void setDeviceName(String deviceName) { this.deviceName = deviceName; } + public Long getDeviceModelId() { + return deviceModelId; + } + + public void setDeviceModelId(Long deviceModelId) { + this.deviceModelId = deviceModelId; + } + + public String getDeviceModelName() { + return deviceModelName; + } + + public void setDeviceModelName(String deviceModelName) { + this.deviceModelName = deviceModelName; + } + public APIAdminDeviceProblemPair[] getProblems() { return problems; } @@ -82,6 +105,8 @@ protected void clone(T from) { this.clusterName = apiAdminDeviceProblem.clusterName; this.deviceId = apiAdminDeviceProblem.deviceId; this.deviceName = apiAdminDeviceProblem.deviceName; + this.deviceModelId = apiAdminDeviceProblem.deviceModelId; + this.deviceModelName = apiAdminDeviceProblem.deviceModelName; this.problems = apiAdminDeviceProblem.problems; } } diff --git a/src/main/java/com/testdroid/api/model/APIDevice.java b/src/main/java/com/testdroid/api/model/APIDevice.java index be86207b..06f8ad47 100644 --- a/src/main/java/com/testdroid/api/model/APIDevice.java +++ b/src/main/java/com/testdroid/api/model/APIDevice.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonView; import com.testdroid.api.APIEntity; +import com.testdroid.api.APIList; import com.testdroid.api.APIView; import javax.xml.bind.annotation.XmlRootElement; @@ -88,6 +89,8 @@ public boolean isIos() { private String mainUserEmail; + private APIList properties; + public APIDevice() { } @@ -300,6 +303,14 @@ public void setMainUserEmail(String mainUserEmail) { this.mainUserEmail = mainUserEmail; } + public APIList getProperties() { + return properties; + } + + public void setProperties(APIList properties) { + this.properties = properties; + } + @Override @JsonIgnore protected void clone(T from) { @@ -325,6 +336,7 @@ protected void clone(T from) { this.enabled = apiDevice.enabled; this.accountId = apiDevice.accountId; this.mainUserEmail = apiDevice.mainUserEmail; + this.properties = apiDevice.properties; } } diff --git a/src/main/java/com/testdroid/api/model/APIDeviceFilter.java b/src/main/java/com/testdroid/api/model/APIDeviceFilter.java new file mode 100644 index 00000000..f5b6f42f --- /dev/null +++ b/src/main/java/com/testdroid/api/model/APIDeviceFilter.java @@ -0,0 +1,52 @@ +package com.testdroid.api.model; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.testdroid.api.APIEntity; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * @author Michał Szpruta + */ +@XmlRootElement +public class APIDeviceFilter extends APIEntity { + + private String name; + + private boolean hidden; + + public APIDeviceFilter() { + } + + public APIDeviceFilter(Long id, String name, boolean hidden) { + super(id); + this.name = name; + this.hidden = hidden; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public boolean isHidden() { + return hidden; + } + + public void setHidden(boolean hidden) { + this.hidden = hidden; + } + + @Override + @JsonIgnore + protected void clone(T from) { + APIDeviceFilter apiDeviceFilter = (APIDeviceFilter) from; + cloneBase(from); + this.name = apiDeviceFilter.name; + this.hidden = apiDeviceFilter.hidden; + } + +} diff --git a/src/main/java/com/testdroid/api/model/APIDeviceFilterGroup.java b/src/main/java/com/testdroid/api/model/APIDeviceFilterGroup.java new file mode 100644 index 00000000..6243b4f9 --- /dev/null +++ b/src/main/java/com/testdroid/api/model/APIDeviceFilterGroup.java @@ -0,0 +1,52 @@ +package com.testdroid.api.model; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.testdroid.api.APIEntity; + +import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; +import java.util.List; + +/** + * @author Michał Szpruta + */ +@XmlRootElement +public class APIDeviceFilterGroup extends APIEntity { + + private String name; + + private List deviceFilters = new ArrayList<>(); + + public APIDeviceFilterGroup() { + } + + public APIDeviceFilterGroup(Long id, String name) { + super(id); + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getDeviceFilters() { + return deviceFilters; + } + + public void setDeviceFilters(List deviceFilters) { + this.deviceFilters = deviceFilters; + } + + @Override + @JsonIgnore + protected void clone(T from) { + APIDeviceFilterGroup apiDeviceFilterGroup = (APIDeviceFilterGroup) from; + cloneBase(from); + this.name = apiDeviceFilterGroup.name; + this.deviceFilters = apiDeviceFilterGroup.deviceFilters; + } +} diff --git a/src/main/java/com/testdroid/api/model/APIDevicePicker.java b/src/main/java/com/testdroid/api/model/APIDevicePicker.java new file mode 100644 index 00000000..544cdb22 --- /dev/null +++ b/src/main/java/com/testdroid/api/model/APIDevicePicker.java @@ -0,0 +1,41 @@ +package com.testdroid.api.model; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.testdroid.api.APIEntity; + +import javax.xml.bind.annotation.XmlRootElement; +import java.util.ArrayList; +import java.util.List; + +/** + * @author Michał Szpruta + */ +@XmlRootElement +public class APIDevicePicker extends APIEntity { + + private List deviceFilterGroups = new ArrayList<>(); + + public APIDevicePicker() { + } + + public APIDevicePicker(Long id, List deviceFilterGroups) { + super(id); + this.deviceFilterGroups = deviceFilterGroups; + } + + public List getDeviceFilterGroups() { + return deviceFilterGroups; + } + + public void setDeviceFilterGroups(List deviceFilterGroups) { + this.deviceFilterGroups = deviceFilterGroups; + } + + @Override + @JsonIgnore + protected void clone(T from) { + APIDevicePicker apiDevicePicker = (APIDevicePicker) from; + this.deviceFilterGroups = apiDevicePicker.deviceFilterGroups; + cloneBase(from); + } +} diff --git a/src/main/java/com/testdroid/api/model/APIProject.java b/src/main/java/com/testdroid/api/model/APIProject.java index 3399d0ac..b6bb4c83 100644 --- a/src/main/java/com/testdroid/api/model/APIProject.java +++ b/src/main/java/com/testdroid/api/model/APIProject.java @@ -97,13 +97,15 @@ public APIProjectJobConfig.Type getJobConfigType() { private Long frameworkId; + private boolean isShared; + public APIProject() { } public APIProject( Long id, Date createTime, Date archiveTime, String name, String description, Type type, Long sharedById, String sharedByEmail, boolean common, APIArchivingStrategy archivingStrategy, Integer archivingItemCount, - Long frameworkId) { + Long frameworkId, Boolean isShared) { super(id); this.createTime = createTime; this.archiveTime = archiveTime; @@ -116,6 +118,7 @@ public APIProject( this.archivingStrategy = archivingStrategy; this.archivingItemCount = archivingItemCount; this.frameworkId = frameworkId; + this.isShared = isShared; this.jobConfig = new HashMap<>(); } @@ -188,6 +191,14 @@ public void setSharedByEmail(String sharedByEmail) { this.sharedByEmail = sharedByEmail; } + public boolean isShared() { + return isShared; + } + + public void setShared(boolean isShared) { + this.isShared = isShared; + } + public APIArchivingStrategy getArchivingStrategy() { return archivingStrategy; } diff --git a/src/main/java/com/testdroid/api/model/APIService.java b/src/main/java/com/testdroid/api/model/APIService.java index ad0c79ce..f6bf6fd4 100644 --- a/src/main/java/com/testdroid/api/model/APIService.java +++ b/src/main/java/com/testdroid/api/model/APIService.java @@ -16,7 +16,7 @@ public class APIService extends APIEntity { private boolean autoRenew; - private String braintreeId; + private String externalId; private Integer centPrice; @@ -42,7 +42,7 @@ public APIService() { } public APIService(Long id, String name, String description, boolean autoRenew, Integer centPrice, - Integer includedHours, Integer pricePerHour, String braintreeId, Date archiveTime, Date activateTime, + Integer includedHours, Integer pricePerHour, String externalId, Date archiveTime, Date activateTime, Unit unit, Integer unitCount, boolean customPlan) { super(id); this.name = name; @@ -51,7 +51,7 @@ public APIService(Long id, String name, String description, boolean autoRenew, I this.centPrice = centPrice; this.includedHours = includedHours; this.pricePerHour = pricePerHour; - this.braintreeId = braintreeId; + this.externalId = externalId; this.archiveTime = archiveTime; this.activateTime = activateTime; this.unit = unit; @@ -85,7 +85,7 @@ protected void clone(T from) { this.centPrice = apiService.centPrice; this.unitCount = apiService.unitCount; this.unit = apiService.unit; - this.braintreeId = apiService.braintreeId; + this.externalId = apiService.externalId; this.includedHours = apiService.includedHours; this.pricePerHour = apiService.pricePerHour; this.archiveTime = apiService.archiveTime; @@ -125,12 +125,12 @@ public void setUnitCount(Integer unitCount) { this.unitCount = unitCount; } - public String getBraintreeId() { - return braintreeId; + public String getExternalId() { + return externalId; } - public void setBraintreeId(String braintreeId) { - this.braintreeId = braintreeId; + public void setExternalId(String externalId) { + this.externalId = externalId; } public String getPriceString() { diff --git a/src/main/java/com/testdroid/api/model/enums/APIPaymentMethod.java b/src/main/java/com/testdroid/api/model/enums/APIPaymentMethod.java index b7ff904d..7e62ca35 100644 --- a/src/main/java/com/testdroid/api/model/enums/APIPaymentMethod.java +++ b/src/main/java/com/testdroid/api/model/enums/APIPaymentMethod.java @@ -8,5 +8,6 @@ public enum APIPaymentMethod { BRAINTREE, INVOICE, PROMOTION, - BLUEMIX + BLUEMIX, + AWS } diff --git a/src/main/java/com/testdroid/api/model/jaxb.index b/src/main/java/com/testdroid/api/model/jaxb.index index 2f95eb7e..d1cc7529 100644 --- a/src/main/java/com/testdroid/api/model/jaxb.index +++ b/src/main/java/com/testdroid/api/model/jaxb.index @@ -63,3 +63,6 @@ APISession APIUserIntegration APIAdminDeviceSessionStatistics APIActivity +APIDevicePicker +APIDeviceFilter +APIDeviceFilterGroup