/** * Begins encoding a new array. Each call to this method must be paired with * a call to {@link #endArray}. Output is <code>[</code>. * * @throws org.sonar.api.utils.text.WriterException on any failure */ public JsonWriter beginArray() { try { stream.beginArray(); return this; } catch (Exception e) { throw rethrow(e); } }
public SetSymbol(@NotNull String symbol, @NotNull String value, int frameId) { try { getWriter().name(PARAMS).beginArray(); writeScope(frameId, getWriter()) .name("Symbol").value(symbol) .name("Value").value(value) .endObject().endArray(); } catch (IOException e) { throw new RuntimeException(e); } }
public EvalSymbol(@NotNull String symbol, int frameId) { try { getWriter().name(PARAMS).beginArray(); writeScope(frameId, getWriter()) .name("Symbol").value(symbol) .endObject().endArray(); } catch (IOException e) { throw new RuntimeException(e); } }
public static void writeNullSafeArray(JsonWriter writer, Set<String> items) throws IOException { if (items != null) { writer.beginArray(); for (String s : items) { writer.value(s); } writer.endArray(); } else { writer.nullValue(); } }
/** * Write out an JSON array of vertices. */ private void writeVertices(JsonWriter writer, Set<Vertex> vertices) throws IOException { writer.name("vertices"); writer.beginArray(); for (Vertex vertex: vertices) { writer.beginObject(); writer.name("id").value(vertex.id); writer.name("vertexType").value(vertex.type.name()); writer.name("vertexId").value(vertex.label); writer.endObject(); } writer.endArray(); }
public Detach(boolean kill) { try { beginArguments(); getWriter().name(PARAMS).beginArray().value(kill).endArray(); } catch (IOException e) { throw new RuntimeException(e); } }
/** * Write out an JSON array of edges. */ private void writeEdges(JsonWriter writer, List<Edge> edges, HiveConf conf) throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException { writer.name("edges"); writer.beginArray(); for (Edge edge: edges) { writer.beginObject(); writer.name("sources"); writer.beginArray(); for (Vertex vertex: edge.sources) { writer.value(vertex.id); } writer.endArray(); writer.name("targets"); writer.beginArray(); for (Vertex vertex: edge.targets) { writer.value(vertex.id); } writer.endArray(); if (edge.expr != null) { writer.name("expression").value(HookUtils.redactLogString(conf, edge.expr)); } writer.name("edgeType").value(edge.type.name()); writer.endObject(); } writer.endArray(); }
@Override public final void beginArguments() { if (!argumentsObjectStarted) { argumentsObjectStarted = true; if (needObject()) { try { getWriter().name(PARAMS); getWriter().beginArray(); getWriter().beginObject(); } catch (IOException e) { throw new RuntimeException(e); } } } }
private void valueNonNullObject(Object value) throws IOException { if (value instanceof String) { stream.value(serializeEmptyStrings ? (String) value : emptyToNull((String) value)); } else if (value instanceof Number) { stream.value((Number) value); } else if (value instanceof Boolean) { stream.value((Boolean) value); } else if (value instanceof Date) { valueDateTime((Date) value); } else if (value instanceof Enum) { stream.value(((Enum) value).name()); } else if (value instanceof Map) { stream.beginObject(); for (Map.Entry<Object, Object> entry : ((Map<Object, Object>) value).entrySet()) { stream.name(entry.getKey().toString()); valueObject(entry.getValue()); } stream.endObject(); } else if (value instanceof Iterable) { stream.beginArray(); for (Object o : (Iterable<Object>) value) { valueObject(o); } stream.endArray(); } else { throw new IllegalArgumentException(getClass() + " does not support encoding of type: " + value.getClass()); } }
/** * Write a list of {@link JobState}s to json document. * * @param jsonWriter {@link com.google.gson.stream.JsonWriter} * @param jobStates list of {@link JobState}s to write to json document * @throws IOException */ private void writeJobStates(JsonWriter jsonWriter, List<? extends JobState> jobStates) throws IOException { jsonWriter.beginArray(); for (JobState jobState : jobStates) { writeJobState(jsonWriter, jobState); } jsonWriter.endArray(); }
@SuppressWarnings("unchecked") private void emitJson(JsonWriter out, Object value, ProtoAdapter<?> adapter, Label label) throws IOException { if (adapter == ProtoAdapter.UINT64) { if (label.isRepeated()) { List<Long> longs = (List<Long>) value; out.beginArray(); for (int i = 0, count = longs.size(); i < count; i++) { emitUint64(longs.get(i), out); } out.endArray(); } else { emitUint64((Long) value, out); } } else { gson.toJson(value, value.getClass(), out); } }
void serializeRecordedEvents(List<RecordedEvent> events, String filePath) { try { JsonWriter writer = new JsonWriter(new FileWriter(filePath)); writer.beginObject(); writer.name("events"); writer.beginArray(); for (RecordedEvent event : events) { writer.beginObject(); writer.name("entityRef_ID").value(event.getEntityId()); writer.name("timestamp").value(event.getTimestamp()); writer.name("index").value(event.getIndex()); writer.name("event_class").value(event.getEvent().getClass().getName()); writer.name("event_data"); writer.beginObject(); writeSpecificEventData(writer, event.getEvent()); writer.endObject(); writer.endObject(); } writer.endArray(); writer.endObject(); writer.close(); } catch (Exception e) { logger.error("Error while serializing events:", e); } }
@Override public void exportExtensionData(JsonWriter writer) throws IOException { writer.name(SAVED_REGISTERED_CLIENTS); writer.beginArray(); writeSavedRegisteredClients(writer); writer.endArray(); writer.name(RESOURCE_SETS); writer.beginArray(); writeResourceSets(writer); writer.endArray(); writer.name(PERMISSION_TICKETS); writer.beginArray(); writePermissionTickets(writer); writer.endArray(); writer.name(TOKEN_PERMISSIONS); writer.beginArray(); writeTokenPermissions(writer); writer.endArray(); }
/** * Start the generation of meta file. * * @throws IOException if unable to write to meta file (permissions, disk full etc) */ public DataStep startMetaFileGeneration(Instant snapshotInstant) throws IOException { // Compute meta file name. this.snapshotInstant = snapshotInstant; String fileName = MetaFileInfo.getMetaFileName(snapshotInstant); metaFilePath = Paths.get(metaProxy.getLocalMetaFileDirectory().toString(), fileName); Path tempMetaFilePath = Paths.get(metaProxy.getLocalMetaFileDirectory().toString(), fileName + ".tmp"); logger.info("Starting to write a new meta file: {}", metaFilePath); jsonWriter = new JsonWriter(new FileWriter(tempMetaFilePath.toFile())); jsonWriter.beginObject(); jsonWriter.name(MetaFileInfo.META_FILE_INFO); jsonWriter.jsonValue(metaFileInfo.toString()); jsonWriter.name(MetaFileInfo.META_FILE_DATA); jsonWriter.beginArray(); return this; }
/** * Convert this {@link JobState} to a json document. * * @param jsonWriter a {@link com.google.gson.stream.JsonWriter} * used to write the json document * @param keepConfig whether to keep all configuration properties * @throws IOException */ public void toJson(JsonWriter jsonWriter, boolean keepConfig) throws IOException { jsonWriter.beginObject(); writeStateSummary(jsonWriter); jsonWriter.name("task states"); jsonWriter.beginArray(); for (TaskState taskState : this.taskStates.values()) { taskState.toJson(jsonWriter, keepConfig); } for (TaskState taskState : this.skippedTaskStates.values()) { taskState.toJson(jsonWriter, keepConfig); } jsonWriter.endArray(); if (keepConfig) { jsonWriter.name("properties"); propsToJson(jsonWriter); } jsonWriter.endObject(); }
JsonWriter writer = new JsonWriter(new OutputStreamWriter(outStream))) writer.beginArray();
/** * @param writer * @throws IOException */ private void writeTokenPermissions(JsonWriter writer) throws IOException { for (OAuth2AccessTokenEntity token : tokenRepository.getAllAccessTokens()) { if (!token.getPermissions().isEmpty()) { // skip tokens that don't have the permissions structure attached writer.beginObject(); writer.name(TOKEN_ID).value(token.getId()); writer.name(PERMISSIONS); writer.beginArray(); for (Permission p : token.getPermissions()) { writer.beginObject(); writer.name(RESOURCE_SET).value(p.getResourceSet().getId()); writer.name(SCOPES); writer.beginArray(); for (String s : p.getScopes()) { writer.value(s); } writer.endArray(); writer.endObject(); } writer.endArray(); writer.endObject(); } } }
/** * @param writer */ private void writeGrants(JsonWriter writer) throws IOException { for (ApprovedSite site : approvedSiteRepository.getAll()) { writer.beginObject(); writer.name(ID).value(site.getId()); writer.name(ACCESS_DATE).value(toUTCString(site.getAccessDate())); writer.name(CLIENT_ID).value(site.getClientId()); writer.name(CREATION_DATE).value(toUTCString(site.getCreationDate())); writer.name(TIMEOUT_DATE).value(toUTCString(site.getTimeoutDate())); writer.name(USER_ID).value(site.getUserId()); writer.name(ALLOWED_SCOPES); writeNullSafeArray(writer, site.getAllowedScopes()); List<OAuth2AccessTokenEntity> tokens = tokenRepository.getAccessTokensForApprovedSite(site); writer.name(APPROVED_ACCESS_TOKENS); writer.beginArray(); for (OAuth2AccessTokenEntity token : tokens) { writer.value(token.getId()); } writer.endArray(); writer.endObject(); logger.debug("Wrote grant {}", site.getId()); } logger.info("Done writing grants"); }
/** * @param writer */ private void writeAccessTokens(JsonWriter writer) throws IOException { for (OAuth2AccessTokenEntity token : tokenRepository.getAllAccessTokens()) { writer.beginObject(); writer.name(ID).value(token.getId()); writer.name(EXPIRATION).value(toUTCString(token.getExpiration())); writer.name(CLIENT_ID) .value((token.getClient() != null) ? token.getClient().getClientId() : null); writer.name(AUTHENTICATION_HOLDER_ID) .value((token.getAuthenticationHolder() != null) ? token.getAuthenticationHolder().getId() : null); writer.name(REFRESH_TOKEN_ID) .value((token.getRefreshToken() != null) ? token.getRefreshToken().getId() : null); writer.name(SCOPE); writer.beginArray(); for (String s : token.getScope()) { writer.value(s); } writer.endArray(); writer.name(TYPE).value(token.getTokenType()); writer.name(VALUE).value(token.getValue()); writer.endObject(); logger.debug("Wrote access token {}", token.getId()); } logger.info("Done writing access tokens"); }
@Test public void fail_to_begin_array() throws Exception { com.google.gson.stream.JsonWriter gson = mock(com.google.gson.stream.JsonWriter.class); when(gson.beginArray()).thenThrow(new IOException("the reason")); expectedException.expect(WriterException.class); expectedException.expectMessage("Fail to write JSON"); new JsonWriter(gson).beginArray(); }