@Override public void visit(Delete aChange) throws Exception { List<String> keys = new ArrayList<>(); for (ChangeValue key : aChange.getKeys()) { keys.add(key.name); keys.add(JsonUtils.v(key.value)); } written = JsonUtils.o(CHANGE_KIND_NAME, JsonUtils.s("delete").toString(), CHANGE_ENTITY_NAME, JsonUtils.s(aChange.entityName).toString(), CHANGE_KEYS_NAME, JsonUtils.o(keys.toArray(new String[]{})).toString() ).toString(); }
public static StringBuilder o(StringBuilder... aValues) { StringBuilder sb = new StringBuilder(); assert aValues != null && aValues.length % 2 == 0; sb.append("{"); for (int i = 0; i < aValues.length; i += 2) { if (i > 0) { sb.append(","); } sb.append(p(aValues[i], aValues[i + 1])); } sb.append("}"); return sb; }
if (clientModuleTime == null || serverModuleTime.after(clientModuleTime)) { checkPrincipalPermission(moduleDoc.getAllowedRoles(), moduleName); StringBuilder json = JsonUtils.o(RemoteServerModulesProxy.CREATE_MODULE_RESPONSE_FUNCTIONS_PROP, JsonUtils.as(moduleDoc.getFunctionProperties().toArray(new String[]{})).toString(), RemoteServerModulesProxy.CREATE_MODULE_RESPONSE_IS_PERMITTED_PROP, String.valueOf(true) ); onFailure.accept(ex); } else { StringBuilder json = JsonUtils.o(RemoteServerModulesProxy.CREATE_MODULE_RESPONSE_FUNCTIONS_PROP, JsonUtils.a(Collections.emptySet().toArray(new String[]{})).toString(), RemoteServerModulesProxy.CREATE_MODULE_RESPONSE_IS_PERMITTED_PROP, String.valueOf(false) );
StringBuilder json = JsonUtils.o(new StringBuilder(RemoteModulesProxy.STRUCTURE_PROP_NAME), JsonUtils.as(structure.toArray(new String[]{})), new StringBuilder(RemoteModulesProxy.CLIENT_DEPENDENCIES_PROP_NAME), JsonUtils.as(aStructure.getClientDependencies().toArray(new String[]{})), new StringBuilder(RemoteModulesProxy.QUERY_DEPENDENCIES_PROP_NAME), JsonUtils.as(aStructure.getQueryDependencies().toArray(new String[]{})), new StringBuilder(RemoteModulesProxy.SERVER_DEPENDENCIES_PROP_NAME), JsonUtils.as(aStructure.getServerDependencies().toArray(new String[]{})) ); ModuleStructureRequest.Response resp = new ModuleStructureRequest.Response(json.toString());
public static StringBuilder as(StringBuilder... aValues) { assert aValues != null; StringBuilder sb = new StringBuilder(); sb.append("["); for (int i = 0; i < aValues.length; i++) { if (i > 0) { sb.append(","); } sb.append(s(aValues[i].toString())); } sb.append("]"); return sb; }
StringBuilder jsonModules = JsonUtils.o(modules.toArray(new StringBuilder[]{})); StringBuilder js = new StringBuilder(); js.append("define[\"modules-index\"] = ");
PlatypusHttpResponseWriter.writeJsonResponse(JsonUtils.as(uploadedLocations.toArray(new StringBuilder[]{})).toString(), response, null); return true; } else {
public static String write(List<Change> aLog) throws Exception { List<String> changes = new ArrayList<>(); for (Change change : aLog) { ChangesJSONWriter changeWriter = new ChangesJSONWriter(); change.accept(changeWriter); changes.add(changeWriter.getWritten()); } String changesJson = JsonUtils.a(changes.toArray(new String[]{})).toString(); return changesJson; }
@Override public void visit(CredentialRequest.Response rsp) throws Exception { String text = extractText(); Pattern userNamePattern = Pattern.compile("\\{\\s*userName\\s*:(.+)\\}"); Matcher m = userNamePattern.matcher(text); if (m.find()) { String userName = m.group(1); rsp.setName(JsonUtils.jsonUnescape(userName)); } }
private static StringBuilder writeField(Field aField) { StringBuilder sb = JsonUtils.o(new StringBuilder(NAME_PROP_NAME), JsonUtils.s(aField.getName()), new StringBuilder(DESCRIPTION_PROP_NAME), JsonUtils.s(aField.getDescription()), new StringBuilder(TYPE_PROP_NAME), JsonUtils.s(aField.getType()), new StringBuilder(PK_PROP_NAME), new StringBuilder(String.valueOf(aField.isPk())), new StringBuilder(NULLABLE_PROP_NAME), new StringBuilder(String.valueOf(aField.isNullable()))); return sb; } }
if (!queryDependencies.isEmpty()) { moduleNamesAndProps.add(new StringBuilder("entities")); moduleNamesAndProps.add(JsonUtils.as(queryDependencies.toArray(new String[]{}))); moduleNamesAndProps.add(JsonUtils.as(scriptDoc.getModules().keySet().toArray(new String[]{}))); moduleNamesAndProps.add(JsonUtils.as(resources.toArray(new String[]{}))); moduleNamesAndProps.add(JsonUtils.as(walker.getDependencies().toArray(new String[]{}))); moduleNamesAndProps.add(JsonUtils.as(walker.getServerDependencies().toArray(new String[]{}))); StringBuilder module = JsonUtils.o(moduleNamesAndProps.toArray(new StringBuilder[]{})); modules.add(new StringBuilder(relativeResourceName)); modules.add(module);
public static StringBuilder as(String... aValues) { assert aValues != null; StringBuilder sb = new StringBuilder(); sb.append("["); for (int i = 0; i < aValues.length; i++) { if (i > 0) { sb.append(","); } sb.append(s(aValues[i])); } sb.append("]"); return sb; }
public static StringBuilder fields2a(Fields aFields) { StringBuilder[] res = new StringBuilder[aFields.getFieldsCount()]; for (int i = 0; i < aFields.getFieldsCount(); i++) { res[i] = writeField(aFields.get(i + 1)); } return JsonUtils.a(res); }
public static Object toValue(String aJson) throws Exception { if (aJson != null && !aJson.isEmpty()) { if ("true".equals(aJson)) { return true; } else if ("false".equals(aJson)) { return false; } else if ("null".equals(aJson)) { return null; } else if (aJson.matches("\"\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z\"")) {// date SimpleDateFormat sdf = new SimpleDateFormat(RowsetJsonConstants.DATE_FORMAT); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); return sdf.parse(aJson.substring(1, aJson.length() - 1)); } else if (aJson.matches("\".*\"")) { return jsonUnescape(aJson); } else { return Double.valueOf(aJson); } } else { return null; } }
@Override public void visit(Command aChange) throws Exception { List<String> params = new ArrayList<>(); for (ChangeValue parameter : aChange.getParameters()) { params.add(parameter.name); params.add(JsonUtils.v(parameter.value)); } written = JsonUtils.o(CHANGE_KIND_NAME, JsonUtils.s("command").toString(), CHANGE_ENTITY_NAME, JsonUtils.s(aChange.entityName).toString(), CHANGE_PARAMETERS_NAME, JsonUtils.o(params.toArray(new String[]{})).toString() ).toString(); } }
public String write() { StringBuilder sb = JsonUtils.o(TITLE_PROP_NAME, JsonUtils.s(query.getTitle()).toString(), APP_ELEMENT_PROP_NAME, JsonUtils.s(query.getEntityName()).toString(), PARAMETERS_PROP_NAME, fields2a(query.getParameters()).toString(), FIELDS_PROP_NAME, fields2a(query.getFields()).toString() ); return sb.toString(); } }
public static String v(Object aValue) throws Exception { if (aValue != null) { if (aValue instanceof Boolean) { return aValue.toString(); } else if (aValue instanceof Number) { return StringUtils.formatDouble(((Number) aValue).doubleValue()); } else if (aValue instanceof String) { return JsonUtils.s((String) aValue).toString(); } else if (aValue instanceof Date) { SimpleDateFormat sdf = new SimpleDateFormat(RowsetJsonConstants.DATE_FORMAT); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); return JsonUtils.s(sdf.format((Date) aValue)).toString(); } else { throw new Exception("Value of unknown or unsupported type found! It's class is: " + aValue.getClass().getName()); } } else { return "null"; } }
public static StringBuilder o(String... aValues) { StringBuilder sb = new StringBuilder(); assert aValues != null && aValues.length % 2 == 0; sb.append("{"); for (int i = 0; i < aValues.length; i += 2) { if (i > 0) { sb.append(","); } sb.append(p(aValues[i], aValues[i + 1])); } sb.append("}"); return sb; }
@Override public void visit(Insert aChange) throws Exception { List<String> data = new ArrayList<>(); for (ChangeValue datum : aChange.getData()) { data.add(datum.name); data.add(JsonUtils.v(datum.value)); } written = JsonUtils.o(CHANGE_KIND_NAME, JsonUtils.s("insert").toString(), CHANGE_ENTITY_NAME, JsonUtils.s(aChange.entityName).toString(), CHANGE_DATA_NAME, JsonUtils.o(data.toArray(new String[]{})).toString() ).toString(); }