public static Id fromStringOrNull(String str) { return ( str == null ) ? null : fromString(str); }
private static Id fromString$(String str) { if ( str.startsWith(SchemeUuid) ) str = str.substring(SchemeUuid.length()) ; else if ( str.startsWith(SchemeUrnUuid) ) str = str.substring(SchemeUrnUuid.length()) ; return fromString(str) ; }
private Id getIdOrNull(JsonObject obj, String field) { String s = JSONX.getStrOrNull(obj, field); if ( s == null ) return null; return Id.fromString(s); }
@Override public Stream<Id> find() { List<String> x = Zk.zkSubNodes(client, patches); return x.stream().map(s-> Id.fromString(s)); }
private Id keyToId(S3ObjectSummary summary) { String awsKey = summary.getKey(); if ( ! awsKey.startsWith(prefix) ) { Log.warn(this, "Not a good object name: "+awsKey); return null; } String x = awsKey.substring(prefix.length()); try { return Id.fromString(x); } catch ( IllegalArgumentException ex ) { Log.warn(this, "Not a S3 key for a patch id: "+awsKey); return null; } }
@Override public List<Id> listDatasets() { JsonObject obj = rpc(DeltaConst.OP_LIST_DS, emptyObject); JsonArray array = obj.get(DeltaConst.F_ARRAY).getAsArray(); List<Id> x = array.stream() .map(jv->Id.fromString(jv.getAsString().value())) .collect(Collectors.toList()) ; return x ; }
public static PatchLogInfo fromJson(JsonObject obj) { DataSourceDescription dsd = DataSourceDescription.fromJson(obj); Version minVer = Version.fromJson(obj, F_MINVER, Version.UNSET) ; Version maxVer = Version.fromJson(obj, F_MAXVER, Version.UNSET) ; String latestPatchStr = JSONX.getStrOrNull(obj, F_LATEST); Id latestPatch = null; if ( latestPatchStr != null && !latestPatchStr.isEmpty() ) latestPatch = Id.fromString(latestPatchStr); return new PatchLogInfo(dsd, minVer, maxVer, latestPatch); }
Id id = Id.fromString(idStr); String path = zkPath(headersPath, idStr); JsonObject obj = Zk.zkFetchJson(client, path);
@Override public Id newDataSource(String name, String uri) { Objects.requireNonNull(name); if ( ! DeltaOps.isValidName(name) ) throw new IllegalArgumentException("Invalid data source name: '"+name+"'"); JsonObject arg = JSONX.buildObject((b) -> { b.key(DeltaConst.F_NAME).value(name); if ( uri != null ) b.key(DeltaConst.F_URI).value(uri); }); JsonObject obj = rpc(DeltaConst.OP_CREATE_DS, arg); // Exists? String idStr = obj.get(DeltaConst.F_ID).getAsString().value(); Id dsRef = Id.fromString(idStr); return dsRef; }
dataState.patchId = null; } else { dataState.patchId = Id.fromString(patchStr); dataState.datasource = Id.fromString(dsStr); else { LOG.error("No datasource: "+JSON.toStringFlat(sourceObj));
public static DataSourceDescription fromJson(JsonObject obj) { String idStr = JSONX.getStrOrNull(obj, F_ID); if ( idStr == null ) throw new DeltaException("Missing \"id:\" in DataSourceDescription JSON"); String name = JSONX.getStrOrNull(obj, F_NAME); if ( name == null ) { @SuppressWarnings("deprecation") String n = JSONX.getStrOrNull(obj, F_BASE); // Compatibility. Log.warn(DataSourceDescription.class, "Deprecated: Use of field name \"base\" - change to \"name\""); name = n; } if ( name == null ) throw new DeltaException("Missing \"name:\" in DataSourceDescription JSON"); String uri = JSONX.getStrOrNull(obj, F_URI); return new DataSourceDescription(Id.fromString(idStr), name, uri); }
@Test public void id_fromString() { Id id1 = Id.create(); assertTrue(id1.asNode().isURI()); assertEquals(36, id1.asParam().length()); Id id2 = Id.fromString(id1.asParam()); assertEquals(id1, id2); }