Uploading Objects
upload
Method
For better maintainability and code simplicity, Java API uses a Map object to store multiple key-value pairs and pass the Map object through variables, allowing for more efficient management and operation of multiple data entities.
public void upload(final Map<String, Entity> variableObjectMap)
- The key of the Map represents the name of the object to be uploaded. The variable name can contain letters, digits and underscores, and the first character must be a letter.
- The value of the Map represents the object to be uploaded.
For example:
@Test public void testUpload() throws IOException { DBConnection dbConnection = new DBConnection(); dbConnection.connect("192.168.0.68", 8848); Entity dict = dbConnection.run("dict(1 2 3,`IBM`MSFT`GOOG)"); Map<String, Entity> map = new HashMap<String, Entity>(); map.put("dict", dict); dbConnection.upload(map); Entity dict1 = dbConnection.run("dict"); System.out.println(dict1.getString()); }
Execution result:
Connect to 192.168.0.68:8848. {1,2,3}->{IBM,MSFT,GOOG}
tryUpload
Method
Similar to the tryRun
method mentioned in Executing Scripts, the
upload
method uses the same lock and the
tryUpload
method is provided. Note that
tryUpload
throws an IOException immediately if the lock is held
by other threads, while tryRun
returns a null value.
For example:
@Test public void test_tryUpload() throws IOException{ DBConnection dbConnection = new DBConnection(); dbConnection.connect("192.168.0.68", 8848); BasicTable tb = (BasicTable) dbConnection.run("table(1..100 as id,take(`aaa,100) as name)"); Map<String, Entity> upObj = new HashMap<>(); upObj.put("table_uploaded",tb); dbConnection.tryUpload(upObj); Entity entity = dbConnection.run("table_uploaded"); System.out.println(entity.getString()); }
Execution result:
Connect to 192.168.0.68:8848.
id name
-- ----
1 aaa
2 aaa
3 aaa
4 aaa
5 aaa
6 aaa
7 aaa
8 aaa
9 aaa
10 aaa
...