Skip to content

Commit 39e45d4

Browse files
committed
Add Analytics support
1 parent ea3c262 commit 39e45d4

File tree

4 files changed

+15
-21
lines changed

4 files changed

+15
-21
lines changed

cloudinary-core/src/main/java/com/cloudinary/Cloudinary.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,9 +155,9 @@ public void setUserAgent(String prefix, String version){
155155
}
156156

157157
/**
158-
* Set the prefix and version for the user agent that will be sent with every API call
158+
* Set the analytics object that will be sent with every URL generation call.
159159
* a userAgent is built from `prefix/version (additional data)`
160-
* @param analytics - the analytics objec to set
160+
* @param analytics - the analytics object to set
161161
*/
162162
public void setAnalytics(Analytics analytics) {
163163
this.analytics = analytics;

cloudinary-core/src/main/java/com/cloudinary/utils/Analytics.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
import java.util.List;
55

66
public class Analytics {
7-
private String sdkTokenQueryKey = "_a="; //sdkTokenQueryKey
7+
private String sdkTokenQueryKey = "_a"; //sdkTokenQueryKey
8+
private String sdkQueryDelimiter = "=";
89
public String algoVersion = "A";
910
public String SDKCode = ""; // Java = G, Android = F
1011
public String SDKSemver = ""; // Calculate the SDK version .
@@ -42,9 +43,9 @@ public Analytics setTechVersion(String techVersion) {
4243
*/
4344
public String toQueryParam() {
4445
try {
45-
return sdkTokenQueryKey + getAlgorithmVersion() + getSDKType() + getSDKVersion() + getTechVersion() + getSDKFeatureCode();
46+
return sdkTokenQueryKey + sdkQueryDelimiter + getAlgorithmVersion() + getSDKType() + getSDKVersion() + getTechVersion() + getSDKFeatureCode();
4647
} catch (Exception e) {
47-
return sdkTokenQueryKey + "E";
48+
return sdkTokenQueryKey + sdkQueryDelimiter + "E";
4849
}
4950
}
5051

@@ -91,7 +92,7 @@ private String getPaddedString(String string) throws Exception {
9192
}
9293

9394
String result = "";
94-
List<String> resultList = StringUtils.usingPattern(paddedBinary,6);
95+
List<String> resultList = StringUtils.getAllSubStringWithSize(paddedBinary,6);
9596
int i = 0;
9697
while (i < resultList.size()) {
9798
result = result + Base64Map.values.get(resultList.get(i));

cloudinary-core/src/main/java/com/cloudinary/utils/StringUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ public static String padStart(String inputString, int length, char paddingCharac
436436
* @param n Size of group
437437
* @return List with all strings with group size n.
438438
*/
439-
public static List<String> usingPattern(String text, int n) {
439+
public static List<String> getAllSubStringWithSize(String text, int n) {
440440
List<String> results = new ArrayList<>();
441441

442442
Pattern pattern = Pattern.compile(".{1," + n + "}");

cloudinary-core/src/test/java/com/cloudinary/analytics/AnalyticsTest.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22

33
import com.cloudinary.Cloudinary;
44
import com.cloudinary.utils.Analytics;
5-
import org.junit.Assert;
6-
import org.junit.Before;
7-
import org.junit.Rule;
8-
import org.junit.Test;
5+
import org.junit.*;
96
import org.junit.rules.TestName;
107

118
public class AnalyticsTest {
@@ -34,34 +31,26 @@ public void testUrlWithAnalytics() {
3431
cloudinary.setAnalytics(new Analytics("F", "2.0.0", "1.8.0"));
3532
String url = cloudinary.url().generate("test");
3633
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test?_a=AFAACMh0");
37-
cloudinary.config.analytics = false;
38-
cloudinary.analytics = null;
3934
}
4035

4136
@Test
4237
public void testUrlWithNoAnalytics() {
4338
String url = cloudinary.url().generate("test");
4439
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test");
45-
cloudinary.config.analytics = false;
46-
cloudinary.analytics = null;
4740
}
4841

4942
@Test
5043
public void testUrlWithNoAnalyticsDefined() {
5144
cloudinary.config.analytics = false;
5245
String url = cloudinary.url().generate("test");
5346
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test");
54-
cloudinary.config.analytics = false;
55-
cloudinary.analytics = null;
5647
}
5748

5849
@Test
5950
public void testUrlWithNoAnalyticsNull() {
6051
cloudinary.analytics = null;
6152
String url = cloudinary.url().generate("test");
6253
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test");
63-
cloudinary.config.analytics = false;
64-
cloudinary.analytics = null;
6554
}
6655

6756
@Test
@@ -70,8 +59,6 @@ public void testUrlWithNoAnalyticsNullAndTrue() {
7059
cloudinary.analytics = null;
7160
String url = cloudinary.url().generate("test");
7261
Assert.assertEquals(url, "http://res.cloudinary.com/test123/image/upload/test");
73-
cloudinary.config.analytics = false;
74-
cloudinary.analytics = null;
7562
}
7663

7764
@Test
@@ -90,4 +77,10 @@ public void testErrorAnalytics() {
9077
Assert.assertEquals(result, "_a=E");
9178
}
9279

80+
@After
81+
public void tearDown() {
82+
cloudinary.config.analytics = false;
83+
cloudinary.analytics = null;
84+
}
85+
9386
}

0 commit comments

Comments
 (0)