GSON errors for 'entity_status ' on Campaign and LineItem
Closed this issue · 5 comments
frankgrimes97 commented
java.lang.IllegalArgumentException: class twitter4jads.models.ads.Campaign declares multiple JSON fields named entity_status
frankgrimes97 commented
Managed to patch it locally as follows:
$ git diff
diff --git a/twitter4j-ads/src/twitter4jads/impl/TwitterAdsCampaignApiImpl.java b/twitter4j-ads/src/twitter4jads/impl/TwitterAdsCampaignApiImpl.java
index 86c4fe9..028b88c 100644
--- a/twitter4j-ads/src/twitter4jads/impl/TwitterAdsCampaignApiImpl.java
+++ b/twitter4j-ads/src/twitter4jads/impl/TwitterAdsCampaignApiImpl.java
@@ -154,8 +154,8 @@ public class TwitterAdsCampaignApiImpl implements TwitterAdsCampaignApi {
String endTime = String.valueOf(df.format(campaign.getEndTime()));
params.add(new HttpParameter(PARAM_END_TIME, endTime));
}
- if (campaign.getEntityStatus() != null) {
- params.add(new HttpParameter(PARAM_ENTITY_STATUS, campaign.getEntityStatus()));
+ if (campaign.getStatus() != null) {
+ params.add(new HttpParameter(PARAM_ENTITY_STATUS, campaign.getStatus().name()));
}
if (campaign.getStandardDelivery() != null) {
Boolean standardDelivery = campaign.getStandardDelivery();
diff --git a/twitter4j-ads/src/twitter4jads/models/ads/Campaign.java b/twitter4j-ads/src/twitter4jads/models/ads/Campaign.java
index 2764aab..3da2db7 100644
--- a/twitter4j-ads/src/twitter4jads/models/ads/Campaign.java
+++ b/twitter4j-ads/src/twitter4jads/models/ads/Campaign.java
@@ -31,9 +31,6 @@ public class Campaign extends TwitterEntity implements Serializable {
@SerializedName("deleted")
private Boolean deleted;
- @SerializedName("entity_status")
- private String entityStatus;
-
@SerializedName("servable")
private Boolean servable;
@@ -195,11 +192,11 @@ public class Campaign extends TwitterEntity implements Serializable {
this.durationInDays = durationInDays;
}
- public String getEntityStatus() {
- return entityStatus;
+ public EntityStatus getStatus() {
+ return status;
}
- public void setEntityStatus(String entityStatus) {
- this.entityStatus = entityStatus;
+ public void setStatus(EntityStatus status) {
+ this.status = status;
}
}
diff --git a/twitter4j-ads/src/twitter4jads/models/ads/LineItem.java b/twitter4j-ads/src/twitter4jads/models/ads/LineItem.java
index 099e514..86f12fa 100644
--- a/twitter4j-ads/src/twitter4jads/models/ads/LineItem.java
+++ b/twitter4j-ads/src/twitter4jads/models/ads/LineItem.java
@@ -40,9 +40,6 @@ public class LineItem extends TwitterEntity {
@SerializedName("objective")
private String objective;
- @SerializedName("entity_status")
- private String entityStatus;
-
@SerializedName("deleted")
private Boolean deleted;
@@ -329,14 +326,6 @@ public class LineItem extends TwitterEntity {
this.trackingTags = trackingTags;
}
- public String getEntityStatus() {
- return entityStatus;
- }
-
- public void setEntityStatus(String entityStatus) {
- this.entityStatus = entityStatus;
- }
-
public Date getStartTime() {
return startTimeInUTC;
}
vinitkataria commented
Have pushed a fix and updated the jar. Thanks for pointing it out!
alex-eyereturn commented
Hi @vinitkataria
Do you have a plan to update the jar on Maven repository? Thanks in advance.
frankgrimes97 commented
@vinitkataria I don't see a fix committed for LineItem.java
frankgrimes97 commented
Seems to be fixed now: 7a4e2d0#diff-e935e159489a1d6e1dcfe5035d49388c