Skip to content

Commit a74c5ef

Browse files
scope ignored
1 parent ea59fb7 commit a74c5ef

File tree

7 files changed

+34
-25
lines changed

7 files changed

+34
-25
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ local.properties
2020
.settings/
2121
.loadpath
2222
.recommenders
23+
.dccache/
24+
.dccache
2325

2426
# External tool builders
2527
.externalToolBuilders/

.talismanrc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,6 @@ fileignoreconfig:
1414
- filename: src/main/java/com/contentstack/utils/presets/Preset.java
1515
checksum: cf778f3066be0a0943430b97f1d0c326bd10c0db48bf9cfb1bc242bf1acee24f
1616
- filename: src/main/java/com/contentstack/utils/Utils.java
17-
checksum: f9fc6b4e94e645b4befe527abff4a77d5585ff68f07b48ff7bb2c69ea1832b50
17+
checksum: f9fc6b4e94e645b4befe527abff4a77d5585ff68f07b48ff7bb2c69ea1832b50
18+
- filename: .dccache
19+
checksum: 4d70dde92dca6fa5a550ad1cc47c41cb8c43d35abb3b5f72f472b9f49fdc56e4

src/main/java/com/contentstack/utils/Utils.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.contentstack.utils.callbacks.Content;
44
import com.contentstack.utils.callbacks.Metadata;
55
import com.contentstack.utils.callbacks.OptionsCallback;
6+
import com.contentstack.utils.presets.Constant;
67
import com.contentstack.utils.render.DefaultOption;
78
import org.json.JSONArray;
89
import org.json.JSONObject;
@@ -32,15 +33,14 @@ public static void render(JSONObject entryObj, String[] keyPath, OptionsCallback
3233
return null;
3334
};
3435

35-
if (entryObj != null && entryObj.has("_embedded_items")) {
36-
// when keyPath is provided by user
36+
if (entryObj != null && entryObj.has(Constant.EMBEDDED_ITEMS)) {
3737
if (keyPath != null) {
3838
for (String path : keyPath) {
3939
findContent(entryObj, path, callback);
4040
}
4141
} else {
42-
// if keyPath is not given, extract all available keyPath from _embedded_items
43-
JSONObject embedKeys = entryObj.getJSONObject("_embedded_items");
42+
// Case when KeyPath is not given by user, Extract all available keyPath from _embedded_items
43+
JSONObject embedKeys = entryObj.getJSONObject(Constant.EMBEDDED_ITEMS);
4444
ArrayList<String> pathKeys = new ArrayList<>(embedKeys.keySet());
4545
for (String path : pathKeys) {
4646
findContent(entryObj, path, callback);
@@ -116,9 +116,9 @@ public static String renderContent(String rteStringify, JSONObject embedObject,
116116
Document html = Jsoup.parse(rteStringify);
117117
getEmbeddedObjects(html, metadata -> {
118118
Optional<JSONObject> filteredContent = Optional.empty();
119-
boolean available = embedObject.has("_embedded_items");
119+
boolean available = embedObject.has(Constant.EMBEDDED_ITEMS);
120120
if (available) {
121-
JSONObject jsonArray = embedObject.optJSONObject("_embedded_items");
121+
JSONObject jsonArray = embedObject.optJSONObject(Constant.EMBEDDED_ITEMS);
122122
filteredContent = findEmbeddedItems(jsonArray, metadata);
123123
}
124124
if (filteredContent.isPresent()) {
@@ -163,7 +163,7 @@ private static Optional<JSONObject> findEmbeddedItems(JSONObject jsonObject,
163163
for (String key : allKeys) {
164164
JSONArray jsonArray = jsonObject.optJSONArray(key);
165165
Optional<JSONObject> filteredContent = StreamSupport.stream(jsonArray.spliterator(), false)
166-
.map(val -> (JSONObject) val)
166+
.map(JSONObject.class::cast)
167167
.filter(val -> val.optString("uid").equalsIgnoreCase(metadata.getItemUid())).findFirst();
168168
if (filteredContent.isPresent()) {
169169
return filteredContent;
@@ -185,7 +185,7 @@ private static String getStringOption(OptionsCallback option, com.contentstack.u
185185
private static void getEmbeddedObjects(Document html, Metadata metadataCallback) {
186186
Elements embeddedEntries = html.body().getElementsByClass("embedded-entry");
187187
Elements embeddedAssets = html.body().getElementsByClass("embedded-asset");
188-
embeddedEntries.forEach((entry) -> {
188+
embeddedEntries.forEach(entry -> {
189189
String text = entry.text();
190190
String type = entry.attr("type");
191191
String uid = entry.attr("data-sys-entry-uid");
@@ -197,7 +197,7 @@ private static void getEmbeddedObjects(Document html, Metadata metadataCallback)
197197
metadataCallback.embeddedObject(metadata);
198198
});
199199

200-
embeddedAssets.forEach((asset) -> {
200+
embeddedAssets.forEach(asset -> {
201201
String text = asset.text();
202202
String type = asset.attr("type");
203203
String uid = asset.attr("data-sys-asset-uid");

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

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010

1111
public class Constant {
1212

13+
1314
private Constant() throws IllegalAccessException {
14-
throw new IllegalAccessException("Not allowed");
15+
throw new IllegalAccessException("Private=Constructor not allowed");
1516
}
1617

1718
static final String URL = "url";
@@ -28,6 +29,7 @@ private Constant() throws IllegalAccessException {
2829
static final String TRANSFORM = "transform";
2930
static final String FLIP_MODE = "flip-mode";
3031
static final String IMAGE_TYPE = "image-type";
32+
public static final String EMBEDDED_ITEMS = "_embedded_items";
3133

3234
protected static void throwException(JSONObject jsonAsset, @NotNull String localisedMessage) {
3335
if (jsonAsset.isEmpty()) {
@@ -53,13 +55,7 @@ protected static List<JSONObject> extractMetadata(
5355
List<JSONObject> localPresetList = Collections.emptyList();
5456
for (Object element : extensionArray) {
5557
JSONObject presetObj = (JSONObject) element;
56-
if (presetObj.containsKey("is_global")) {
57-
boolean isGlobal = (boolean) presetObj.get("is_global");
58-
if (!isGlobal)
59-
localPresetList = returnPresetObject(presetObj, presetName, random);
60-
if (localPresetList.isEmpty())
61-
localPresetList = returnPresetObject(presetObj, presetName, random);
62-
}
58+
localPresetList = returnPresetObject(presetObj, presetName, random);
6359
}
6460
return localPresetList;
6561
}
@@ -73,9 +69,10 @@ protected static List<JSONObject> returnPresetObject(
7369
}
7470

7571
protected static List<JSONObject> getByPresetName(
76-
JSONArray presetArray, String presetName, String random) {
72+
JSONArray presetArray,
73+
String presetName, String random) {
7774
List<JSONObject> listPreset = new ArrayList<>();
78-
for(Object element: presetArray){
75+
for (Object element : presetArray) {
7976
JSONObject presetObj = (JSONObject) element;
8077
if (presetObj.containsKey(random)) {
8178
String localPresetName = (String) presetObj.get(random);
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.contentstack.utils.presets;
2+
3+
public class InvalidUrlException extends RuntimeException {
4+
public InvalidUrlException(String str) {
5+
super(str);
6+
}
7+
}

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class Preset {
1717
public String resolvePresetByPresetName(
1818
@NotNull JSONObject asset,
1919
@NotNull String extensionUid,
20-
@NotNull String presetName) {
20+
@NotNull String presetName) throws InvalidUrlException {
2121

2222
final JSONArray localExtensionUid = returnExtensionId(asset, extensionUid);
2323
if (presetName.isEmpty()) {
@@ -27,9 +27,10 @@ public String resolvePresetByPresetName(
2727
String assetUrl = (String) asset.get(URL);
2828
try {
2929
assetUrl = findPresetOptions(presetOptionKEYS, assetUrl);
30-
} catch (Exception e) {
31-
e.printStackTrace();
30+
} catch (MalformedURLException | URISyntaxException e) {
31+
throw new InvalidUrlException(e.getLocalizedMessage());
3232
}
33+
3334
return assetUrl;
3435
}
3536

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,15 @@ public void testResolveEmptyPresetName() {
8383
}
8484

8585
@Test
86-
public void testResolvePresetByPresetName() {
86+
public void testResolvePresetByPresetName() throws Exception {
8787
String url = preset.resolvePresetByPresetName(assetFile, "theExtensionUid", "Local Preset");
8888
Assert.assertEquals(
8989
"http://localhost:8000/v3/assets/crop_area.jpeg?height=412&width=500&format=jpeg&quality=10",
9090
url);
9191
}
9292

9393
@Test
94-
public void testResolvePresetByPresetNameWithUrlQuestionMark() {
94+
public void testResolvePresetByPresetNameWithUrlQuestionMark() throws Exception {
9595
JSONObject assetWithQuestionMarkJson = readJson("management/asset_with_question_mark.json");
9696
String url = preset.resolvePresetByPresetName(assetWithQuestionMarkJson, "theExtensionUid", "Local Preset");
9797
Assert.assertEquals(

0 commit comments

Comments
 (0)