Skip to content

Commit 2b5ec14

Browse files
authored
Merge pull request #10 from vikadata/polish
Polish
2 parents 8179b24 + 4289612 commit 2b5ec14

21 files changed

+155
-138
lines changed

README.md

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ Most simple usage for query record quickly
8686

8787
```java
8888
// Get 10 records on first page
89-
List<RecordResult> records = vikaApiClient.getRecordApi().getRecords("datasheetId", 1, 10);
89+
List<Record> records = vikaApiClient.getRecordApi().getRecords("datasheetId", 1, 10);
9090
```
9191

9292
#### **Pager Resulting**
@@ -96,11 +96,11 @@ Below code are a couple of examples on how to use the Pager:
9696

9797
```java
9898
// Get a Pager instance that will page through the records with 100 record per page
99-
Pager<RecordResult> pager = vikaApiClient.getRecordApi().getRecords("datasheet_id", 100);
99+
Pager<Record> pager = vikaApiClient.getRecordApi().getRecords("datasheet_id", 100);
100100

101101
// Iterate through the pages and print out the per record detail
102102
while (pager.hasNext())) {
103-
for (RecordResult record : pager.next()) {
103+
for (Record record : pager.next()) {
104104
System.out.println(record.getRecordId() + " -: " + record.getFields());
105105
}
106106
}
@@ -109,19 +109,19 @@ while (pager.hasNext())) {
109109
you can also fetch all the items as a single list using a Pager instance:
110110
```java
111111
// Get a Pager instance so we can load all the records into a single list, 100 record at a time:
112-
Pager<RecordResult> pager = vikaApiClient.getRecordApi().getRecords("datasheet_id", 100);
113-
List<RecordResult> records = pager.all();
112+
Pager<Record> pager = vikaApiClient.getRecordApi().getRecords("datasheet_id", 100);
113+
List<Record> records = pager.all();
114114
```
115115

116116
**Java 8 Stream Support**
117117

118118
also provide method that returns a Java 8 Stream.
119119
```java
120120
// Pager as stream,support forEach、Group、Filter operation
121-
Stream<RecordResult> records = vikaApiClient.getRecordApi().getRecordsAsStream("datasheet_id");
121+
Stream<Record> records = vikaApiClient.getRecordApi().getRecordsAsStream("datasheet_id");
122122

123123
// ex: extract record id to a list
124-
records.map(RecordResult::getRecordId).collect(Collectors.toList());
124+
records.map(Record::getRecordId).collect(Collectors.toList());
125125
```
126126

127127
**Advance Query**
@@ -135,7 +135,7 @@ ApiQueryParam queryParam = new ApiQueryParam(1, 50)
135135
.withSort("fieldName", Order.DESC).withSort("fieldName", Order.ASC)
136136
.withFilter("{fieldName}>1");
137137
// query return pager result
138-
Pager<RecordResult> pager = vikaApiClient.getRecordApi().getRecords("datasheet_id", queryParam);
138+
Pager<Record> pager = vikaApiClient.getRecordApi().getRecords("datasheet_id", queryParam);
139139
```
140140

141141
#### **Add Record**
@@ -159,7 +159,7 @@ List<RecordMap> recordMaps = JacksonConverter.unmarshalToList(RecordMap.class, a
159159
// create record request
160160
CreateRecordRequest recordRequest = new CreateRecordRequest().withRecords(recordMaps);
161161
// ok
162-
List<RecordResult> newRecords = vikaApiClient.getRecordApi().addRecords("datasheet_id", recordRequest);
162+
List<Record> newRecords = vikaApiClient.getRecordApi().addRecords("datasheet_id", recordRequest);
163163
```
164164

165165
#### **Update Record**
@@ -178,7 +178,7 @@ UpdateRecord record = new UpdateRecord()
178178
UpdateRecordRequest updateRecordRequest = new UpdateRecordRequest()
179179
.withRecords(Collections.singletonList(record));
180180
// request send
181-
List<RecordResult> updateRecords = vikaApiClient.getRecordApi().updateRecords("datasheet_id", updateRecordRequest);
181+
List<Record> updateRecords = vikaApiClient.getRecordApi().updateRecords("datasheet_id", updateRecordRequest);
182182
```
183183

184184
#### **Delete Record**
@@ -191,6 +191,28 @@ vikaApiClient.getRecordApi().deleteRecord("datasheet_id", "recXXXXXX");
191191
vikaApiClient.getRecordApi().deleteRecords("datasheet_id", Arrays.asList("recXXXXXX", "recXXXXXX"));
192192
```
193193

194+
#### **Upload Attachment**
195+
196+
sdk provide several way to upload attachment, You can choose the way to upload anything that suits you
197+
198+
```java
199+
// classPath resource on src/main/resource/test.txt
200+
ResourceLoader classPathResource = new ClassPathResourceLoader("test.txt");
201+
Attachment attachment = vikaApiClient.getAttachmentApi().upload("datasheet_id", classPathResource);
202+
203+
// or url resource from web
204+
ResourceLoader urlResource = new UrlResourceLoader(UrlUtil.url("https://test.com/image.png"))
205+
Attachment attachment = vikaApiClient.getAttachmentApi().upload("datasheet_id", urlResource);
206+
207+
// or file resource
208+
File file = new File("/Users/Document/test.txt");
209+
Attachment attachment = vikaApiClient.getAttachmentApi().upload("datasheet_id", new FileResourceLoader(file));
210+
211+
// or upload file type directly
212+
File file = new File("/Users/Document/test.txt");
213+
Attachment attachment = vikaApiClient.getAttachmentApi().upload("datasheet_id", file);
214+
```
215+
194216
## Reporting Issues
195217
Vika java sdk project uses GitHub's integrated issue tracking system to record bugs and feature requests.
196218
If you want to raise an issue, please follow the recommendations below:

client/src/main/java/cn/vika/client/api/datasheet/AttachmentApi.java renamed to client/src/main/java/cn/vika/client/api/AttachmentApi.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.datasheet;
19+
package cn.vika.client.api;
2020

2121
import java.io.File;
2222

2323
import cn.vika.client.api.exception.ApiException;
2424
import cn.vika.client.api.http.AbstractApi;
2525
import cn.vika.client.api.http.ApiHttpClient;
26+
import cn.vika.client.api.model.Attachment;
2627
import cn.vika.client.api.model.HttpResult;
27-
import cn.vika.client.api.models.AttachmentInfo;
2828
import cn.vika.core.http.FormDataMap;
2929
import cn.vika.core.http.GenericTypeReference;
3030
import cn.vika.core.http.HttpHeader;
@@ -46,26 +46,26 @@ public AttachmentApi(ApiHttpClient apiHttpClient) {
4646
super(apiHttpClient);
4747
}
4848

49-
public AttachmentInfo upload(String datasheetId, ResourceLoader loader) throws ApiException {
49+
public Attachment upload(String datasheetId, ResourceLoader loader) throws ApiException {
5050
HttpHeader httpHeader = HttpHeader.EMPTY;
5151
httpHeader.setContentType(HttpMediaType.MULTIPART_FORM_DATA);
5252
FormDataMap formDataMap = new FormDataMap();
5353
formDataMap.put("file", loader);
54-
HttpResult<AttachmentInfo> result = getDefaultHttpClient().post(String.format(PATH, datasheetId), httpHeader, formDataMap, new GenericTypeReference<HttpResult<AttachmentInfo>>() {});
54+
HttpResult<Attachment> result = getDefaultHttpClient().post(String.format(PATH, datasheetId), httpHeader, formDataMap, new GenericTypeReference<HttpResult<Attachment>>() {});
5555
return result.getData();
5656
}
5757

58-
public AttachmentInfo upload(String datasheetId, File file) throws ApiException {
58+
public Attachment upload(String datasheetId, File file) throws ApiException {
5959
AssertUtil.notNull(file, "file can not be null");
6060
FormDataMap formDataMap = new FormDataMap();
6161
formDataMap.put("file", file);
6262
return upload(datasheetId, formDataMap);
6363
}
6464

65-
public AttachmentInfo upload(String datasheetId, FormDataMap formData) throws ApiException {
65+
public Attachment upload(String datasheetId, FormDataMap formData) throws ApiException {
6666
HttpHeader httpHeader = HttpHeader.EMPTY;
6767
httpHeader.setContentType(HttpMediaType.MULTIPART_FORM_DATA);
68-
HttpResult<AttachmentInfo> result = getDefaultHttpClient().post(String.format(PATH, datasheetId), httpHeader, formData, new GenericTypeReference<HttpResult<AttachmentInfo>>() {});
68+
HttpResult<Attachment> result = getDefaultHttpClient().post(String.format(PATH, datasheetId), httpHeader, formData, new GenericTypeReference<HttpResult<Attachment>>() {});
6969
return result.getData();
7070
}
7171
}

client/src/main/java/cn/vika/client/api/datasheet/RecordApi.java renamed to client/src/main/java/cn/vika/client/api/RecordApi.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.datasheet;
19+
package cn.vika.client.api;
2020

2121
import java.util.Collections;
2222
import java.util.List;
@@ -27,13 +27,13 @@
2727
import cn.vika.client.api.http.AbstractApi;
2828
import cn.vika.client.api.http.ApiHttpClient;
2929
import cn.vika.client.api.model.ApiQueryParam;
30+
import cn.vika.client.api.model.CreateRecordRequest;
3031
import cn.vika.client.api.model.HttpResult;
31-
import cn.vika.client.api.model.PageDetail;
32+
import cn.vika.client.api.model.PagerInfo;
3233
import cn.vika.client.api.model.Pager;
33-
import cn.vika.client.api.models.CreateRecordRequest;
34-
import cn.vika.client.api.models.RecordResult;
35-
import cn.vika.client.api.models.RecordResultList;
36-
import cn.vika.client.api.models.UpdateRecordRequest;
34+
import cn.vika.client.api.model.Record;
35+
import cn.vika.client.api.model.Records;
36+
import cn.vika.client.api.model.UpdateRecordRequest;
3737
import cn.vika.core.http.GenericTypeReference;
3838
import cn.vika.core.http.HttpHeader;
3939
import cn.vika.core.utils.MapUtil;
@@ -54,35 +54,35 @@ public RecordApi(ApiHttpClient apiHttpClient) {
5454
super(apiHttpClient);
5555
}
5656

57-
public Stream<RecordResult> getRecordsAsStream(String datasheetId) throws ApiException {
57+
public Stream<Record> getRecordsAsStream(String datasheetId) throws ApiException {
5858
return getRecords(datasheetId, getDefaultPerPage()).stream();
5959
}
6060

61-
public List<RecordResult> getRecords(String datasheetId, int page, int itemsPerPage) throws ApiException {
61+
public List<Record> getRecords(String datasheetId, int page, int itemsPerPage) throws ApiException {
6262
if (page < 0 || itemsPerPage < 0) {
6363
throw new ApiException("page or itemsPerPage don't set right");
6464
}
6565
ApiQueryParam queryParam = new ApiQueryParam(page, itemsPerPage);
6666
Map<String, String> uriVariables = queryParam.toMap();
67-
GenericTypeReference<HttpResult<PageDetail<RecordResult>>> reference = new GenericTypeReference<HttpResult<PageDetail<RecordResult>>>() {};
67+
GenericTypeReference<HttpResult<PagerInfo<Record>>> reference = new GenericTypeReference<HttpResult<PagerInfo<Record>>>() {};
6868
String uri = String.format(PATH, datasheetId) + MapUtil.extractKeyToVariables(uriVariables);
69-
HttpResult<PageDetail<RecordResult>> result = getDefaultHttpClient().get(uri, HttpHeader.EMPTY, reference, uriVariables);
69+
HttpResult<PagerInfo<Record>> result = getDefaultHttpClient().get(uri, HttpHeader.EMPTY, reference, uriVariables);
7070
return result.getData().getRecords();
7171
}
7272

73-
public Pager<RecordResult> getRecords(String datasheetId) throws ApiException {
74-
return new Pager<>(this, String.format(PATH, datasheetId), getDefaultPerPage(), RecordResult.class);
73+
public Pager<Record> getRecords(String datasheetId) throws ApiException {
74+
return new Pager<>(this, String.format(PATH, datasheetId), getDefaultPerPage(), Record.class);
7575
}
7676

77-
public Pager<RecordResult> getRecords(String datasheetId, int itemsPerPage) throws ApiException {
78-
return new Pager<>(this, String.format(PATH, datasheetId), itemsPerPage, RecordResult.class);
77+
public Pager<Record> getRecords(String datasheetId, int itemsPerPage) throws ApiException {
78+
return new Pager<>(this, String.format(PATH, datasheetId), itemsPerPage, Record.class);
7979
}
8080

81-
public Pager<RecordResult> getRecords(String datasheetId, ApiQueryParam queryParam) throws ApiException {
82-
return new Pager<>(this, String.format(PATH, datasheetId), queryParam, RecordResult.class);
81+
public Pager<Record> getRecords(String datasheetId, ApiQueryParam queryParam) throws ApiException {
82+
return new Pager<>(this, String.format(PATH, datasheetId), queryParam, Record.class);
8383
}
8484

85-
public List<RecordResult> addRecords(String datasheetId, CreateRecordRequest record) throws ApiException {
85+
public List<Record> addRecords(String datasheetId, CreateRecordRequest record) throws ApiException {
8686
if (!StringUtil.hasText(datasheetId)) {
8787
throw new ApiException("datasheet id must be not null");
8888
}
@@ -98,18 +98,18 @@ public List<RecordResult> addRecords(String datasheetId, CreateRecordRequest rec
9898
if (record.getRecords().size() > 10) {
9999
throw new ApiException("record only can add 10 every request");
100100
}
101-
HttpResult<RecordResultList> result = getDefaultHttpClient().post(String.format(PATH, datasheetId), HttpHeader.EMPTY, record, new GenericTypeReference<HttpResult<RecordResultList>>() {});
101+
HttpResult<Records> result = getDefaultHttpClient().post(String.format(PATH, datasheetId), HttpHeader.EMPTY, record, new GenericTypeReference<HttpResult<Records>>() {});
102102
return result.getData().getRecords();
103103
}
104104

105-
public List<RecordResult> updateRecords(String datasheetId, UpdateRecordRequest record) throws ApiException {
105+
public List<Record> updateRecords(String datasheetId, UpdateRecordRequest record) throws ApiException {
106106
if (!StringUtil.hasText(datasheetId)) {
107107
throw new ApiException("datasheet id must be not null");
108108
}
109109
if (record == null) {
110110
throw new RuntimeException("Record instance cannot be null.");
111111
}
112-
HttpResult<RecordResultList> result = getDefaultHttpClient().patch(String.format(PATH, datasheetId), HttpHeader.EMPTY, record, new GenericTypeReference<HttpResult<RecordResultList>>() {});
112+
HttpResult<Records> result = getDefaultHttpClient().patch(String.format(PATH, datasheetId), HttpHeader.EMPTY, record, new GenericTypeReference<HttpResult<Records>>() {});
113113
return result.getData().getRecords();
114114
}
115115

client/src/main/java/cn/vika/client/api/VikaApiClient.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
package cn.vika.client.api;
2020

21-
import cn.vika.client.api.datasheet.AttachmentApi;
22-
import cn.vika.client.api.datasheet.RecordApi;
2321
import cn.vika.client.api.http.ApiCredential;
2422
import cn.vika.client.api.http.ApiHttpClient;
2523
import cn.vika.client.api.http.ApiHttpClient.ApiVersion;

client/src/main/java/cn/vika/client/api/model/ApiQueryParam.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@
2424
import java.util.List;
2525
import java.util.Map;
2626

27-
import cn.vika.client.api.models.CellFormat;
28-
import cn.vika.client.api.models.FieldKey;
29-
import cn.vika.client.api.models.Order;
3027
import cn.vika.client.api.util.UrlEncoder;
3128

3229
import static cn.vika.client.api.Constants.CELL_FORMAT;

client/src/main/java/cn/vika/client/api/models/AttachmentInfo.java renamed to client/src/main/java/cn/vika/client/api/model/Attachment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.models;
19+
package cn.vika.client.api.model;
2020

2121
import java.math.BigInteger;
2222

@@ -26,7 +26,7 @@
2626
* @author Zoe Zheng
2727
* @date 2020-12-17 18:30:44
2828
*/
29-
public class AttachmentInfo {
29+
public class Attachment {
3030

3131
private String token;
3232

client/src/main/java/cn/vika/client/api/models/CellFormat.java renamed to client/src/main/java/cn/vika/client/api/model/CellFormat.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.models;
19+
package cn.vika.client.api.model;
2020

2121
/**
2222
*

client/src/main/java/cn/vika/client/api/models/CreateRecordRequest.java renamed to client/src/main/java/cn/vika/client/api/model/CreateRecordRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.models;
19+
package cn.vika.client.api.model;
2020

2121
import java.util.List;
2222

client/src/main/java/cn/vika/client/api/models/FieldKey.java renamed to client/src/main/java/cn/vika/client/api/model/FieldKey.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.models;
19+
package cn.vika.client.api.model;
2020

2121
/**
2222
* FieldKey enum

client/src/main/java/cn/vika/client/api/models/Order.java renamed to client/src/main/java/cn/vika/client/api/model/Order.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1717
*/
1818

19-
package cn.vika.client.api.models;
19+
package cn.vika.client.api.model;
2020

2121
/**
2222
* sort order enum

0 commit comments

Comments
 (0)