Task #694
Implement the initial R client and associated tests
100%
Description
Implement the initial R client and associated tests
History
#1 Updated by Matthew Jones over 14 years ago
- Status changed from New to In Progress
#2 Updated by Matthew Jones over 14 years ago
Initial prototype implemented that shows successful retrieval of data from a Member node (currently uses hardcoded values, and doesn't do anything with the data). Now that proof-of-concept is complete, need to work on full design and implementation.
#3 Updated by Matthew Jones over 14 years ago
Sample session in R shown here:
$ R
library(d1r)
Loading required package: rJava
d1.get("knb:testid:201017503654464")
restURL: http://localhost:8080/knb/session/?username=uid=kepler,o=unaffiliated,dc=ecoinformatics,dc=org&password=******&qformat=xml&op=login
method: POST
restURL: http://localhost:8080/knb/object/knb:testid:201017503654464?sessionid=A5E408E1D48AFCC75B003B286AB3FAE5
method: GET
r1 "x,y,z\n1,2,3"
#4 Updated by Matthew Jones over 14 years ago
Basic implementation of the D1Client and DataPackage classes is complete. They both pass off method calls to associated Java classes, which handles communication with DataONE. The d1r R client now can create an instance of a D1Client R object, log in and store the associated session token, then use that client to call getPackage, which downloads data form DataONE and loads it into an R DataPackage object. Right now, it assumes the data is a CSV file with a header row, and no metadata is retrieved yet, and the call is made directly to the Member node, rather than first calling resolve on the CN instance. For basic functionality, need to still retrieve associated system and science metadata, extract proper values from that, and then expose these through accessor methods. Also need to use the system and science metadata to determine the type of the data object, and use that to create the right type of R object (ie, don't assume it is a CSV file with one header row).
#5 Updated by Matthew Jones about 14 years ago
Basic R client implemented. Will open new tickets with additional new features and redesigns.