private JsonValue description(HttpAction action) { if ( ! Files.isDirectory(FusekiWebapp.dirBackups) ) ServletOps.errorOccurred(format("[%d] Backup area '%s' is not a directory", action.id, FusekiWebapp.dirBackups)) ; List<Path> paths = new ArrayList<>() ; try (DirectoryStream<Path> stream = Files.newDirectoryStream(FusekiWebapp.dirBackups, filterVisibleFiles)) { stream.forEach(paths::add) ; } catch (IOException ex) { action.log.error(format("[%d] Backup file list :: IOException :: %s", action.id, ex.getMessage())) ; ServletOps.errorOccurred(ex); } List<String> fileNames = paths.stream().map((p)->p.getFileName().toString()).sorted().collect(Collectors.toList()) ; JsonBuilder builder = new JsonBuilder() ; builder.startObject("top") ; builder.key("backups") ; builder.startArray() ; fileNames.forEach(builder::value) ; builder.finishArray() ; builder.finishObject("top") ; return builder.build() ; } }
private JsonValue description(HttpAction action) { if ( ! Files.isDirectory(FusekiWebapp.dirBackups) ) ServletOps.errorOccurred(format("[%d] Backup area '%s' is not a directory", action.id, FusekiWebapp.dirBackups)) ; List<Path> paths = new ArrayList<>() ; try (DirectoryStream<Path> stream = Files.newDirectoryStream(FusekiWebapp.dirBackups, filterVisibleFiles)) { stream.forEach(paths::add) ; } catch (IOException ex) { action.log.error(format("[%d] Backup file list :: IOException :: %s", action.id, ex.getMessage())) ; ServletOps.errorOccurred(ex); } List<String> fileNames = paths.stream().map((p)->p.getFileName().toString()).sorted().collect(Collectors.toList()) ; JsonBuilder builder = new JsonBuilder() ; builder.startObject("top") ; builder.key("backups") ; builder.startArray() ; fileNames.forEach(builder::value) ; builder.finishArray() ; builder.finishObject("top") ; return builder.build() ; } }
public static void arrayDatasets(JsonBuilder builder, DataAccessPointRegistry registry) { builder.startArray() ; for ( String ds : registry.keys() ) { DataAccessPoint access = registry.get(ds) ; JsonDescription.describe(builder, access) ; } builder.finishArray() ; }
public static void arrayDatasets(JsonBuilder builder, DataAccessPointRegistry registry) { builder.startArray() ; for ( String ds : registry.keys() ) { DataAccessPoint access = registry.get(ds) ; JsonDescription.describe(builder, access) ; } builder.finishArray() ; }
private static void encode(JsonBuilder builder, String name, Object value) { if ( value instanceof Number ) { long x = ((Number)value).longValue() ; builder.key(name).value(x) ; return ; } if ( value instanceof String ) { builder.key(name).value(value.toString()) ; return ; } if ( value instanceof String[] ) { String[] x = (String[])value ; builder.key(name) ; builder.startArray() ; for ( String s : x ) { builder.value(s) ; } builder.finishArray() ; return ; } throw new TDBException("Class of value not recognized: "+Lib.classShortName(value.getClass())) ; } }
private static void encode(JsonBuilder builder, String name, Object value) { if ( value instanceof Number ) { long x = ((Number)value).longValue() ; builder.key(name).value(x) ; return ; } if ( value instanceof String ) { builder.key(name).value(value.toString()) ; return ; } if ( value instanceof String[] ) { String[] x = (String[])value ; builder.key(name) ; builder.startArray() ; for ( String s : x ) { builder.value(s) ; } builder.finishArray() ; return ; } throw new TDBException("Class of value not recognized: "+Lib.classShortName(value.getClass())) ; } }
@Test(expected=JsonException.class) public void jsonBuildErr02() { JsonBuilder builder = new JsonBuilder() ; builder.startObject() ; builder.finishArray() ; }
private void writeConf(BackupConfig cfg) { JsonObject obj = JSONX.buildObject(b->{ b .pair(jPort, cfg.port) .key(jLogs).startArray(); cfg.logs.forEach(a-> b.startObject().pair(jName, a.name).pair(jDir, a.dir).pair(jFile, a.file).finishObject() ); b.finishArray(); }); JSON.write(System.out, obj); } }
builder.finishArray() ; responseBody = builder.build(); } else {
private static void describe(JsonBuilder builder, Operation operation, List<Endpoint> endpoints) { builder.startObject() ; builder.key(ServerConst.srvType).value(operation.getName()) ; builder.key(ServerConst.srvDescription).value(operation.getDescription()) ; builder.key(ServerConst.srvEndpoints) ; builder.startArray() ; for ( Endpoint endpoint : endpoints ) builder.value(endpoint.getName()) ; builder.finishArray() ; builder.finishObject() ; } }
@Test public void jsonBuild03() { JsonValue x = JSON.parseAny("[ ]") ; JsonBuilder builder = new JsonBuilder() ; builder.startArray() ; builder.finishArray() ; JsonValue v = builder.build() ; assertEquals(x,v) ; }
private static void describe(JsonBuilder builder, Operation operation, List<Endpoint> endpoints) { builder.startObject() ; builder.key(ServerConst.srvType).value(operation.getName()) ; builder.key(ServerConst.srvDescription).value(operation.getDescription()) ; builder.key(ServerConst.srvEndpoints) ; builder.startArray() ; for ( Endpoint endpoint : endpoints ) builder.value(endpoint.getName()) ; builder.finishArray() ; builder.finishObject() ; } }
/** Create a builder from a {@link JsonValue}. * <p>If the argument is an object or array, use it to initialize the builder. * <p>If the argument is a JSON primitive (string, number, boolean or null), * <p>Otherwise thrown {@link IllegalArgumentException}. */ public static JsonBuilder createFrom(JsonValue arg) { if ( arg.isObject() ) { JsonObject obj = arg.getAsObject() ; JsonBuilder builder = JsonBuilder.create() ; builder.startObject() ; obj.forEach((k,v) -> builder.key(k).value(copy(v))) ; builder.finishObject() ; return builder ; } if ( arg.isArray() ) { JsonArray array = arg.getAsArray() ; JsonBuilder builder = JsonBuilder.create() ; builder.startArray() ; array.forEach((a)->builder.value(copy(a))) ; builder.finishArray() ; return builder ; } throw new IllegalArgumentException("Not a JSON object or JSON array; "+arg); }
/** Create a builder from a {@link JsonValue}. * <p>If the argument is an object or array, use it to initialize the builder. * <p>If the argument is a JSON primitive (string, number, boolean or null), * <p>Otherwise thrown {@link IllegalArgumentException}. */ public static JsonBuilder builder(JsonValue arg) { if ( arg.isObject() ) { JsonObject obj = arg.getAsObject() ; JsonBuilder builder = JsonBuilder.create() ; builder.startObject() ; obj.forEach((k,v) -> builder.key(k).value(copy(v))) ; builder.finishObject() ; return builder ; } if ( arg.isArray() ) { JsonArray array = arg.getAsArray() ; JsonBuilder builder = JsonBuilder.create() ; builder.startArray() ; array.forEach((a)->builder.value(copy(a))) ; builder.finishArray() ; return builder ; } throw new IllegalArgumentException("Not a JSON object or JSON array; "+arg); }
public static void describe(JsonBuilder builder, DataAccessPoint access) { builder.startObject() ; builder.key(ServerConst.dsName).value(access.getName()) ; builder.key(ServerConst.dsState).value(access.getDataService().isAcceptingRequests()) ; builder.key(ServerConst.dsService) ; builder.startArray() ; for ( Operation operation : access.getDataService().getOperations() ) { List<Endpoint> endpoints = access.getDataService().getEndpoints(operation) ; describe(builder, operation, endpoints) ; } builder.finishArray() ; builder.finishObject() ; }
public static void describe(JsonBuilder builder, DataAccessPoint access) { builder.startObject() ; builder.key(ServerConst.dsName).value(access.getName()) ; builder.key(ServerConst.dsState).value(access.getDataService().isAcceptingRequests()) ; builder.key(ServerConst.dsService) ; builder.startArray() ; for ( Operation operation : access.getDataService().getOperations() ) { List<Endpoint> endpoints = access.getDataService().getEndpoints(operation) ; describe(builder, operation, endpoints) ; } builder.finishArray() ; builder.finishObject() ; }
@Test public void jsonBuild05() { JsonValue x = JSON.parseAny("[ { a: 'B'} , 56]") ; JsonBuilder builder = new JsonBuilder() ; builder.startArray() ; builder.startObject().key("a").value("B").finishObject() ; builder.value(56) ; builder.finishArray() ; JsonValue v = builder.build() ; assertEquals(x,v) ; }
@Test public void jsonBuild04() { JsonValue x = JSON.parseAny("{ a: [1], b:'B'}") ; JsonBuilder builder = new JsonBuilder() ; builder.startObject() ; builder.key("a").startArray().value(1).finishArray() ; builder.key("b").value("B") ; builder.finishObject() ; JsonValue v = builder.build() ; assertEquals(x,v) ; }
obj.key(jParseErrorCol).value(ex.getColumn()) ; obj.finishObject() ; obj.finishArray() ;
obj.key(jParseErrorCol).value(ex.getColumn()) ; obj.finishObject() ; obj.finishArray() ;