Skip to content

Commit 71dfb96

Browse files
author
Henrique Cabral
committed
Refactored Dynamic Content model classes names to avoid possible future ambiguity; Added simple iteration and retrieval test
1 parent 37da85c commit 71dfb96

File tree

4 files changed

+89
-54
lines changed

4 files changed

+89
-54
lines changed

src/main/java/org/zendesk/client/v2/Zendesk.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@
5353
import org.zendesk.client.v2.model.User;
5454
import org.zendesk.client.v2.model.UserField;
5555
import org.zendesk.client.v2.model.UserRelatedInfo;
56-
import org.zendesk.client.v2.model.dynamic.Item;
57-
import org.zendesk.client.v2.model.dynamic.Variant;
56+
import org.zendesk.client.v2.model.dynamic.DynamicContentItem;
57+
import org.zendesk.client.v2.model.dynamic.DynamicContentItemVariant;
5858
import org.zendesk.client.v2.model.hc.Article;
5959
import org.zendesk.client.v2.model.hc.ArticleAttachments;
6060
import org.zendesk.client.v2.model.hc.Category;
@@ -1615,59 +1615,59 @@ public SatisfactionRating createSatisfactionRating(Ticket ticket, SatisfactionRa
16151615
// Action methods for Dynamic Content - Items and Variants
16161616
//////////////////////////////////////////////////////////////////////
16171617

1618-
public Iterable<Item> getItems() {
1619-
return new PagedIterable<>(cnst("/dynamic_content/items.json"), handleList(Item.class, "items"));
1618+
public Iterable<DynamicContentItem> getDynamicContentItems() {
1619+
return new PagedIterable<>(cnst("/dynamic_content/items.json"), handleList(DynamicContentItem.class, "items"));
16201620
}
16211621

1622-
public Item getItem(long id) {
1623-
return complete(submit(req("GET", tmpl("/dynamic_content/items/{id}.json").set("id", id)), handle(Item.class, "item")));
1622+
public DynamicContentItem getDynamicContentItem(long id) {
1623+
return complete(submit(req("GET", tmpl("/dynamic_content/items/{id}.json").set("id", id)), handle(DynamicContentItem.class, "item")));
16241624
}
16251625

1626-
public Item createItem(Item item) {
1626+
public DynamicContentItem createDynamicContentItem(DynamicContentItem item) {
16271627
return complete(submit(req("POST", cnst("/dynamic_content/items.json"), JSON, json(
1628-
Collections.singletonMap("item", item))), handle(Item.class, "item")));
1628+
Collections.singletonMap("item", item))), handle(DynamicContentItem.class, "item")));
16291629
}
16301630

1631-
public Item updateItem(Item item) {
1631+
public DynamicContentItem updateDynamicContentItem(DynamicContentItem item) {
16321632
checkHasId(item);
16331633
return complete(submit(req("PUT", tmpl("/dynamic_content/items/{id}.json").set("id", item.getId()),
1634-
JSON, json(Collections.singletonMap("item", item))), handle(Item.class, "item")));
1634+
JSON, json(Collections.singletonMap("item", item))), handle(DynamicContentItem.class, "item")));
16351635
}
16361636

1637-
public void deleteItem(Item item) {
1637+
public void deleteDynamicContentItem(DynamicContentItem item) {
16381638
checkHasId(item);
16391639
complete(submit(req("DELETE", tmpl("/dynamic_content/items/{id}.json").set("id", item.getId())),
16401640
handleStatus()));
16411641
}
16421642

16431643
/** VARIANTS */
16441644

1645-
public Iterable<Variant> getVariants(Item item) {
1645+
public Iterable<DynamicContentItemVariant> getDynamicContentItemVariants(DynamicContentItem item) {
16461646
checkHasId(item);
16471647
return new PagedIterable<>(
16481648
tmpl("/dynamic_content/items/{id}/variants.json").set("id", item.getId()),
1649-
handleList(Variant.class, "variants"));
1649+
handleList(DynamicContentItemVariant.class, "variants"));
16501650
}
16511651

1652-
public Variant getVariant(Long itemId, long id) {
1652+
public DynamicContentItemVariant getDynamicContentItemVariant(Long itemId, long id) {
16531653
return complete(submit(req("GET", tmpl("/dynamic_content/items/{itemId}/variants/{id}.json").set("itemId", itemId).set("id", id)),
1654-
handle(Variant.class, "variant")));
1654+
handle(DynamicContentItemVariant.class, "variant")));
16551655
}
16561656

1657-
public Variant createVariant(Long itemId, Variant variant) {
1657+
public DynamicContentItemVariant createDynamicContentItemVariant(Long itemId, DynamicContentItemVariant variant) {
16581658
checkHasItemId(itemId);
16591659
return complete(submit(req("POST", tmpl("/dynamic_content/items/{id}/variants.json").set("id", itemId),
1660-
JSON, json(Collections.singletonMap("variant", variant))), handle(Variant.class, "variant")));
1660+
JSON, json(Collections.singletonMap("variant", variant))), handle(DynamicContentItemVariant.class, "variant")));
16611661
}
16621662

1663-
public Variant updateVariant(Long itemId, Variant variant) {
1663+
public DynamicContentItemVariant updateDynamicContentItemVariant(Long itemId, DynamicContentItemVariant variant) {
16641664
checkHasItemId(itemId);
16651665
checkHasId(variant);
16661666
return complete(submit(req("PUT", tmpl("/dynamic_content/items/{itemId}/variants/{id}.json").set("itemId", itemId).set("id", variant.getId()),
1667-
JSON, json(Collections.singletonMap("variant", variant))), handle(Variant.class, "variant")));
1667+
JSON, json(Collections.singletonMap("variant", variant))), handle(DynamicContentItemVariant.class, "variant")));
16681668
}
16691669

1670-
public void deleteVariant(Long itemId, Variant variant) {
1670+
public void deleteDynamicContentItemVariant(Long itemId, DynamicContentItemVariant variant) {
16711671
checkHasItemId(itemId);
16721672
checkHasId(variant);
16731673
complete(submit(req("DELETE", tmpl("/dynamic_content/items/{itemId}/variants/{id}.json").set("itemId", itemId).set("id", variant.getId())), handleStatus()));
@@ -2417,13 +2417,13 @@ private static void checkHasId(Article article) {
24172417
}
24182418
}
24192419

2420-
private static void checkHasId(Item item) {
2420+
private static void checkHasId(DynamicContentItem item) {
24212421
if (item.getId() == null) {
24222422
throw new IllegalArgumentException("Item requires id");
24232423
}
24242424
}
24252425

2426-
private static void checkHasId(Variant variant) {
2426+
private static void checkHasId(DynamicContentItemVariant variant) {
24272427
if (variant.getId() == null) {
24282428
throw new IllegalArgumentException("Variant requires id");
24292429
}

src/main/java/org/zendesk/client/v2/model/dynamic/Item.java renamed to src/main/java/org/zendesk/client/v2/model/dynamic/DynamicContentItem.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import java.util.List;
88
import java.util.Objects;
99

10-
public class Item implements Serializable {
10+
public class DynamicContentItem implements Serializable {
1111

1212
private static final long serialVersionUID = 1L;
1313

@@ -39,13 +39,13 @@ public class Item implements Serializable {
3939
private Date updatedAt;
4040

4141
/** All variants within this item */
42-
private List<Variant> variants;
42+
private List<DynamicContentItemVariant> variants;
4343

44-
public Item() {
44+
public DynamicContentItem() {
4545
}
4646

47-
public Item(Long id, String url, String name, String placeholder, Long defaultLocaleId, Boolean outdated,
48-
Date createdAt, Date updatedAt, List<Variant> variants) {
47+
public DynamicContentItem(Long id, String url, String name, String placeholder, Long defaultLocaleId, Boolean outdated,
48+
Date createdAt, Date updatedAt, List<DynamicContentItemVariant> variants) {
4949
this.id = id;
5050
this.url = url;
5151
this.name = name;
@@ -125,55 +125,55 @@ public void setUpdatedAt(Date updatedAt) {
125125
this.updatedAt = updatedAt;
126126
}
127127

128-
public List<Variant> getVariants() {
128+
public List<DynamicContentItemVariant> getVariants() {
129129
return this.variants;
130130
}
131131

132-
public void setVariants(List<Variant> variants) {
132+
public void setVariants(List<DynamicContentItemVariant> variants) {
133133
this.variants = variants;
134134
}
135135

136-
public Item id(Long id) {
136+
public DynamicContentItem id(Long id) {
137137
this.id = id;
138138
return this;
139139
}
140140

141-
public Item url(String url) {
141+
public DynamicContentItem url(String url) {
142142
this.url = url;
143143
return this;
144144
}
145145

146-
public Item name(String name) {
146+
public DynamicContentItem name(String name) {
147147
this.name = name;
148148
return this;
149149
}
150150

151-
public Item placeholder(String placeholder) {
151+
public DynamicContentItem placeholder(String placeholder) {
152152
this.placeholder = placeholder;
153153
return this;
154154
}
155155

156-
public Item defaultLocaleId(Long defaultLocaleId) {
156+
public DynamicContentItem defaultLocaleId(Long defaultLocaleId) {
157157
this.defaultLocaleId = defaultLocaleId;
158158
return this;
159159
}
160160

161-
public Item outdated(Boolean outdated) {
161+
public DynamicContentItem outdated(Boolean outdated) {
162162
this.outdated = outdated;
163163
return this;
164164
}
165165

166-
public Item createdAt(Date createdAt) {
166+
public DynamicContentItem createdAt(Date createdAt) {
167167
this.createdAt = createdAt;
168168
return this;
169169
}
170170

171-
public Item updatedAt(Date updatedAt) {
171+
public DynamicContentItem updatedAt(Date updatedAt) {
172172
this.updatedAt = updatedAt;
173173
return this;
174174
}
175175

176-
public Item variants(List<Variant> variants) {
176+
public DynamicContentItem variants(List<DynamicContentItemVariant> variants) {
177177
this.variants = variants;
178178
return this;
179179
}
@@ -182,10 +182,10 @@ public Item variants(List<Variant> variants) {
182182
public boolean equals(Object o) {
183183
if (o == this)
184184
return true;
185-
if (!(o instanceof Item)) {
185+
if (!(o instanceof DynamicContentItem)) {
186186
return false;
187187
}
188-
Item item = (Item) o;
188+
DynamicContentItem item = (DynamicContentItem) o;
189189
return Objects.equals(id, item.id) && Objects.equals(url, item.url) && Objects.equals(name, item.name)
190190
&& Objects.equals(placeholder, item.placeholder)
191191
&& Objects.equals(defaultLocaleId, item.defaultLocaleId) && Objects.equals(outdated, item.outdated)

src/main/java/org/zendesk/client/v2/model/dynamic/Variant.java renamed to src/main/java/org/zendesk/client/v2/model/dynamic/DynamicContentItemVariant.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import java.util.Date;
77
import java.util.Objects;
88

9-
public class Variant implements Serializable {
9+
public class DynamicContentItemVariant implements Serializable {
1010

1111
private static final long serialVersionUID = 1L;
1212

@@ -41,10 +41,10 @@ public class Variant implements Serializable {
4141
@JsonProperty("updated_at")
4242
private Date updatedAt;
4343

44-
public Variant() {
44+
public DynamicContentItemVariant() {
4545
}
4646

47-
public Variant(Long id, String url, String content, Long localeId, Boolean outdated, Boolean active, Boolean isDefault, Date createdAt, Date updatedAt) {
47+
public DynamicContentItemVariant(Long id, String url, String content, Long localeId, Boolean outdated, Boolean active, Boolean isDefault, Date createdAt, Date updatedAt) {
4848
this.id = id;
4949
this.url = url;
5050
this.content = content;
@@ -140,47 +140,47 @@ public void setUpdatedAt(Date updatedAt) {
140140
this.updatedAt = updatedAt;
141141
}
142142

143-
public Variant id(Long id) {
143+
public DynamicContentItemVariant id(Long id) {
144144
this.id = id;
145145
return this;
146146
}
147147

148-
public Variant url(String url) {
148+
public DynamicContentItemVariant url(String url) {
149149
this.url = url;
150150
return this;
151151
}
152152

153-
public Variant content(String content) {
153+
public DynamicContentItemVariant content(String content) {
154154
this.content = content;
155155
return this;
156156
}
157157

158-
public Variant localeId(Long localeId) {
158+
public DynamicContentItemVariant localeId(Long localeId) {
159159
this.localeId = localeId;
160160
return this;
161161
}
162162

163-
public Variant outdated(Boolean outdated) {
163+
public DynamicContentItemVariant outdated(Boolean outdated) {
164164
this.outdated = outdated;
165165
return this;
166166
}
167167

168-
public Variant active(Boolean active) {
168+
public DynamicContentItemVariant active(Boolean active) {
169169
this.active = active;
170170
return this;
171171
}
172172

173-
public Variant isDefault(Boolean isDefault) {
173+
public DynamicContentItemVariant isDefault(Boolean isDefault) {
174174
this.isDefault = isDefault;
175175
return this;
176176
}
177177

178-
public Variant createdAt(Date createdAt) {
178+
public DynamicContentItemVariant createdAt(Date createdAt) {
179179
this.createdAt = createdAt;
180180
return this;
181181
}
182182

183-
public Variant updatedAt(Date updatedAt) {
183+
public DynamicContentItemVariant updatedAt(Date updatedAt) {
184184
this.updatedAt = updatedAt;
185185
return this;
186186
}
@@ -189,10 +189,10 @@ public Variant updatedAt(Date updatedAt) {
189189
public boolean equals(Object o) {
190190
if (o == this)
191191
return true;
192-
if (!(o instanceof Variant)) {
192+
if (!(o instanceof DynamicContentItemVariant)) {
193193
return false;
194194
}
195-
Variant variant = (Variant) o;
195+
DynamicContentItemVariant variant = (DynamicContentItemVariant) o;
196196
return Objects.equals(id, variant.id) && Objects.equals(url, variant.url) && Objects.equals(content, variant.content) && Objects.equals(localeId, variant.localeId) && Objects.equals(outdated, variant.outdated) && Objects.equals(active, variant.active) && Objects.equals(isDefault, variant.isDefault) && Objects.equals(createdAt, variant.createdAt) && Objects.equals(updatedAt, variant.updatedAt);
197197
}
198198

src/test/java/org/zendesk/client/v2/RealSmokeTest.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import org.zendesk.client.v2.model.Ticket;
2323
import org.zendesk.client.v2.model.TicketForm;
2424
import org.zendesk.client.v2.model.User;
25+
import org.zendesk.client.v2.model.dynamic.DynamicContentItem;
26+
import org.zendesk.client.v2.model.dynamic.DynamicContentItemVariant;
2527
import org.zendesk.client.v2.model.events.Event;
2628
import org.zendesk.client.v2.model.hc.Article;
2729
import org.zendesk.client.v2.model.hc.Category;
@@ -1084,4 +1086,37 @@ public void createTicketForm() throws Exception {
10841086
assertEquals(givenName, createdForm.getRawName());
10851087
assertEquals(givenName, createdForm.getRawDisplayName());
10861088
}
1089+
1090+
@Test
1091+
public void getDynamicContentItems() throws Exception {
1092+
createClientWithTokenOrPassword();
1093+
int count = 0;
1094+
for (DynamicContentItem i : instance.getDynamicContentItems()) {
1095+
assertThat(i.getName(), notNullValue());
1096+
assertThat(i.getId(), notNullValue());
1097+
if (++count > 10) {
1098+
break;
1099+
}
1100+
1101+
DynamicContentItem item = instance.getDynamicContentItem(i.getId());
1102+
assertThat(item, notNullValue());
1103+
assertEquals(i.getId(), item.getId());
1104+
1105+
Iterable<DynamicContentItemVariant> variants = instance.getDynamicContentItemVariants(item);
1106+
assertThat(variants, notNullValue());
1107+
1108+
int secondaryCount = 0;
1109+
for (DynamicContentItemVariant v : variants) {
1110+
assertThat(v.getId(), notNullValue());
1111+
assertThat(v.getContent(), notNullValue());
1112+
1113+
DynamicContentItemVariant fetch = instance.getDynamicContentItemVariant(i.getId(), v.getId());
1114+
assertEquals(v.getId(), fetch.getId());
1115+
1116+
if (++secondaryCount > 10) {
1117+
break;
1118+
}
1119+
}
1120+
}
1121+
}
10871122
}

0 commit comments

Comments
 (0)