Skip to content

Commit c775ad9

Browse files
shaileshmishrashaileshmishra
authored andcommitted
📝 v1.0.0 release
1 parent 6dd2b26 commit c775ad9

File tree

3 files changed

+142
-145
lines changed

3 files changed

+142
-145
lines changed

README.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ To render embedded items on the front-end, use the renderContents function, and
4040

4141
```java
4242

43-
4443
Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
4544

4645
switch (metadata.getStyleType()) {
@@ -67,6 +66,12 @@ Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
6766
String titleDiplayable = embeddedObject.getString("title");
6867
String mlDiplayable = embeddedObject.getString("multi_line");
6968
return "<p>" + titleDiplayable + "</p><span>" + mlDiplayable + "</span>";
69+
70+
// in case you have embedded items using “display” option in the RTE
71+
case DOWNLOAD:
72+
String titleDownload = embeddedObject.getString("title");
73+
String mlDownload = embeddedObject.getString("multi_line");
74+
return "<p>" + titleDiplayable + "</p><span>" + mlDownload + "</span>";
7075

7176
default:
7277
return null;
@@ -94,7 +99,12 @@ entry.fetch(new EntryResultCallBack() {
9499
@Override
95100
public void onCompletion(ResponseType responseType, Error error) {
96101
if (error == null) {
97-
[Success block]
102+
// [Success block]
103+
String[] keyPath = {
104+
"rich_text_editor", "global_rich_multiple.group.rich_text_editor"
105+
};
106+
JSONObject jsonObject = entry.toJSON();
107+
Utils.render(jsonObject, keyPath, new Option());
98108
} else {
99109
[Error block]
100110
}}
@@ -115,9 +125,16 @@ query.includeEmbeddedItems();
115125
query.find(new QueryResultsCallBack() {
116126
@Override
117127
public void onCompletion(ResponseType responseType, QueryResult queryResult, Error error) {
118-
if(error == null){
119-
[Success block]
120-
}else{
128+
if (error == null) {
129+
List<Entry> entries = queryresult.getResultObjects();
130+
String[] keyPath = {
131+
"rich_text_editor", "global_rich_multiple.group.rich_text_editor"
132+
};
133+
for (Entry entry : entries) {
134+
JSONObject jsonObject = entry.toJSON();
135+
Utils.render(jsonObject, keyPath, new Option());
136+
}
137+
}else{
121138
[Error block]
122139
}}
123140
});

src/test/java/EmbeddedModelTests.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,6 @@ public void test_rich_text_Available() {
3131
Assert.assertEquals( "<p>hello</p><img class=\"embedded-asset\" data-redactor-type=\"embed\" data-widget-code=\"\" data-sys-asset-filelink=\"http://localhost:8000/v3/assets/blte964dd749943a934/blt6ba515fc6c148887/5d0b406eb0ed0f0c3d433115/dp.jpeg\" data-sys-asset-uid=\"bltba476c60baacb442\" data-sys-asset-filename=\"dp.jpeg\" data-sys-asset-contenttype=\"image/jpeg\" type=\"asset\" sys-style-type=\"display\"></img><div class=\"redactor-component embedded-entry block-entry redactor-component-active\" data-redactor-type=\"embed\" data-widget-code=\"\" data-sys-entry-uid=\"bltb5a04880fbb74f26\" data-sys-entry-locale=\"en-us\" data-sys-content-type-uid=\"samplect\" sys-style-type=\"block\" type=\"entry\"></div>\n" +
3232
"<p>hello</p>\n" +
3333
"<p></p>", rich_text_editor);
34-
// Elements embeddedEntries = html.body().getElementsByClass("_embedded_items");
35-
// String uid = entry.attr("data-sys-entry-uid");
36-
// String contentType = entry.attr("data-sys-content-type-uid");
37-
// String style = entry.attr("sys-style-type");
38-
// String outerHTML = entry.outerHtml();
39-
// Metadata metadata = new Metadata("text", type, uid, contentType, style, outerHTML, entry.attributes());
40-
// logger.info(metadata.toString());
41-
// Assert.assertEquals("", outerHTML);
4234
}
4335

4436

src/test/java/UtilTests.java

Lines changed: 120 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import com.contentstack.utils.Utils;
22
import com.contentstack.utils.callbacks.Option;
33
import com.contentstack.utils.embedded.StyleType;
4+
import com.contentstack.utils.helper.Metadata;
45
import com.contentstack.utils.render.DefaultOption;
6+
import org.json.JSONArray;
57
import org.json.JSONObject;
68
import org.junit.BeforeClass;
79
import org.junit.FixMethodOrder;
810
import org.junit.Test;
911
import org.junit.runners.MethodSorters;
10-
1112
import java.io.IOException;
1213
import java.util.logging.Level;
1314
import java.util.logging.Logger;
@@ -51,136 +52,123 @@ public void test_02_WithoutKeyPath() {
5152
Utils.render(localJsonObj, null, new DefaultOption());
5253
}
5354

54-
// @Test
55-
// public void test_03_EmbeddedBlockEntry() {
56-
// JSONArray rteArray = null;
57-
// // Find the rich_text_editor available in the Object
58-
// boolean available = localJsonObj.has("rich_text_editor");
59-
// if (available) {
60-
// Object RTE = localJsonObj.get("rich_text_editor");
61-
// rteArray = ((JSONArray) RTE);
62-
// }
63-
// assert rteArray != null;
64-
// Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
65-
// StyleType type = metadata.getStyleType();
66-
// if (type == StyleType.BLOCK) {
67-
// String title = embeddedObject.getString("title");
68-
// String multi_line = embeddedObject.getString("multi_line");
69-
// return "<p>" + title + "</p><span>" + multi_line + "</span>";
70-
// }
71-
// return null;
72-
// });
73-
//
74-
// Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
75-
// if (metadata.getStyleType() == StyleType.BLOCK) {
76-
// String title = embeddedObject.getString("title");
77-
// String multi_line = embeddedObject.getString("multi_line");
78-
// return "<p>" + title + "</p><span>" + multi_line + "</span>";
79-
//// case StyleType.INLINE:
80-
//// String titleInline = embeddedObject.getString("title");
81-
//// String mlInline = embeddedObject.getString("multi_line");
82-
//// return "<p>" + titleInline + "</p><span>" + mlInline + "</span>";
83-
//// case LINKED:
84-
//// String titleLinked = embeddedObject.getString("title");
85-
//// String mlLinked = embeddedObject.getString("multi_line");
86-
//// return "<p>" + titleLinked + "</p><span>" + mlLinked + "</span>";
87-
//// case DISPLAYABLE:
88-
//// String titleDiplayable = embeddedObject.getString("title");
89-
//// String mlDiplayable = embeddedObject.getString("multi_line");
90-
//// return "<p>" + titleDiplayable + "</p><span>" + mlDiplayable + "</span>";
91-
// }
92-
// return null;
93-
// });
94-
// }
95-
96-
97-
// @Test
98-
// public void test_2_embedded_inline_entry() {
99-
// JSONArray rteArray = null;
100-
// boolean available = localJsonObj.has("rich_text_editor");
101-
// if (available) {
102-
// Object RTE = localJsonObj.get("rich_text_editor");
103-
// rteArray = ((JSONArray) RTE);
104-
// }
105-
// assert rteArray != null;
106-
// Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
107-
// switch (metadata.getStyleType()) {
108-
// case BLOCK:
109-
// // statements of BLOCK
110-
// String title = embeddedObject.getString("title");
111-
// String multi_line = embeddedObject.getString("multi_line");
112-
// return "<p>" + title + "</p><span>" + multi_line + "</span>";
113-
// case INLINE:
114-
// // statements of INLINE
115-
// return null;
116-
//
117-
// case LINKED:
118-
// // statements of LINKED
119-
// return null;
120-
//
121-
// default:
122-
// return null;
123-
// }
124-
// });
125-
// }
126-
//
127-
//
128-
// @Test
129-
// public void test_3_embedded_linked_entry() {
130-
// JSONArray rteArray = null;
131-
// boolean available = localJsonObj.has("rich_text_editor");
132-
// if (available) {
133-
// Object RTE = localJsonObj.get("rich_text_editor");
134-
// rteArray = ((JSONArray) RTE);
135-
// //System.out.println(rteArray);
136-
// }
137-
// assert rteArray != null;
138-
// Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
139-
// switch (metadata.getStyleType()) {
140-
// case BLOCK:
141-
// // statements of BLOCK
142-
// //blockRTE();
143-
// String title = embeddedObject.getString("title");
144-
// String multi_line = embeddedObject.getString("multi_line");
145-
// return "<p>" + title + "</p><span>" + multi_line + "</span>";
146-
//
147-
// case INLINE:
148-
// // statements of INLINE
149-
// return null;
150-
//
151-
// case LINKED:
152-
// // statements of LINKED
153-
// return null;
154-
//
155-
// default:
156-
// return null;
157-
// }
158-
//
159-
// });
160-
// }
161-
//
162-
//
163-
// @Test
164-
// public void test_embedded_displayable_asset() {
165-
// JSONArray rteArray = null;
166-
// boolean available = localJsonObj.has("rich_text_editor");
167-
// if (available) {
168-
// Object RTE = localJsonObj.get("rich_text_editor");
169-
// rteArray = ((JSONArray) RTE);
170-
// }
171-
// assert rteArray != null;
172-
// Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
173-
// if (metadata.getStyleType() == StyleType.DISPLAY) {// statements of displayable
174-
// return null;
175-
// }
176-
// return null;
177-
// });
178-
// }
179-
//
180-
// @Test
181-
// public void justTest(){
182-
// //String[] blankArray = new String[0];
183-
// //new Utils().render({}, null, eck);
184-
// }
55+
@Test
56+
public void test_03_EmbeddedBlockEntry() {
57+
JSONArray rteArray = null;
58+
boolean available = localJsonObj.has("rich_text_editor");
59+
if (available) {
60+
Object RTE = localJsonObj.get("rich_text_editor");
61+
rteArray = ((JSONArray) RTE);
62+
}
63+
assert rteArray != null;
64+
Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
65+
StyleType type = metadata.getStyleType();
66+
if (type == StyleType.BLOCK) {
67+
String title = embeddedObject.getString("title");
68+
String multi_line = embeddedObject.getString("multi_line");
69+
return "<p>" + title + "</p><span>" + multi_line + "</span>";
70+
}
71+
return null;
72+
});
73+
74+
Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
75+
if (metadata.getStyleType() == StyleType.BLOCK) {
76+
String title = embeddedObject.getString("title");
77+
String multi_line = embeddedObject.getString("multi_line");
78+
return "<p>" + title + "</p><span>" + multi_line + "</span>";
79+
}
80+
return null;
81+
});
82+
}
83+
84+
85+
@Test
86+
public void test_2_embedded_inline_entry() {
87+
JSONArray rteArray = null;
88+
boolean available = localJsonObj.has("rich_text_editor");
89+
if (available) {
90+
Object RTE = localJsonObj.get("rich_text_editor");
91+
rteArray = ((JSONArray) RTE);
92+
}
93+
assert rteArray != null;
94+
Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
95+
switch (metadata.getStyleType()) {
96+
case BLOCK:
97+
// statements of BLOCK
98+
String title = embeddedObject.getString("title");
99+
String multi_line = embeddedObject.getString("multi_line");
100+
return "<p>" + title + "</p><span>" + multi_line + "</span>";
101+
case INLINE:
102+
// statements of INLINE
103+
return null;
104+
105+
case LINK:
106+
// statements of LINKED
107+
return null;
108+
109+
default:
110+
return null;
111+
}
112+
});
113+
}
114+
115+
116+
@Test
117+
public void test_3_embedded_linked_entry() {
118+
JSONArray rteArray = null;
119+
boolean available = localJsonObj.has("rich_text_editor");
120+
if (available) {
121+
Object RTE = localJsonObj.get("rich_text_editor");
122+
rteArray = ((JSONArray) RTE);
123+
}
124+
assert rteArray != null;
125+
Utils.renderContents(rteArray, localJsonObj, (embeddedObject, metadata) -> {
126+
switch (metadata.getStyleType()) {
127+
case BLOCK:
128+
//Statements of BLOCK
129+
//blockRTE();
130+
String title = embeddedObject.getString("title");
131+
String multi_line = embeddedObject.getString("multi_line");
132+
return "<p>" + title + "</p><span>" + multi_line + "</span>";
133+
134+
case INLINE:
135+
// Statements of INLINE
136+
return null;
137+
138+
case LINK:
139+
// Statements of LINKED
140+
return null;
141+
142+
default:
143+
return null;
144+
}
145+
146+
});
147+
}
148+
149+
150+
@Test
151+
public void test_embedded_displayable_asset() {
152+
JSONObject rteObject = null;
153+
boolean available = localJsonObj.has("rich_text_editor");
154+
if (available) {
155+
Object RTE = localJsonObj.get("rich_text_editor");
156+
rteObject = ((JSONObject) RTE);
157+
}
158+
assert rteObject != null;
159+
String[] keyPath = {
160+
"rich_text_editor", "global_rich_multiple.group.rich_text_editor"
161+
};
162+
Utils.render(rteObject, keyPath, new Option() {
163+
@Override
164+
public String renderOptions(JSONObject embeddedObject, Metadata metadata) {
165+
if (metadata.getStyleType()==StyleType.BLOCK){
166+
// Do something
167+
}
168+
return null;
169+
}
170+
});
171+
}
172+
185173

186174
}

0 commit comments

Comments
 (0)