Skip to content

Commit 25d20d3

Browse files
committed
Add unitdp param
add Create CreditNote and Create Receipts wtih unitdp param so you can set decimal point up to 4 places on line items.
1 parent 72d1fde commit 25d20d3

File tree

6 files changed

+101
-26
lines changed

6 files changed

+101
-26
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Add this dependency and repository to your POM.xml
1616
<dependency>
1717
<groupId>com.xero</groupId>
1818
<artifactId>xero-java-sdk</artifactId>
19-
<version>1.0.0</version>
19+
<version>1.0.1</version>
2020
</dependency>
2121

2222
<repositories>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<groupId>com.xero</groupId>
55
<artifactId>xero-java-sdk</artifactId>
66
<packaging>jar</packaging>
7-
<version>1.0.0</version>
7+
<version>1.0.1</version>
88
<name>Xero-Java SDK</name>
99
<url>http://maven.apache.org</url>
1010
<dependencies>

src/main/java/com/xero/api/JsonConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public String getAccessTokenUrl() {
114114

115115
@Override
116116
public String getUserAgent() {
117-
return USER_AGENT + " [Xero-Java-1.0.0]";
117+
return USER_AGENT + " " + CONSUMER_KEY + " [Xero-Java-1.0.1]";
118118
}
119119

120120
@Override

src/main/java/com/xero/api/XeroClient.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,16 @@ public List<CreditNote> createCreditNotes(List<CreditNote> objects) throws IOExc
684684
array.getCreditNote().addAll(objects);
685685
return put("CreditNote", objFactory.createCreditNotes(array)).getCreditNotes().getCreditNote();
686686
}
687+
688+
689+
public List<CreditNote> createCreditNotes(List<CreditNote> objects, String unitdp) throws IOException {
690+
Map<String, String> params = new HashMap<>();
691+
addToMapIfNotNull(params, "unitdp", unitdp);
692+
693+
ArrayOfCreditNote array = new ArrayOfCreditNote();
694+
array.getCreditNote().addAll(objects);
695+
return put("CreditNote", objFactory.createCreditNotes(array),params).getCreditNotes().getCreditNote();
696+
}
687697

688698
public List<CreditNote> updateCreditNote(List<CreditNote> objects) throws IOException {
689699
ArrayOfCreditNote array = new ArrayOfCreditNote();
@@ -1410,7 +1420,16 @@ public List<Receipt> createReceipts(List<Receipt> objects) throws IOException {
14101420
array.getReceipt().addAll(objects);
14111421
return put("Receipts", objFactory.createReceipts(array)).getReceipts().getReceipt();
14121422
}
1423+
1424+
public List<Receipt> createReceipts(List<Receipt> objects, String unitdp) throws IOException {
1425+
Map<String, String> params = new HashMap<>();
1426+
addToMapIfNotNull(params, "unitdp", unitdp);
14131427

1428+
ArrayOfReceipt array = new ArrayOfReceipt();
1429+
array.getReceipt().addAll(objects);
1430+
return put("Receipts", objFactory.createReceipts(array),params).getReceipts().getReceipt();
1431+
}
1432+
14141433
public List<Receipt> updateReceipt(List<Receipt> objects) throws IOException {
14151434
ArrayOfReceipt array = new ArrayOfReceipt();
14161435
array.getReceipt().addAll(objects);

src/main/java/com/xero/example/RequestResourceServlet.java

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.io.ByteArrayInputStream;
44
import java.io.File;
5-
import java.io.FileInputStream;
65
import java.io.FileOutputStream;
76
import java.io.IOException;
87
import java.io.InputStream;
@@ -389,6 +388,36 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
389388
/* CREDIT NOTE */
390389
try {
391390

391+
392+
List<CreditNote> newCreditNote = client.createCreditNotes(SampleData.loadCreditNote().getCreditNote());
393+
messages.add("Create a new CreditNote ID : " + newCreditNote.get(0).getCreditNoteID() );
394+
395+
List<CreditNote> newCreditNote4dp = client.createCreditNotes(SampleData.loadCreditNote4dp().getCreditNote(),"4");
396+
messages.add("Create a new CreditNote ID 4dp: " + newCreditNote4dp.get(0).getCreditNoteID() );
397+
398+
399+
List<CreditNote> CreditNoteWhere = client.getCreditNotes(null,"Status==\"DRAFT\"",null);
400+
if(CreditNoteWhere.size() > 0) {
401+
messages.add("Get a CreditNote with WHERE clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
402+
}
403+
404+
List<CreditNote> CreditNotePage = client.getCreditNotes(null,"Status==\"DRAFT\"",null,"1");
405+
if(CreditNotePage.size() > 0) {
406+
messages.add("Get a CreditNote with PAGE=1 clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
407+
}
408+
409+
List<CreditNote> CreditNoteList = client.getCreditNotes();
410+
int num = SampleData.findRandomNum(CreditNoteList.size());
411+
messages.add("Get a random CreditNote - ID : " + CreditNoteList.get(num).getCreditNoteID());
412+
413+
CreditNote CreditNoteOne = client.getCreditNote(CreditNoteList.get(num).getCreditNoteID());
414+
messages.add("Get a single CreditNote - ID : " + CreditNoteOne.getCreditNoteID());
415+
416+
newCreditNote.get(0).setReference("My updated Credit Note");
417+
List<CreditNote> updateCreditNote = client.updateCreditNote(newCreditNote);
418+
messages.add("Update CreditNote - ID: " + updateCreditNote.get(0).getCreditNoteID() + " - Reference: " + updateCreditNote.get(0).getReference());
419+
420+
392421
List<CreditNote> CreditNoteListForPdf = client.getCreditNotes();
393422

394423
// GET PDF of CREDIT NOTE
@@ -417,29 +446,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)
417446
String saveFilePath = dirPath + File.separator + fileName;
418447
messages.add("Get a PDF copy of CreditNote - save it here: " + saveFilePath);
419448

420-
List<CreditNote> newCreditNote = client.createCreditNotes(SampleData.loadCreditNote().getCreditNote());
421-
messages.add("Create a new CreditNote ID : " + newCreditNote.get(0).getCreditNoteID() );
422-
423-
List<CreditNote> CreditNoteWhere = client.getCreditNotes(null,"Status==\"DRAFT\"",null);
424-
if(CreditNoteWhere.size() > 0) {
425-
messages.add("Get a CreditNote with WHERE clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
426-
}
427449

428-
List<CreditNote> CreditNotePage = client.getCreditNotes(null,"Status==\"DRAFT\"",null,"1");
429-
if(CreditNotePage.size() > 0) {
430-
messages.add("Get a CreditNote with PAGE=1 clause - ID: " + CreditNoteWhere.get(0).getCreditNoteID());
431-
}
432-
433-
List<CreditNote> CreditNoteList = client.getCreditNotes();
434-
int num = SampleData.findRandomNum(CreditNoteList.size());
435-
messages.add("Get a random CreditNote - ID : " + CreditNoteList.get(num).getCreditNoteID());
436-
437-
CreditNote CreditNoteOne = client.getCreditNote(CreditNoteList.get(num).getCreditNoteID());
438-
messages.add("Get a single CreditNote - ID : " + CreditNoteOne.getCreditNoteID());
439-
440-
newCreditNote.get(0).setReference("My updated Credit Note");
441-
List<CreditNote> updateCreditNote = client.updateCreditNote(newCreditNote);
442-
messages.add("Update CreditNote - ID: " + updateCreditNote.get(0).getCreditNoteID() + " - Reference: " + updateCreditNote.get(0).getReference());
443450

444451
} catch (XeroApiException e) {
445452
System.out.println(e.getResponseCode());

src/main/java/com/xero/example/SampleData.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,22 @@ public static ArrayOfCreditNote loadCreditNote() throws IOException {
132132
array.getCreditNote().add(cn);
133133
return array;
134134
}
135+
136+
public static ArrayOfCreditNote loadCreditNote4dp() throws IOException {
137+
ArrayOfCreditNote array = new ArrayOfCreditNote();
138+
139+
CreditNote cn = new CreditNote();
140+
cn.setType(CreditNoteType.ACCPAYCREDIT);
141+
cn.setDate(loadDate());
142+
cn.setLineAmountTypes(LineAmountType.INCLUSIVE);
143+
cn.setLineItems(loadLineItem4dp());
144+
cn.setContact(loadSingleContact());
145+
array.getCreditNote().add(cn);
146+
return array;
147+
}
148+
149+
150+
135151

136152
// EMPLOYEE
137153
public static ArrayOfEmployee loadEmployee() {
@@ -623,6 +639,39 @@ private static ArrayOfLineItem loadLineItem() throws IOException{
623639
return array;
624640
}
625641

642+
private static ArrayOfLineItem loadLineItem4dp() throws IOException{
643+
List<Account> accountDirectCosts = client.getAccounts(null,"Type==\"DIRECTCOSTS\"",null);
644+
645+
ArrayOfLineItem array = new ArrayOfLineItem();
646+
LineItem line = new LineItem();
647+
line.setDescription("Yearly Bank Account Fee");
648+
line.setQuantity(new BigDecimal("1.00"));
649+
line.setUnitAmount(new BigDecimal("20.0344"));
650+
line.setLineAmount(new BigDecimal("20.0344"));
651+
line.setAccountCode(accountDirectCosts.get(0).getCode());
652+
653+
654+
List<TrackingCategory> TrackingCategoryList = client.getTrackingCategories();
655+
if (TrackingCategoryList.size() > 0) {
656+
int num10 = SampleData.findRandomNum(TrackingCategoryList.size());
657+
658+
ArrayOfTrackingCategory trackingCategories = new ArrayOfTrackingCategory();
659+
TrackingCategory trackingCategory = new TrackingCategory();
660+
661+
trackingCategory.setTrackingCategoryID(TrackingCategoryList.get(num10).getTrackingCategoryID());
662+
trackingCategory.setName(TrackingCategoryList.get(num10).getName());
663+
trackingCategory.setOption(TrackingCategoryList.get(num10).getOptions().getOption().get(0).getName());
664+
665+
trackingCategories.getTrackingCategory().add(trackingCategory);
666+
667+
line.setTracking(trackingCategories);
668+
669+
}
670+
671+
array.getLineItem().add(line);
672+
return array;
673+
}
674+
626675
private static ArrayOfLineItem loadLineItemForOverpayment() throws IOException{
627676
List<Account> accountDebtors = client.getAccounts(null,"SystemAccount==\"DEBTORS\"",null);
628677

0 commit comments

Comments
 (0)