そこで、ハッシュマップの投稿に TIMESTAMP を追加しようとしています。(ルール -publish_date および expire_date) jSon でコード化された API を使用して、リモート サーバーにデータを投稿しています。
POST 形式の例を次に示します。
content={
"external_id": 1000,
"template_type_id": 103,
"channel_id": 226,
"title": "Título do Conteúdo",
"text": "Descrição do Conteúdo",
"rules": {
"publish_date": "2012-07-20T11:18:00-03:00",
"expiration_date": "2012-08-25T11:18:00-03:00",
"notify_publish": true,
"notify_expiration": false,
"highlighted": true
},
"interactions": {
"allow_comment": true,
"auto_download": false
}
}
まず、ContentDTO というクラスを作成し、そのコードを追加しました
package br.com.xxxx.xxxx;
public class ContentDTO {
public ContentDTO(String external_id, Integer template_type_id, String channel_id, String title, String text, RulesDTO rules, InteractionsDTO interactions) {
super();
this.external_id = external_id;
this.template_type_id = template_type_id;
this.channel_id = channel_id;
this.title = title;
this.text = text;
this.rules = rules;
this.interactions = interactions;
}
public ContentDTO() {
super();
}
private String external_id;
private Integer template_type_id;
private String channel_id;
private String title;
private String text;
private RulesDTO rules;
private InteractionsDTO interactions;
public String getExternal_id() {
return external_id;
}
public void setExternal_id(String external_id) {
this.external_id = external_id;
}
public Integer getTemplate_type_id() {
return template_type_id;
}
public void setTemplate_type_id(Integer template_type_id) {
this.template_type_id = template_type_id;
}
public String getChannel_id() {
return channel_id;
}
public void setChannel_id(String channel_id) {
this.channel_id = channel_id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public RulesDTO getRules() {
return rules;
}
public void setRules(RulesDTO rules) {
this.rules = rules;
}
public InteractionsDTO getInteractions() {
return interactions;
}
public void setInteractions(InteractionsDTO interactions) {
this.interactions = interactions;
}
}
それより、InteractionsDTO と RulesDTO の両方を作成しました。これが RulesDTO コードです。
package br.com.xxxx.xxxx;
import java.security.Timestamp;
public class RulesDTO {
public RulesDTO(Timestamp publish_date, Timestamp expiration_date,
Boolean notify_publish, Boolean notify_expiration,
Boolean highlihted) {
super();
this.publish_date = publish_date;
this.expiration_date = expiration_date;
this.notify_publish = notify_publish;
this.notify_expiration = notify_expiration;
this.highlihted = highlihted;
}
public RulesDTO() {
super();
}
public Timestamp publish_date;
public Timestamp expiration_date;
public Boolean notify_publish;
public Boolean notify_expiration;
public Boolean highlihted;
public Timestamp getPublish_date() {
return publish_date;
}
public void setPublish_date(Timestamp publish_date) {
this.publish_date = publish_date;
}
public Timestamp getExpiration_date() {
return expiration_date;
}
public void setExpiration_date(Timestamp expiration_date) {
this.expiration_date = expiration_date;
}
public Boolean getNotify_publish() {
return notify_publish;
}
public void setNotify_publish(Boolean notify_publish) {
this.notify_publish = notify_publish;
}
public Boolean getNotify_expiration() {
return notify_expiration;
}
public void setNotify_expiration(Boolean notify_expiration) {
this.notify_expiration = notify_expiration;
}
public Boolean getHighlihted() {
return highlihted;
}
public void setHighlihted(Boolean highlihted) {
this.highlihted = highlihted;
}
}
次に、ハッシュマップ。
HashMap<String, ContentDTO> cnt = new HashMap<String, ContentDTO>();
ContentDTO contentDTO = new ContentDTO();
contentDTO.setExternal_id("CNT1");
contentDTO.setTemplate_type_id(103);
contentDTO.setChannel_id("CHN1");
contentDTO.setTitle("Conteudo1");
contentDTO.setText("Conteudo teste 1");
RulesDTO rules = new RulesDTO();
rules.setPublish_date("2012-012-28T11:18:00-03:00");
rules.setExpiration_date("2013-08-25T11:18:00-03:00");
rules.setNotify_publish(true);
rules.setNotify_expiration(false);
rules.setHighlihted(true);
contentDTO.setRules(rules);
InteractionsDTO interactions = new InteractionsDTO();
interactions.setAllow_comment(true);
interactions.setAuto_downloa(false);
contentDTO.setInteractions(interactions);
cnt.put("content",contentDTO);
しかし、発行日と有効期限でエラーが発生します。(RulesDTO のメソッド setPublish_date(timestamp) は、引数 (文字列) には適用されません)
私は何をすべきか?
よろしくお願いします!