Skip to content

Commit 1dbe295

Browse files
committed
Updating of RestcommClient with methods with "clientSid" parameters
1 parent 1974928 commit 1dbe295

File tree

1 file changed

+54
-15
lines changed

1 file changed

+54
-15
lines changed

src/main/java/org/restcomm/sdk/RestcommClient.java

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,69 @@
11
package org.restcomm.sdk;
22

3-
import org.restcomm.sdk.domain.*;
4-
import org.restcomm.sdk.endpoints.RestEndpoints;
5-
3+
import java.util.HashMap;
64
import java.util.Map;
75

6+
import org.restcomm.sdk.domain.Account;
7+
import org.restcomm.sdk.domain.Application;
8+
import org.restcomm.sdk.domain.CallPage;
9+
import org.restcomm.sdk.domain.Client;
10+
import org.restcomm.sdk.domain.ExtensionData;
11+
import org.restcomm.sdk.domain.IncomingPhoneNumber;
12+
import org.restcomm.sdk.domain.RecordingPage;
13+
import org.restcomm.sdk.domain.ShortMessage;
14+
import org.restcomm.sdk.domain.XmppMapping;
15+
import org.restcomm.sdk.endpoints.RestEndpoints;
16+
817
/**
918
* @author [email protected] (Oleg Agafonov)
19+
* @author sergey vetyutnev
1020
*/
1121
public class RestcommClient {
1222

1323
private final HttpClient httpClient;
1424

15-
private final String baseRestcommUrl;
16-
private final String baseRestcommUrlWithoutAccount;
25+
protected final String baseRestcommUrl;
26+
protected final String baseRestcommUrlWithoutAccount;
1727

18-
private final String baseUrl;
28+
protected final String baseUrl;
29+
private final String accountSid;
1930

20-
private final Map<String, String> endpoints;
31+
protected final Map<String, String> endpoints;
2132

2233
public RestcommClient(RestcommClientConfiguration config) {
2334
this.httpClient = new HttpClient(config.getAccountSid(), config.getAccountToken());
24-
this.baseRestcommUrlWithoutAccount = config.getBaseUrl() + "/restcomm/2012-04-24/Accounts";
25-
this.baseRestcommUrl = config.getBaseUrl() + "/restcomm/2012-04-24/Accounts/" + config.getAccountSid();
35+
2636
this.baseUrl = config.getBaseUrl();
27-
this.endpoints = config.getEndpoints();
37+
this.baseRestcommUrlWithoutAccount = baseUrl + "/restcomm/2012-04-24/Accounts";
38+
this.baseRestcommUrl = baseUrl + "/restcomm/2012-04-24/Accounts/" + config.getAccountSid();
39+
if (config.getEndpoints() != null)
40+
this.endpoints = config.getEndpoints();
41+
else
42+
this.endpoints = new HashMap<String, String>();
43+
this.accountSid = config.getAccountSid();
44+
}
45+
46+
public String getAccountSid() {
47+
return this.accountSid;
2848
}
2949

3050
public RestEndpoints<CallPage> getCallsEndpoint() {
3151
return getEndpoints("calls", baseRestcommUrl + "/Calls.json", CallPage.class);
3252
}
3353

54+
public RestEndpoints<CallPage> getCallsEndpoint(String accountSid) {
55+
return getEndpoints("calls", baseRestcommUrlWithoutAccount + "/" + accountSid + "/Calls.json", CallPage.class);
56+
}
57+
3458
public RestEndpoints<RecordingPage> getRecordingsEndpoint() {
3559
return getEndpoints("recordings", baseRestcommUrl + "/Recordings.json", RecordingPage.class);
3660
}
3761

62+
public RestEndpoints<RecordingPage> getRecordingsEndpoint(String accountSid) {
63+
return getEndpoints("recordings", baseRestcommUrlWithoutAccount + "/" + accountSid + "/Recordings.json",
64+
RecordingPage.class);
65+
}
66+
3867
public RestEndpoints<Client> getClientsEndpoints() {
3968
return getEndpoints("clients", baseRestcommUrl + "/Clients.json", Client.class);
4069
}
@@ -43,18 +72,28 @@ public RestEndpoints<Account> getAccountsEndpoints() {
4372
return getEndpoints("accounts", baseRestcommUrlWithoutAccount + ".json", Account.class);
4473
}
4574

46-
public RestEndpoints<Account> getAccountsEndpoints(String subAccountSid) {
47-
return getEndpoints("accounts", baseRestcommUrlWithoutAccount + ".json/" + subAccountSid, Account.class);
75+
public RestEndpoints<Account> getAccountsEndpoints(String accountSid) {
76+
return getEndpoints("accounts", baseRestcommUrlWithoutAccount + ".json/" + accountSid, Account.class);
4877
}
4978

5079
public RestEndpoints<Application> getApplicationsEndpoints() {
5180
return getEndpoints("applications", baseRestcommUrl + "/Applications.json", Application.class);
5281
}
5382

83+
public RestEndpoints<Application> getApplicationsEndpoints(String accountSid) {
84+
return getEndpoints("applications", baseRestcommUrlWithoutAccount + "/" + accountSid + "/Applications.json",
85+
Application.class);
86+
}
87+
5488
public RestEndpoints<IncomingPhoneNumber> getIncomingPhoneNumbersEndpoints() {
5589
return getEndpoints("incoming-phone-numbers", baseRestcommUrl + "/IncomingPhoneNumbers.json", IncomingPhoneNumber.class);
5690
}
5791

92+
public RestEndpoints<IncomingPhoneNumber> getIncomingPhoneNumbersEndpoints(String accountSid) {
93+
return getEndpoints("incoming-phone-numbers", baseRestcommUrlWithoutAccount + "/" + accountSid
94+
+ "/IncomingPhoneNumbers.json", IncomingPhoneNumber.class);
95+
}
96+
5897
public RestEndpoints<XmppMapping> getXmppMappingsEndpoints() {
5998
return getEndpoints("xmpp-mappings", baseUrl + "/xmpp/xmppMappings", XmppMapping.class);
6099
}
@@ -63,16 +102,16 @@ public RestEndpoints<ShortMessage> getShortMessagesEndpoints() {
63102
return getEndpoints("messages", baseRestcommUrl + "/SMS/Messages.json", ShortMessage.class);
64103
}
65104

66-
public RestEndpoints<ShortMessage> getShortMessagesEndpoints(String subAccountSid) {
67-
return getEndpoints("messages", baseRestcommUrlWithoutAccount + "/" + subAccountSid + "/SMS/Messages.json",
105+
public RestEndpoints<ShortMessage> getShortMessagesEndpoints(String accountSid) {
106+
return getEndpoints("messages", baseRestcommUrlWithoutAccount + "/" + accountSid + "/SMS/Messages.json",
68107
ShortMessage.class);
69108
}
70109

71110
public RestEndpoints<ExtensionData> getExtensions() {
72111
return getEndpoints("extensions", baseUrl + "/restcomm/2012-04-24/ExtensionsConfiguration.json", ExtensionData.class);
73112
}
74113

75-
private <T> RestEndpoints<T> getEndpoints(String endpoint, String defaultUrl, Class<T> type) {
114+
protected <T> RestEndpoints<T> getEndpoints(String endpoint, String defaultUrl, Class<T> type) {
76115
String url = endpoints.getOrDefault(endpoint, defaultUrl);
77116
return new RestEndpoints(url, httpClient, type);
78117
}

0 commit comments

Comments
 (0)