Skip to content

Commit b38f228

Browse files
improvements in examples
1 parent 74563f3 commit b38f228

File tree

1 file changed

+47
-41
lines changed

1 file changed

+47
-41
lines changed

src/main/java/examples/Examples.java

Lines changed: 47 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// Import classes:
44
import io.tiledb.cloud.TileDBClient;
55
import io.tiledb.cloud.TileDBUDF;
6-
import io.tiledb.cloud.rest_api.ApiClient;
76
import io.tiledb.cloud.rest_api.ApiException;
87
import io.tiledb.cloud.TileDBLogin;
98
import io.tiledb.cloud.rest_api.api.GroupsApi;
@@ -16,6 +15,8 @@
1615
import java.util.HashMap;
1716
import java.util.List;
1817

18+
import static io.tiledb.cloud.TileDBUtils.serializeArgs;
19+
1920
public class Examples
2021
{
2122
public static void main(String[] args) {
@@ -33,19 +34,18 @@ public static void main(String[] args) {
3334
// to pass any credentials from now on. Just create the client as follows:
3435
// TileDBClient tileDBClient = new TileDBClient();
3536

36-
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
3737

3838
// Uncomment to run whichever example you want
3939
// runGenericUDF(tileDBClient);
4040
// runArrayUDF(tileDBClient);
4141
// runMultiArrayUDF(tileDBClient);
42-
// getArraySchema(apiInstance);
43-
// createArray(apiInstance);
44-
// registerArray(apiInstance);
45-
// listArrays(apiInstance);
46-
// listGroups(defaultClient);
47-
// deleteArray(apiInstance);
48-
// deregisterArray(apiInstance);
42+
// getArraySchema(tileDBClient);
43+
// createArray(tileDBClient);
44+
// registerArray(tileDBClient);
45+
// listArrays(tileDBClient);
46+
// listGroups(tileDBClient);
47+
// deleteArray(tileDBClient);
48+
// deregisterArray(tileDBClient);
4949
}
5050

5151
/**
@@ -59,11 +59,12 @@ private static void runGenericUDF(TileDBClient tileDBClient){
5959
HashMap<String,Object> arguments = new HashMap<>();
6060
arguments.put("arg1", "a1");
6161
arguments.put("arg2", "a2");
62-
System.out.println(tileDBUDF.executeGeneric(genericUDF, arguments)); //could be JSON or Arrow
62+
genericUDF.setArgument(serializeArgs(arguments));
63+
System.out.println(tileDBUDF.executeGeneric(genericUDF)); //could be JSON or Arrow
6364
}
6465

6566
/**
66-
* Runs an array UDF on a TileDB Arrray
67+
* Runs an array UDF on a TileDB Array
6768
* @param tileDBClient
6869
*/
6970
public static void runArrayUDF(TileDBClient tileDBClient){
@@ -80,15 +81,18 @@ public static void runArrayUDF(TileDBClient tileDBClient){
8081
queryRanges.addRangesItem(range1);
8182
queryRanges.addRangesItem(range2);
8283

83-
8484
HashMap<String,Object> argumentsForArrayUDF = new HashMap<>();
8585
argumentsForArrayUDF.put("attr", "rows");
8686
argumentsForArrayUDF.put("scale", 9);
8787

88-
MultiArrayUDF multiArrayUDF = new MultiArrayUDF();
89-
multiArrayUDF.setUdfInfoName("TileDB-Inc/array-udf");
90-
multiArrayUDF.setRanges(queryRanges);
91-
System.out.println(tileDBUDF.executeSingleArray(multiArrayUDF, argumentsForArrayUDF, "tiledb://TileDB-Inc/quickstart_sparse", "TileDB-Inc"));
88+
GenericUDF genericUDF = new GenericUDF();
89+
genericUDF.setUdfInfoName("TileDB-Inc/array-udf");
90+
genericUDF.setArgument(serializeArgs(argumentsForArrayUDF));
91+
92+
UDFArrayDetails array = new UDFArrayDetails();
93+
array.setUri("tiledb://TileDB-Inc/quickstart_sparse");
94+
95+
System.out.println(tileDBUDF.executeSingleArray(genericUDF, array, queryRanges, "TileDB-Inc"));
9296
}
9397

9498
/**
@@ -117,7 +121,7 @@ public static void runMultiArrayUDF(TileDBClient tileDBClient){
117121

118122
//array1
119123
UDFArrayDetails array1 = new UDFArrayDetails();
120-
array1.setUri("tiledb://TileDB-Inc/dense-array");
124+
array1.setUri("tiledb://shaunreed/dense-array");
121125
array1.setRanges(queryRanges);
122126
array1.setBuffers(Arrays.asList("rows", "cols", "a1"));
123127
arrays.add(array1);
@@ -135,17 +139,19 @@ public static void runMultiArrayUDF(TileDBClient tileDBClient){
135139
arguments.put("attr1", "a1");
136140
arguments.put("attr2", "a");
137141

138-
System.out.println(tileDBUDF.executeMultiArray(multiArrayUDF, arguments));
142+
multiArrayUDF.setArgument(serializeArgs(arguments));
143+
144+
System.out.println(tileDBUDF.executeMultiArray(multiArrayUDF));
139145
}
140146

141147
/**
142148
* Deregister an array
143-
* @param apiInstance
144149
*/
145-
private static void deregisterArray(ArrayApi apiInstance)
150+
private static void deregisterArray(TileDBClient tileDBClient)
146151
{
147152
String namespace = "<TILEDB_NAMESPACE>"; // String | namespace array is in (an organization name or user's username)
148153
String array = "<ARRAY_NAME>"; // String | name/uri of array that is url-encoded
154+
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
149155
try {
150156
apiInstance.deregisterArray(namespace, array);
151157
} catch (ApiException e) {
@@ -159,13 +165,13 @@ private static void deregisterArray(ArrayApi apiInstance)
159165

160166
/**
161167
* Delete an array
162-
* @param apiInstance
163168
*/
164-
private static void deleteArray(ArrayApi apiInstance)
169+
private static void deleteArray(TileDBClient tileDBClient)
165170
{
166171
String namespace = "<TILEDB_NAMESPACE>"; // String | namespace array is in (an organization name or user's username)
167172
String array = "<ARRAY_NAME>"; // String | name/uri of array that is url-encoded
168173
String contentType = "application/json"; // String | Content Type of input and return mime
174+
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
169175
try {
170176
apiInstance.deleteArray(namespace, array, contentType);
171177
} catch (ApiException e) {
@@ -177,13 +183,9 @@ private static void deleteArray(ArrayApi apiInstance)
177183
}
178184
}
179185

180-
/**
181-
* List groups
182-
* @param defaultClient
183-
*/
184-
private static void listGroups(ApiClient defaultClient)
186+
private static void listGroups(TileDBClient tileDBClient)
185187
{
186-
GroupsApi apiInstance = new GroupsApi(defaultClient);
188+
GroupsApi apiInstance = new GroupsApi(tileDBClient.getApiClient());
187189
Integer page = null; // Integer | pagination offset
188190
Integer perPage = null; // Integer | pagination limit
189191
String search = null; // String | search string that will look at name, namespace or description fields
@@ -208,13 +210,11 @@ private static void listGroups(ApiClient defaultClient)
208210

209211
}
210212

211-
/**
212-
* List arrays
213-
* @param apiInstance
214-
*/
215-
private static void listArrays(ArrayApi apiInstance)
213+
private static void listArrays(TileDBClient tileDBClient)
216214
{
217215
String namespace = "<TILEDB_NAMESPACE>"; // String | namespace array is in (an organization name or user's username)
216+
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
217+
218218
try {
219219
List<ArrayInfo> result = apiInstance.getArraysInNamespace(namespace);
220220
System.out.println(result);
@@ -228,12 +228,14 @@ private static void listArrays(ArrayApi apiInstance)
228228
}
229229

230230

231-
private static void getArraySchema(ArrayApi arrayApi){
232-
String namespace = "<TILEDB_NAMESPACE>"; // String | namespace array is in (an organization name or user's username)
233-
String array = "<ARRAY_URI>"; // String | name/uri of array that is url-encoded
231+
private static void getArraySchema(TileDBClient tileDBClient){
232+
String namespace = "TileDB-Inc"; // String | namespace array is in (an organization name or user's username)
233+
String array = "quickstart_sparse"; // String | name/uri of array that is url-encoded
234234
String contentType = "application/json"; // String | Content Type of input and return mime
235+
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
236+
235237
try {
236-
ArraySchema result = arrayApi.getArray(namespace, array, contentType);
238+
ArraySchema result = apiInstance.getArray(namespace, array, contentType);
237239
System.out.println(result);
238240
} catch (ApiException e) {
239241
System.err.println("Exception when calling ArrayApi#getArray");
@@ -244,7 +246,7 @@ private static void getArraySchema(ArrayApi arrayApi){
244246
}
245247
}
246248

247-
private static void createArray(ArrayApi arrayApi){
249+
private static void createArray(TileDBClient tileDBClient){
248250
String namespace = "<TILEDB_NAMESPACE>"; // String | namespace array is in (an organization name or user's username)
249251
String arrayName = "s3://<BUCKET-NAME>/my_array"; // String | name/uri of array that is url-encoded //
250252
String contentType = "application/json"; // String | Content Type of input and return mime
@@ -294,8 +296,10 @@ private static void createArray(ArrayApi arrayApi){
294296
schema.setCellOrder(Layout.ROW_MAJOR);
295297
System.out.println(schema);
296298

299+
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
300+
297301
try {
298-
arrayApi.createArray(namespace, arrayName, contentType, schema, null);
302+
apiInstance.createArray(namespace, arrayName, contentType, schema, null);
299303
} catch (ApiException e) {
300304
System.err.println("Exception when calling ArrayApi#createArray");
301305
System.err.println("Status code: " + e.getCode());
@@ -305,14 +309,16 @@ private static void createArray(ArrayApi arrayApi){
305309
}
306310
}
307311

308-
public static void registerArray(ArrayApi arrayApi){
312+
public static void registerArray(TileDBClient tileDBClient){
309313
String namespace = "<TILEDB_NAMESPACE>"; // String | namespace array is in (an organization name or user's username)
310314
String array = "s3://<BUCKET-NAME>/<ARRAY-URI>/"; // String | name/uri of array that is url-encoded
311315
ArrayInfoUpdate arrayMetadata = new ArrayInfoUpdate(); // ArrayInfoUpdate | metadata associated with array
312316
arrayMetadata.setUri("s3://<BUCKET-NAME>/<ARRAY-URI>/");
313317
arrayMetadata.setName("<ARRAY-NAME>");
318+
ArrayApi apiInstance = new ArrayApi(tileDBClient.getApiClient());
319+
314320
try {
315-
ArrayInfo result = arrayApi.registerArray(namespace, array, arrayMetadata);
321+
ArrayInfo result = apiInstance.registerArray(namespace, array, arrayMetadata);
316322
System.out.println(result);
317323
} catch (ApiException e) {
318324
System.err.println("Exception when calling ArrayApi#registerArray");

0 commit comments

Comments
 (0)