Skip to content

Commit c4ffe0f

Browse files
preset management
1 parent 61f6d67 commit c4ffe0f

File tree

6 files changed

+206
-210
lines changed

6 files changed

+206
-210
lines changed

src/main/java/com/contentstack/utils/presets/Constant.java

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,28 @@ protected static JSONObject validator(JSONObject asset) {
4545
if (!asset.containsKey("_metadata")) {
4646
throwException(asset, "_metadata keys not found");
4747
}
48-
JSONObject localMetadata = (JSONObject) asset.get("_metadata");
49-
if (!asset.containsKey("extensions")) {
50-
throwException(localMetadata, "extensions not present in the object");
51-
}
52-
return localMetadata;
48+
// JSONObject localMetadata = (JSONObject) asset.get("_metadata");
49+
// if (!asset.containsKey("extensions")) {
50+
// throwException(localMetadata, "extensions not present in the object");
51+
// }
52+
return (JSONObject) asset.get("_metadata");
5353
}
5454

5555
protected static List<JSONObject> extractMetadata(
56-
JSONObject extensionUid, String presetName, String random) {
57-
JSONObject localMetadata = (JSONObject) extensionUid.get("local_metadata");
58-
JSONObject globalMetadata = (JSONObject) extensionUid.get("global_metadata");
59-
List<JSONObject> localKeys = returnPresetObject(localMetadata, presetName, random);
60-
List<JSONObject> globalKeys = Collections.emptyList();
61-
if (localKeys.isEmpty()) {
62-
globalKeys = returnPresetObject(globalMetadata, presetName, random);
56+
JSONArray extensionArray, String presetName, String random) {
57+
58+
List<JSONObject> localPresetList = Collections.emptyList();
59+
for (Object element : extensionArray) {
60+
JSONObject presetObj = (JSONObject) element;
61+
if (presetObj.containsKey("is_global")) {
62+
boolean isGlobal = (boolean) presetObj.get("is_global");
63+
if (!isGlobal)
64+
localPresetList = returnPresetObject(presetObj, presetName, random);
65+
if (localPresetList.isEmpty())
66+
localPresetList = returnPresetObject(presetObj, presetName, random);
67+
}
6368
}
64-
return globalKeys.isEmpty() ? localKeys : globalKeys;
69+
return localPresetList;
6570
}
6671

6772
protected static List<JSONObject> returnPresetObject(
@@ -75,15 +80,15 @@ protected static List<JSONObject> returnPresetObject(
7580
protected static List<JSONObject> getByPresetName(
7681
JSONArray presetArray, String presetName, String random) {
7782
List<JSONObject> listPreset = new ArrayList<>();
78-
presetArray.forEach(preset -> {
79-
JSONObject presetObj = (JSONObject) preset;
83+
for(Object element: presetArray){
84+
JSONObject presetObj = (JSONObject) element;
8085
if (presetObj.containsKey(random)) {
8186
String localPresetName = (String) presetObj.get(random);
8287
if (localPresetName.equalsIgnoreCase(presetName)) {
8388
listPreset.add(presetObj);
8489
}
8590
}
86-
});
91+
}
8792
return listPreset;
8893
}
8994
}

src/main/java/com/contentstack/utils/presets/Preset.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.apache.http.client.utils.URIBuilder;
44
import org.jetbrains.annotations.NotNull;
5+
import org.json.simple.JSONArray;
56
import org.json.simple.JSONObject;
67

78
import java.net.MalformedURLException;
@@ -18,7 +19,7 @@ public String resolvePresetByPresetName(
1819
@NotNull String extensionUid,
1920
@NotNull String presetName) {
2021

21-
final JSONObject localExtensionUid = returnExtensionId(asset, extensionUid);
22+
final JSONArray localExtensionUid = returnExtensionId(asset, extensionUid);
2223
if (presetName.isEmpty()) {
2324
throw new IllegalArgumentException("Please provide valid Preset Name");
2425
}
@@ -50,7 +51,7 @@ public String resolvePresetByPresetUID(
5051
@NotNull String extensionUid,
5152
@NotNull String presetUid) {
5253

53-
final JSONObject localExtensionUid = returnExtensionId(asset, extensionUid);
54+
final JSONArray localExtensionUid = returnExtensionId(asset, extensionUid);
5455
List<JSONObject> presetOptionKEYS = extractMetadata(localExtensionUid, presetUid, "uid");
5556
String assetUrl = (String) asset.get(URL);
5657
try {
@@ -121,13 +122,13 @@ private void getEffectsParams(URIBuilder uriBuilder, JSONObject effects) {
121122
}
122123
}
123124

124-
private JSONObject returnExtensionId(JSONObject asset, String extensionUid) {
125+
private JSONArray returnExtensionId(JSONObject asset, String extensionUid) {
125126
JSONObject localMetadata = validator(asset);
126127
if (extensionUid.isEmpty()) {
127128
throw new IllegalArgumentException("Please provide valid extension uid");
128129
}
129130
JSONObject localExtensions = (JSONObject) localMetadata.get("extensions");
130-
return (JSONObject) localExtensions.get(extensionUid);
131+
return (JSONArray) localExtensions.get(extensionUid);
131132
}
132133

133134
}

src/test/java/com/contentstack/utils/preset/PresetTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
public class PresetTest {
1818

1919
Preset preset = new Preset();
20-
JSONObject assetFile = readJson("management/asset.json");
20+
JSONObject assetFile = readJson("management/demoasset.json");
2121

2222
private static JSONObject readJson(String file) {
2323
JSONObject mockJsonObject = null;
@@ -86,7 +86,7 @@ public void testResolveEmptyPresetName() {
8686
public void testResolvePresetByPresetName() {
8787
String url = preset.resolvePresetByPresetName(assetFile, "theExtensionUid", "Local Preset");
8888
Assert.assertEquals(
89-
"http://localhost:8000/v3/assets/crop_area.jpeg?height=500&width=500&orient=2&format=jpeg&quality=100",
89+
"http://localhost:8000/v3/assets/crop_area.jpeg?height=412&width=500&format=jpeg&quality=10",
9090
url);
9191
}
9292

@@ -95,15 +95,15 @@ public void testResolvePresetByPresetNameWithUrlQuestionMark() {
9595
JSONObject assetWithQuestionMarkJson = readJson("management/asset_with_question_mark.json");
9696
String url = preset.resolvePresetByPresetName(assetWithQuestionMarkJson, "theExtensionUid", "Local Preset");
9797
Assert.assertEquals(
98-
"http://localhost:8000/v3/assets/crop_area.jpeg?format=jpeg&quality=100&height=500&width=500&orient=2&format=jpeg&quality=100",
98+
"http://localhost:8000/v3/assets/crop_area.jpeg?format=jpeg&quality=100&height=412&width=500&format=jpeg&quality=10",
9999
url);
100100
}
101101

102102
@Test
103103
public void testResolvePresetByPresetUID() {
104104
String url = preset.resolvePresetByPresetUID(assetFile, "theExtensionUid", "the_fake_preset_uid");
105105
Assert.assertEquals(
106-
"http://localhost:8000/v3/assets/crop_area.jpeg?height=500&width=500&orient=2&format=jpeg&quality=100",
106+
"http://localhost:8000/v3/assets/crop_area.jpeg?height=412&width=500&format=jpeg&quality=10",
107107
url);
108108
}
109109

@@ -113,7 +113,7 @@ public void testResolvePresetByPresetUIDWithUrlQuestionMark() {
113113
String url = preset.resolvePresetByPresetUID(assetWithQuestionMarkJson, "theExtensionUid",
114114
"the_fake_preset_uid");
115115
Assert.assertEquals(
116-
"http://localhost:8000/v3/assets/crop_area.jpeg?format=jpeg&quality=100&height=500&width=500&orient=2&format=jpeg&quality=100",
116+
"http://localhost:8000/v3/assets/crop_area.jpeg?format=jpeg&quality=100&height=412&width=500&format=jpeg&quality=10",
117117
url);
118118
}
119119

@@ -123,7 +123,7 @@ public void testResolvePresetBy() {
123123
String url = preset.resolvePresetByPresetUID(assetWithQuestionMarkJson, "theExtensionUid",
124124
"the_fake_preset_uid");
125125
Assert.assertEquals(
126-
"http://localhost:8000/v3/assets/crop_area.jpeg?format=jpeg&quality=100&height=500&width=500&orient=2&format=jpeg&quality=100",
126+
"http://localhost:8000/v3/assets/crop_area.jpeg?format=jpeg&quality=100&height=412&width=500&format=jpeg&quality=10",
127127
url);
128128
}
129129

src/test/resources/management/asset.json

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

0 commit comments

Comments
 (0)