public static JsonValue detailsJson(long count, long tripleCount, long quadCount) { JsonBuilder b = new JsonBuilder() ; b.startObject("details") ; b.key(jCount).value(count) ; b.key(jTriplesCount).value(tripleCount) ; b.key(jQuadsCount).value(quadCount) ; b.finishObject("details") ; return b.build() ; }
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() ; } }
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); } }
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 static void descOneTask(JsonBuilder builder, AsyncTask aTask) { builder.startObject("SingleTask") ; builder.key(JsonConstCtl.task).value(aTask.displayName()) ; builder.key(JsonConstCtl.taskId).value(aTask.getTaskId()) ; if ( aTask.getStartPoint() != null ) builder.key(JsonConstCtl.started).value(aTask.getStartPoint()) ; if ( aTask.getFinishPoint() != null ) builder.key(JsonConstCtl.finished).value(aTask.getFinishPoint()) ; builder.finishObject("SingleTask") ; } }
JsonBuilder builder = new JsonBuilder() ; builder.startArray() ; builder.finishArray() ; responseBody = builder.build(); } else { for ( AsyncPool pool : pools ) { JsonBuilder builder = new JsonBuilder() ; descOneTask(builder, aTask); responseBody = builder.build() ;
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())) ; } }
public static JsonObject buildObject(Consumer<JsonBuilder> setup) { JsonBuilder b = JsonBuilder.create().startObject(LABEL) ; setup.accept(b); return b.finishObject(LABEL).build().getAsObject() ; }
public static JsonObject generateStats(DataAccessPoint access) { JsonBuilder builder = new JsonBuilder() ; statsDataset(builder, access) ; return builder.build().getAsObject() ; }
@Test(expected=JsonException.class) public void jsonBuildErr03() { JsonBuilder builder = new JsonBuilder() ; builder.startObject("A") ; builder.finishObject("B") ; }
@Test(expected=JsonException.class) public void jsonBuildErr01() { JsonBuilder builder = new JsonBuilder() ; builder.startArray() ; builder.finishObject() ; }
@Test(expected=JsonException.class) public void jsonBuildErr02() { JsonBuilder builder = new JsonBuilder() ; builder.startObject() ; builder.finishArray() ; }
public void addJsonObject(JsonBuilder b) { b.startObject(); addJsonFields(b); b.finishObject(); }
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 void describeServer(JsonBuilder builder, int requestPort) { String versionStr = Fuseki.VERSION ; String builtDateStr = Fuseki.BUILD_DATE ; if ( versionStr == null || versionStr.startsWith("${") ) versionStr = "Development" ; if ( builtDateStr == null || builtDateStr.startsWith("${") ) builtDateStr = "Unknown" ; builder .pair(ServerMgtConst.version, versionStr) .pair(ServerMgtConst.built, builtDateStr) .pair(ServerMgtConst.startDT, Fuseki.serverStartedAt()) .pair(ServerMgtConst.uptime, Fuseki.serverUptimeSeconds()) ; }
public JsonBuilder finishObject() { return finishObject(NoMarker) ; }
public JsonBuilder startObject() { return startObject(NoMarker) ; }
/** Create a safe copy of a {@link JsonValue}. * <p> * If the JsonValue is a structure (object or array), copy the structure recursively. * <p> * If the JsonValue is a primitive (string, number, boolean or null), * it is immutable so return the same object. */ public static JsonValue copy(JsonValue arg) { if ( ! arg.isArray() && ! arg.isObject() ) return arg; return createFrom(arg).build(); }
@Test public void jsonBuildObject_02() { JsonValue x = JSON.parseAny("{ key1: 'value1', key2: 'value2' }") ; JsonObject obj = JsonBuilder.buildObject(b->{ b.pair("key1", "value1") .pair("key2", "value2"); }); assertEquals(x, obj); } }