33 */
44package com .researchspace .dataverse .http ;
55
6- import static org .apache .commons .lang3 .StringUtils .isEmpty ;
7- import static org .apache .commons .lang3 .Validate .isTrue ;
8- import static org .apache .commons .lang3 .Validate .noNullElements ;
9-
10- import java .io .*;
11- import java .net .URI ;
12- import java .net .URISyntaxException ;
13- import java .util .List ;
14-
6+ import com .fasterxml .jackson .core .JsonProcessingException ;
7+ import com .fasterxml .jackson .databind .ObjectMapper ;
8+ import com .researchspace .dataverse .api .v1 .DatasetOperations ;
9+ import com .researchspace .dataverse .api .v1 .DataverseOperations ;
10+ import com .researchspace .dataverse .api .v1 .InfoOperations ;
11+ import com .researchspace .dataverse .api .v1 .MetadataOperations ;
12+ import com .researchspace .dataverse .entities .*;
13+ import com .researchspace .dataverse .entities .facade .DatasetBuilder ;
14+ import com .researchspace .dataverse .entities .facade .DatasetFacade ;
15+ import com .researchspace .dataverse .sword .FileUploader ;
16+ import lombok .extern .slf4j .Slf4j ;
1517import org .apache .commons .lang3 .StringUtils ;
1618import org .springframework .core .ParameterizedTypeReference ;
1719import org .springframework .http .HttpEntity ;
2325import org .swordapp .client .SWORDClientException ;
2426import org .swordapp .client .SWORDError ;
2527
26- import com .fasterxml .jackson .core .JsonProcessingException ;
27- import com .fasterxml .jackson .databind .ObjectMapper ;
28- import com .researchspace .dataverse .api .v1 .DatasetOperations ;
29- import com .researchspace .dataverse .api .v1 .DataverseOperations ;
30- import com .researchspace .dataverse .api .v1 .InfoOperations ;
31- import com .researchspace .dataverse .api .v1 .MetadataOperations ;
32- import com .researchspace .dataverse .entities .Dataset ;
33- import com .researchspace .dataverse .entities .DatasetVersion ;
34- import com .researchspace .dataverse .entities .DataverseGet ;
35- import com .researchspace .dataverse .entities .DataverseObject ;
36- import com .researchspace .dataverse .entities .DataversePost ;
37- import com .researchspace .dataverse .entities .DataverseResponse ;
38- import com .researchspace .dataverse .entities .DvMessage ;
39- import com .researchspace .dataverse .entities .Identifier ;
40- import com .researchspace .dataverse .entities .MetadataBlock ;
41- import com .researchspace .dataverse .entities .PublishedDataset ;
42- import com .researchspace .dataverse .entities .Version ;
43- import com .researchspace .dataverse .entities .facade .DatasetBuilder ;
44- import com .researchspace .dataverse .entities .facade .DatasetFacade ;
45- import com .researchspace .dataverse .sword .FileUploader ;
28+ import java .io .*;
29+ import java .net .URI ;
30+ import java .net .URISyntaxException ;
31+ import java .util .List ;
4632
47- import lombok .extern .slf4j .Slf4j ;
33+ import static org .apache .commons .lang3 .StringUtils .isEmpty ;
34+ import static org .apache .commons .lang3 .Validate .isTrue ;
35+ import static org .apache .commons .lang3 .Validate .noNullElements ;
4836/** Copyright 2016 ResearchSpace
4937
5038Licensed under the Apache License, Version 2.0 (the "License");
@@ -85,8 +73,6 @@ public DataverseGet getDataverseById(String dataverseAlias) {
8573 log .debug (resp .getBody ().toString ());
8674 return resp .getBody ().getData ();
8775 }
88-
89-
9076
9177 @ Override
9278 public DataverseResponse <DvMessage > deleteDataverse (String dataverseAlias ) {
@@ -194,7 +180,7 @@ public Dataset getDataset(Identifier dsIdentifier) {
194180 @ Override
195181 public List <DatasetVersion > getDatasetVersions (Identifier dsIdentifier ) {
196182 String url = createV1Url ("datasets" , dsIdentifier .getId () +"" , "versions" );
197-
183+
198184 HttpEntity <String > entity = createHttpEntity ("" );
199185 ParameterizedTypeReference <DataverseResponse <List <DatasetVersion >>> type = new ParameterizedTypeReference <DataverseResponse <List <DatasetVersion >>>() {
200186 };
@@ -203,6 +189,17 @@ public List<DatasetVersion> getDatasetVersions (Identifier dsIdentifier) {
203189 handleError (resp );
204190 return resp .getBody ().getData ();
205191 }
192+
193+ public DatasetFileList uploadNativeFile (Identifier dsIdentifier ){
194+ String url = createV1Url ("datasets" , ":persistentId" , "add" ) + "?persistentId=" + dsIdentifier .getId ();
195+ HttpEntity <String > entity = createHttpEntity ("{}" );
196+ ParameterizedTypeReference <DataverseResponse <DatasetFileList >> type =
197+ new ParameterizedTypeReference <DataverseResponse <DatasetFileList >>() {};
198+ ResponseEntity <DataverseResponse <DatasetFileList >> resp = template .exchange (url , HttpMethod .POST , entity , type );
199+ log .debug ("{}" , resp .getBody ());
200+ handleError (resp );
201+ return resp .getBody ().getData ();
202+ }
206203
207204 /* (non-Javadoc)
208205 * @see com.researchspace.dataverse.http.DataverseAPI#uploadFile(java.lang.String, java.io.File)
0 commit comments