Skip to content

Commit ce52071

Browse files
Merge pull request #72 from Bandwidth/SWI-5093
SWI-5093 Adding CombinedSearchAndOrder
2 parents c60c5b2 + de53100 commit ce52071

File tree

5 files changed

+177
-1
lines changed

5 files changed

+177
-1
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.bandwidth.sdk</groupId>
66
<artifactId>bandwidth-java-iris-sdk</artifactId>
7-
<version>4.0.0</version>
7+
<version>4.1.1</version>
88
<packaging>jar</packaging>
99
<name>bandwidth-java-iris-sdk</name>
1010
<description>Java SDK for use with the IRIS API.</description>
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
package com.bandwidth.iris.sdk.model;
2+
3+
import javax.xml.bind.annotation.XmlAccessType;
4+
import javax.xml.bind.annotation.XmlAccessorType;
5+
import javax.xml.bind.annotation.XmlElement;
6+
import javax.xml.bind.annotation.XmlRootElement;
7+
8+
@XmlRootElement(name = "CombinedSearchAndOrderType")
9+
@XmlAccessorType(XmlAccessType.FIELD)
10+
public class CombinedSearchAndOrderType extends BaseOrderType {
11+
@XmlElement(name = "AreaCode")
12+
private String areaCode;
13+
14+
public String getAreaCode() {
15+
return areaCode;
16+
}
17+
18+
@XmlElement(name = "City")
19+
private String city;
20+
21+
public String getCity() {
22+
return city;
23+
}
24+
25+
public void setCity(String city) {
26+
this.city = city;
27+
}
28+
29+
@XmlElement(name = "EnableLCA")
30+
private boolean enableLCA;
31+
32+
public boolean isEnableLCA() {
33+
return enableLCA;
34+
}
35+
36+
public void setEnableLCA(boolean enableLCA) {
37+
this.enableLCA = enableLCA;
38+
}
39+
40+
@XmlElement(name = "EndsIn")
41+
private boolean endsIn;
42+
43+
public boolean isEndsIn() {
44+
return endsIn;
45+
}
46+
47+
public void setEndsIn(boolean endsIn) {
48+
this.endsIn = endsIn;
49+
}
50+
51+
@XmlElement(name = "LATA")
52+
private String lata;
53+
54+
public String getLata() {
55+
return lata;
56+
}
57+
58+
public void setLata(String lata) {
59+
this.lata = lata;
60+
}
61+
62+
@XmlElement(name = "LocalVanity")
63+
private String localVanity;
64+
65+
public String getLocalVanity() {
66+
return localVanity;
67+
}
68+
69+
public void setLocalVanity(String localVanity) {
70+
this.localVanity = localVanity;
71+
}
72+
73+
@XmlElement(name = "NpaNxx")
74+
private String npaNxx;
75+
76+
public String getNpaNxx() {
77+
return npaNxx;
78+
}
79+
80+
public void setNpaNxx(String npaNxx) {
81+
this.npaNxx = npaNxx;
82+
}
83+
84+
@XmlElement(name = "NpaNxxX")
85+
private String npaNxxX;
86+
87+
public String getNpaNxxX() {
88+
return npaNxxX;
89+
}
90+
91+
public void setNpaNxxX(String npaNxxX) {
92+
this.npaNxxX = npaNxxX;
93+
}
94+
95+
@XmlElement(name = "Quantity")
96+
private int quantity;
97+
98+
public int getQuantity() {
99+
return quantity;
100+
}
101+
102+
public void setQuantity(int quantity) {
103+
this.quantity = quantity;
104+
}
105+
106+
@XmlElement(name = "RateCenter")
107+
private String rateCenter;
108+
109+
public String getRateCenter() {
110+
return rateCenter;
111+
}
112+
113+
public void setRateCenter(String rateCenter) {
114+
this.rateCenter = rateCenter;
115+
}
116+
117+
@XmlElement(name = "State")
118+
private String state;
119+
120+
public String getState() {
121+
return state;
122+
}
123+
124+
public void setState(String state) {
125+
this.state = state;
126+
}
127+
128+
@XmlElement(name = "Zip")
129+
private String zip;
130+
131+
public String getZip() {
132+
return zip;
133+
}
134+
135+
public void setZip(String zip) {
136+
this.zip = zip;
137+
}
138+
}

src/main/java/com/bandwidth/iris/sdk/model/Order.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ public class Order extends BaseModel {
4949
private TollFreeWildCharSearchAndOrderType tollFreeWildCharSearchAndOrderType;
5050
@XmlElement(name = "ZIPSearchAndOrderType")
5151
private ZIPSearchAndOrderType zipSearchAndOrderType;
52+
@XmlElement(name = "CombinedSearchAndOrderType")
53+
private CombinedSearchAndOrderType combinedSearchAndOrderType;
54+
5255

5356
public static OrderResponse create(IrisClient client, Order order) throws Exception {
5457
OrderResponse orderResponse = client
@@ -208,6 +211,14 @@ public void setZipSearchAndOrderType(ZIPSearchAndOrderType zipSearchAndOrderType
208211
this.zipSearchAndOrderType = zipSearchAndOrderType;
209212
}
210213

214+
public CombinedSearchAndOrderType getCombinedSearchAndOrderType() {
215+
return combinedSearchAndOrderType;
216+
}
217+
218+
public void setCombinedSearchAndOrderType(CombinedSearchAndOrderType combinedSearchAndOrderType) {
219+
this.combinedSearchAndOrderType = combinedSearchAndOrderType;
220+
}
221+
211222
public void addNote(Note note) throws Exception {
212223
client.put(client.buildAccountModelUri(new String[] { IrisPath.ORDERS_URI_PATH, id, "notes" }), note);
213224
}

src/test/java/com/bandwidth/iris/sdk/IrisClientTestUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,7 @@ public class IrisClientTestUtils {
483483
* Order Xmls
484484
*/
485485
public static String validOrderResponseXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><OrderResponse><Order><Name>A New Order</Name><OrderCreateDate>2014-10-14T17:58:15.299Z</OrderCreateDate><BackOrderRequested>false</BackOrderRequested><id>someid</id><ExistingTelephoneNumberOrderType><TelephoneNumberList><TelephoneNumber>2052865046</TelephoneNumber></TelephoneNumberList></ExistingTelephoneNumberOrderType><PartialAllowed>false</PartialAllowed><SiteId>2858</SiteId></Order></OrderResponse>";
486+
public static String validCombinedOrderResponseXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><OrderResponse><Order><Name>Test CombinedSearchAndOrderType Order</Name><OrderCreateDate>2014-10-14T17:58:15.299Z</OrderCreateDate><BackOrderRequested>false</BackOrderRequested><id>someid</id><CombinedSearchAndOrderType><EnableLCA>false</EnableLCA><Quantity>1</Quantity><RateCenter>DOVER</RateCenter><State>NH</State></CombinedSearchAndOrderType><PartialAllowed>false</PartialAllowed><SiteId>2858</SiteId></Order></OrderResponse>";
486487
public static String validRateCenterOrderResponseXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><OrderResponse><Order><Name>Test RateCenterSearchAndOrderType Order</Name><OrderCreateDate>2014-10-14T17:58:15.299Z</OrderCreateDate><BackOrderRequested>false</BackOrderRequested><id>someid</id><RateCenterSearchAndOrderType><EnableLCA>false</EnableLCA><Quantity>1</Quantity><RateCenter>DOVER</RateCenter><State>NH</State></RateCenterSearchAndOrderType><PartialAllowed>false</PartialAllowed><SiteId>2858</SiteId></Order></OrderResponse>";
487488
public static String validOrderResponseErrorXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><OrderResponse><CompletedQuantity>0</CompletedQuantity><CreatedByUser>testapi</CreatedByUser><ErrorList><Error><Code>5018</Code><Description>The entire quantity of telephone numbers ordered is unavailable</Description></Error></ErrorList><LastModifiedDate>2022-02-17T15:28:24.152Z</LastModifiedDate><OrderCompleteDate>2022-02-17T15:28:24.152Z</OrderCompleteDate><Order><id>errorid</id><CustomerOrderId>MyTestOrderId</CustomerOrderId><OrderCreateDate>2022-02-17T15:28:24.026Z</OrderCreateDate><PeerId>223787</PeerId><BackOrderRequested>false</BackOrderRequested><RateCenterSearchAndOrderType><EnableLCA>true</EnableLCA><Quantity>1</Quantity><RateCenter>DOVER</RateCenter><State>NH</State></RateCenterSearchAndOrderType><PartialAllowed>true</PartialAllowed><SiteId>56984</SiteId><TnAttributes/></Order><OrderStatus>FAILED</OrderStatus><CompletedNumbers/><Summary>1 number requested</Summary><FailedQuantity>1</FailedQuantity></OrderResponse>";
488489
public static String validOrderNotesResponseXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Notes><Note><Id>178468</Id><UserId>user</UserId><Description>Adding a note</Description><LastDateModifier>2014-11-19T21:02:26.000Z</LastDateModifier></Note></Notes>";

src/test/java/com/bandwidth/iris/sdk/OrderTests.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,30 @@ public void rateCenterSearchAndOrderTypeTestCreate() throws Exception {
152152
assertEquals(createdOrder.getOrder().getRateCenterSearchAndOrderType().getRateCenter(), "DOVER");
153153
}
154154

155+
@Test
156+
public void CombinedSearchAndOrderTypeTestCreate() throws Exception {
157+
String ordersUrl = "/v1.0/accounts/accountId/orders";
158+
stubFor(post(urlMatching(ordersUrl))
159+
.willReturn(aResponse()
160+
.withStatus(200)
161+
.withHeader("Content-Type", "application/xml")
162+
.withBody(IrisClientTestUtils.validCombinedOrderResponseXml)));
163+
164+
Order order = new Order();
165+
order.setName("Test CombinedSearchAndOrderType Order");
166+
167+
CombinedSearchAndOrderType combinedSearchAndOrderType = new CombinedSearchAndOrderType();
168+
combinedSearchAndOrderType.setEnableLCA(false);
169+
combinedSearchAndOrderType.setQuantity(1);
170+
combinedSearchAndOrderType.setRateCenter("DOVER"); // No inventory available here
171+
combinedSearchAndOrderType.setState("NH");
172+
173+
order.setCombinedSearchAndOrderType(combinedSearchAndOrderType);
174+
175+
OrderResponse createdOrder = Order.create(getDefaultClient(), order);
176+
assertEquals(createdOrder.getOrder().getName(), "Test CombinedSearchAndOrderType Order");
177+
assertEquals(createdOrder.getOrder().getCombinedSearchAndOrderType().getRateCenter(), "DOVER");
178+
}
179+
180+
155181
}

0 commit comments

Comments
 (0)