1 package pl
.smsapi
.api
.action
.phonebook
;
4 import java
.net
.URISyntaxException
;
5 import java
.util
.ArrayList
;
6 import java
.util
.Calendar
;
7 import java
.util
.GregorianCalendar
;
9 import org
.json
.JSONObject
;
10 import pl
.smsapi
.api
.action
.BaseAction
;
11 import pl
.smsapi
.api
.response
.ContactResponse
;
13 public class ContactAdd
extends BaseAction
<ContactResponse
> {
15 private ArrayList
<String
> groups
= new ArrayList
<String
>();
18 public URI
uri() throws URISyntaxException
{
22 query
= paramsLoginToQuery();
24 query
+= paramsOther();
26 if (!groups
.isEmpty()) {
27 String tmp
[] = new String
[groups
.size()];
29 query
+= "&groups=" + join(tmp
, ",");
32 return new URI(proxy
.getProtocol(), null, proxy
.getHost(), proxy
.getPort(), proxy
.getPath()+"phonebook.do", query
, null);
35 public ContactAdd
setNumber(String number
) {
36 params
.put("add_contact", number
);
40 public ContactAdd
setFirstName(String firstName
) {
41 params
.put("first_name", firstName
);
45 public ContactAdd
setLastName(String lastName
) {
46 params
.put("last_name", lastName
);
50 public ContactAdd
setInfo(String info
) {
51 params
.put("info", info
);
55 public ContactAdd
setEmail(String email
) {
56 params
.put("email", email
);
60 public ContactAdd
setBirthday(String birthday
) {
61 params
.put("birthday", birthday
);
65 public ContactAdd
setBirthday(GregorianCalendar cal
) {
66 String tmp
= Integer
.toString(cal
.get(Calendar
.DAY_OF_MONTH
))
67 + "." + Integer
.toString(cal
.get(Calendar
.MONTH
))
68 + "." + Integer
.toString(cal
.get(Calendar
.YEAR
));
69 params
.put("birthday", tmp
);
73 public ContactAdd
setCity(String city
) {
74 params
.put("city", city
);
78 public ContactAdd
setGender(ContactResponse
.Gender gender
) {
79 params
.put("gender", gender
.type().toString());
83 public ContactAdd
setGender(String gender
) {
85 if (gender
.equalsIgnoreCase(ContactResponse
.Gender
.FEMALE
.name())) {
86 setGender(ContactResponse
.Gender
.FEMALE
);
87 } else if (gender
.equalsIgnoreCase(ContactResponse
.Gender
.MALE
.name())) {
88 setGender(ContactResponse
.Gender
.MALE
);
95 public ContactAdd
setGroup(String group
) {
100 public ContactAdd
setGroups(String
[] groups
) {
101 for (String item
: groups
) {
107 protected ContactResponse
createResponse(String data
) {
108 JSONObject jsonObject
= new JSONObject(data
);
111 jsonObject
.getString("number"),
112 jsonObject
.optString("first_name"),
113 jsonObject
.optString("last_name"),
114 jsonObject
.optString("info"),
115 jsonObject
.optString("birthday"),
116 jsonObject
.optString("city"),
117 jsonObject
.optString("gender"),
118 jsonObject
.optInt("date_add"),
119 jsonObject
.optInt("date_mod")