Skip to content

Commit 15529b1

Browse files
Reference JSON RTE, Asset as embedded object
Reference JSON RTE, Asset as embedded object
1 parent ebd9a55 commit 15529b1

File tree

5 files changed

+868
-50
lines changed

5 files changed

+868
-50
lines changed

.talismanrc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ threshold: medium
22

33
fileignoreconfig:
44

5-
- filename: src/test/resources/issue/newline.json
6-
checksum: eb075c30d3769a4ac08871d8f4affca55abb21e816726a083141e0e2b94417e6
5+
- filename: src/test/resources/issue/jsonfile.json
6+
checksum: d67cd6db0795f8c5a5f5edf34a457720191e8894889e9f9bb4b8106c23b40799
7+
78

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,8 @@ private static String extractKeys(@NotNull JSONObject jsonNode, Option renderObj
176176
JSONObject contentToPass = filteredContent.get();
177177
return getStringOption(renderObject, metadata, contentToPass);
178178
} else {
179-
if (attrType.equalsIgnoreCase(ASSET)) {
180-
return renderObject.renderNode("img", jsonNode, nodeJsonArray -> doRawProcessing(nodeJsonArray, renderObject, embedItem));
179+
if (attrType.equalsIgnoreCase("asset")) {
180+
return renderObject.renderNode("img", jsonNode, nodeJsonArray -> _doRawProcessing(nodeJsonArray, renderObject, embedItem));
181181
}
182182
}
183183

src/main/java/com/contentstack/utils/render/DefaultOption.java

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -65,32 +65,15 @@ public String renderNode(String nodeType, JSONObject nodeObject, NodeCallback ca
6565
case "p":
6666
return "<p>" + children + "</p>";
6767
case "a":
68-
if (nodeObject.has("url")) {
69-
return "<a href=\"" + getNodeStr(nodeObject, "url") + "\">" + children + "</a>";
70-
}
71-
if (nodeObject.has("href")) {
72-
return "<a href=\"" + getNodeStr(nodeObject, "href") + "\">" + children + "</a>";
73-
}
74-
return children;
68+
return "<a href=\"" + getNodeStr(nodeObject, "href") + "\">" + children + "</a>";
7569
case "img":
76-
if (nodeObject.has("src")) {
77-
return "<img src=\"" + getNodeStr(nodeObject, "src") + "\" />" + children;
78-
}
79-
if (nodeObject.has("url")) {
80-
return "<img src=\"" + getNodeStr(nodeObject, "url") + "\" />" + children;
81-
}
82-
if (nodeObject.has("asset-link")) {
83-
return "<img src=\"" + getNodeStr(nodeObject, "asset-link") + "\" />" + children;
70+
String assetLink = getNodeStr(nodeObject, "asset-link");
71+
if (!assetLink.isEmpty()) {
72+
return "<img src=\"" + assetLink + "\" />" + children;
8473
}
85-
return children;
74+
return "<img src=\"" + getNodeStr(nodeObject, "src") + "\" />" + children;
8675
case "embed":
87-
if (nodeObject.has("src")) {
88-
return "<iframe src=\"" + getNodeStr(nodeObject, "src") + "\"" + children + "</iframe>";
89-
}
90-
if (nodeObject.has("url")) {
91-
return "<iframe src=\"" + getNodeStr(nodeObject, "url") + "\"" + children + "</iframe>";
92-
}
93-
return children;
76+
return "<iframe src=\"" + getNodeStr(nodeObject, "src") + "\"" + children + "</iframe>";
9477
case "h1":
9578
return "<h1>" + children + "</h1>";
9679
case "h2":
@@ -145,6 +128,7 @@ private String getNodeStr(JSONObject nodeObject, String key) {
145128
return herf;
146129
}
147130

131+
148132
/**
149133
* Returns Title From The Embedded Object of type entry
150134
*
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.contentstack.utils;
2+
3+
import com.contentstack.utils.render.DefaultOption;
4+
import org.json.JSONObject;
5+
import org.junit.Assert;
6+
import org.junit.BeforeClass;
7+
import org.junit.Test;
8+
9+
import java.io.IOException;
10+
11+
public class AssetLinkTest {
12+
13+
14+
private static JSONObject assetLink = null;
15+
16+
17+
@BeforeClass
18+
public static void startUtilTests() throws IOException {
19+
final String ASSERT_LINK = "src/test/resources/issue/jsonfile.json";
20+
assetLink = new ReadResource().readJson(ASSERT_LINK);
21+
}
22+
23+
@Test
24+
public void testRenderFunction() {
25+
String[] keys = new String[1];
26+
keys[0] = "assetlink";
27+
Utils.jsonToHTML(assetLink, keys, new DefaultOption());
28+
System.out.println(assetLink);
29+
Assert.assertEquals("<img src=\"https://image.url/11.jpg\" />", assetLink.opt("assetlink").toString());
30+
}
31+
}

0 commit comments

Comments
 (0)