Skip to content

Commit 5839c0b

Browse files
committed
scrub UrlBuilderStrategy, enable crippled core mode without loading strategies, move core test to core
1 parent b49b585 commit 5839c0b

File tree

10 files changed

+23
-626
lines changed

10 files changed

+23
-626
lines changed

cloudinary-android-test/src/main/java/com/cloudinary/test/CloudinaryTest.java

Lines changed: 0 additions & 489 deletions
This file was deleted.

cloudinary-android/src/main/java/com/cloudinary/android/UrlBuilderStrategy.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

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

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import com.cloudinary.strategies.AbstractApiStrategy;
1919
import com.cloudinary.strategies.AbstractUploaderStrategy;
20-
import com.cloudinary.strategies.AbstractUrlBuilderStrategy;
2120
import com.cloudinary.strategies.StrategyLoader;
2221
import com.cloudinary.utils.ObjectUtils;
2322
import com.cloudinary.utils.StringUtils;
@@ -35,11 +34,6 @@ public class Cloudinary {
3534
"com.cloudinary.http42.ApiStrategy",
3635
"com.cloudinary.http43.ApiStrategy",
3736
"com.cloudinary.http44.ApiStrategy" ));
38-
private static List<String> URLBUILDER_STRATEGIES = new ArrayList<String>(Arrays.asList(
39-
"com.cloudinary.android.UrlBuilderStrategy",
40-
"com.cloudinary.http42.UrlBuilderStrategy",
41-
"com.cloudinary.http43.UrlBuilderStrategy",
42-
"com.cloudinary.http44.UrlBuilderStrategy" ));
4337

4438
public final static String CF_SHARED_CDN = "d3jpl91pxevbkh.cloudfront.net";
4539
public final static String OLD_AKAMAI_SHARED_CDN = "cloudinary-a.akamaihd.net";
@@ -52,7 +46,6 @@ public class Cloudinary {
5246
public final Configuration config;
5347
private AbstractUploaderStrategy uploaderStrategy;
5448
private AbstractApiStrategy apiStrategy;
55-
private AbstractUrlBuilderStrategy urlBuilderStrategy;
5649

5750
public Uploader uploader(){
5851
return new Uploader(this,uploaderStrategy);
@@ -76,13 +69,8 @@ public static void registerAPIStrategy(String className){
7669
}
7770
}
7871

79-
public static void registerUrlBuilderStrategy(String className){
80-
if (!URLBUILDER_STRATEGIES.contains(className)){
81-
URLBUILDER_STRATEGIES.add(className);
82-
}
83-
}
84-
8572
private void loadStrategies() {
73+
if (!this.config.loadStrategies) return;
8674
uploaderStrategy= StrategyLoader.find(UPLOAD_STRATEGIES);
8775

8876
if (uploaderStrategy==null){
@@ -93,33 +81,26 @@ private void loadStrategies() {
9381
if (apiStrategy==null){
9482
throw new UnknownError("Can't find Cloudinary platform adapter [" + StringUtils.join(API_STRATEGIES, ",") + "]");
9583
}
96-
97-
urlBuilderStrategy= StrategyLoader.find(URLBUILDER_STRATEGIES);
98-
if (urlBuilderStrategy==null){
99-
throw new UnknownError("Can't find Cloudinary platform adapter [" + StringUtils.join(URLBUILDER_STRATEGIES, ",") + "]");
100-
}
10184
}
10285

10386
public Cloudinary(Map config) {
104-
loadStrategies();
10587
this.config = new Configuration(config);
106-
88+
loadStrategies();
10789
}
10890

10991
public Cloudinary(String cloudinaryUrl) {
110-
loadStrategies();
11192
this.config = new Configuration(parseConfigUrl(cloudinaryUrl));
93+
loadStrategies();
11294
}
11395

11496
public Cloudinary() {
115-
loadStrategies();
11697
String cloudinaryUrl = System.getProperty("CLOUDINARY_URL", System.getenv("CLOUDINARY_URL"));
11798
if (cloudinaryUrl != null) {
11899
this.config = new Configuration(parseConfigUrl(cloudinaryUrl));
119100
}else {
120101
this.config = new Configuration();
121102
}
122-
103+
loadStrategies();
123104
}
124105

125106
public Url url() {

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

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,16 @@ public class Configuration {
3737
public Boolean secureCdnSubdomain;
3838
public boolean useRootPath;
3939
public int timeout;
40+
public boolean loadStrategies = true;
4041

4142
public Configuration(){
4243
}
4344

4445
private Configuration(String cloudName, String apiKey, String apiSecret, String secureDistribution, String cname, String uploadPrefix, boolean secure, boolean privateCdn, boolean cdnSubdomain, boolean shorten, String callback, String proxyHost, int proxyPort, Boolean secureCdnSubdomain, boolean useRootPath) {
45-
this(cloudName, apiKey, apiSecret, secureDistribution, cname, uploadPrefix, secure, privateCdn, cdnSubdomain, shorten, callback, proxyHost, proxyPort, secureCdnSubdomain, useRootPath, 0);
46+
this(cloudName, apiKey, apiSecret, secureDistribution, cname, uploadPrefix, secure, privateCdn, cdnSubdomain, shorten, callback, proxyHost, proxyPort, secureCdnSubdomain, useRootPath, 0, true);
4647
}
4748

48-
private Configuration(String cloudName, String apiKey, String apiSecret, String secureDistribution, String cname, String uploadPrefix, boolean secure, boolean privateCdn, boolean cdnSubdomain, boolean shorten, String callback, String proxyHost, int proxyPort, Boolean secureCdnSubdomain, boolean useRootPath, int timeout) {
49+
private Configuration(String cloudName, String apiKey, String apiSecret, String secureDistribution, String cname, String uploadPrefix, boolean secure, boolean privateCdn, boolean cdnSubdomain, boolean shorten, String callback, String proxyHost, int proxyPort, Boolean secureCdnSubdomain, boolean useRootPath, int timeout, boolean loadStrategies) {
4950
this.cloudName = cloudName;
5051
this.apiKey = apiKey;
5152
this.apiSecret = apiSecret;
@@ -62,6 +63,7 @@ private Configuration(String cloudName, String apiKey, String apiSecret, String
6263
this.secureCdnSubdomain = secureCdnSubdomain;
6364
this.useRootPath = useRootPath;
6465
this.timeout = 0;
66+
this.loadStrategies = loadStrategies;
6567
}
6668

6769

@@ -87,6 +89,7 @@ public void update(Map config) {
8789
this.proxyPort = ObjectUtils.asInteger(config.get("proxy_port"),0);
8890
this.secureCdnSubdomain = ObjectUtils.asBoolean(config.get("secure_cdn_subdomain"), null);
8991
this.useRootPath = ObjectUtils.asBoolean(config.get("use_root_path"), false);
92+
this.loadStrategies = ObjectUtils.asBoolean(config.get("load_strategies"), true);
9093
this.timeout = ObjectUtils.asInteger(config.get("timeout"), 0);
9194
}
9295

@@ -167,8 +170,10 @@ private static Configuration parseConfigUrl(String cloudinaryUrl) {
167170
}else if (key.equals("cdn_subdomain")){
168171
builder.setCdnSubdomain(ObjectUtils.asBoolean(val, false));
169172
}else if (key.equals("shorten")){
170-
builder.setShorten(ObjectUtils.asBoolean(val, false));
171-
}else {
173+
builder.setShorten(ObjectUtils.asBoolean(val, false));
174+
} else if (key.equals("load_strategies")){
175+
builder.setLoadStrategies(ObjectUtils.asBoolean(val, true));
176+
} else {
172177
// Log.w("Cloudinary", "ignoring invalid parameter " + val);
173178
}
174179

@@ -197,6 +202,7 @@ public static class Builder {
197202
private int proxyPort;
198203
private Boolean secureCdnSubdomain;
199204
private boolean useRootPath;
205+
private boolean loadStrategies = true;
200206
private int timeout;
201207

202208
/**
@@ -213,7 +219,7 @@ public Builder setTimeout(int timeout) {
213219
/**
214220
* Creates a {@link Configuration} with the arguments supplied to this builder
215221
*/
216-
public Configuration build() { return new Configuration(cloudName, apiKey, apiSecret, secureDistribution, cname, uploadPrefix, secure, privateCdn, cdnSubdomain, shorten,callback,proxyHost,proxyPort,secureCdnSubdomain,useRootPath); }
222+
public Configuration build() { return new Configuration(cloudName, apiKey, apiSecret, secureDistribution, cname, uploadPrefix, secure, privateCdn, cdnSubdomain, shorten,callback,proxyHost,proxyPort,secureCdnSubdomain,useRootPath, timeout, loadStrategies); }
217223

218224
/**
219225
* The unique name of your cloud at Cloudinary
@@ -310,6 +316,11 @@ public Builder setUseRootPath(boolean useRootPath) {
310316
return this;
311317
}
312318

319+
public Builder setLoadStrategies(boolean loadStrategies) {
320+
this.loadStrategies = loadStrategies;
321+
return this;
322+
}
323+
313324

314325

315326
/**
@@ -333,6 +344,7 @@ public Builder from(Configuration other) {
333344
this.proxyPort = other.proxyPort;
334345
this.secureCdnSubdomain = other.secureCdnSubdomain;
335346
this.useRootPath = other.useRootPath;
347+
this.loadStrategies = other.loadStrategies;
336348
this.timeout = other.timeout;
337349
return this;
338350
}

cloudinary-core/src/main/java/com/cloudinary/strategies/AbstractUrlBuilderStrategy.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractCloudinaryTest.java renamed to cloudinary-core/src/test/java/com/cloudinary/test/CloudinaryTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import com.cloudinary.Transformation;
2222
import com.cloudinary.utils.ObjectUtils;
2323

24-
abstract public class AbstractCloudinaryTest {
24+
public class CloudinaryTest {
2525

2626
private Cloudinary cloudinary;
2727

@@ -31,7 +31,7 @@ abstract public class AbstractCloudinaryTest {
3131
@Before
3232
public void setUp() {
3333
System.out.println("Running " + this.getClass().getName() + "." + currentTest.getMethodName());
34-
this.cloudinary = new Cloudinary("cloudinary://a:b@test123");
34+
this.cloudinary = new Cloudinary("cloudinary://a:b@test123?load_strategies=false");
3535
}
3636

3737
@Test

cloudinary-http42/src/main/java/com/cloudinary/http42/UrlBuilderStrategy.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

cloudinary-http42/src/test/java/com/cloudinary/test/CloudinaryTest.java

Lines changed: 0 additions & 5 deletions
This file was deleted.

cloudinary-http44/src/main/java/com/cloudinary/http44/UrlBuilderStrategy.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

cloudinary-http44/src/test/java/com/cloudinary/test/CloudinaryTest.java

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)