use of org.json.JSONArray in project core by s4.
the class AvroSchemaSupplementer method main.
public static void main(String[] args) {
if (args.length < 1) {
System.err.println("No schema filename specified");
System.exit(1);
}
String filename = args[0];
FileReader fr = null;
BufferedReader br = null;
InputStreamReader isr = null;
try {
if (filename == "-") {
isr = new InputStreamReader(System.in);
br = new BufferedReader(isr);
} else {
fr = new FileReader(filename);
br = new BufferedReader(fr);
}
String inputLine = "";
StringBuffer jsonBuffer = new StringBuffer();
while ((inputLine = br.readLine()) != null) {
jsonBuffer.append(inputLine);
}
JSONObject jsonRecord = new JSONObject(jsonBuffer.toString());
JSONObject keyPathElementSchema = new JSONObject();
keyPathElementSchema.put("name", "KeyPathElement");
keyPathElementSchema.put("type", "record");
JSONArray fieldsArray = new JSONArray();
JSONObject fieldRecord = new JSONObject();
fieldRecord.put("name", "index");
JSONArray typeArray = new JSONArray("[\"int\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
fieldRecord = new JSONObject();
fieldRecord.put("name", "keyName");
typeArray = new JSONArray("[\"string\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
keyPathElementSchema.put("fields", fieldsArray);
JSONObject keyInfoSchema = new JSONObject();
keyInfoSchema.put("name", "KeyInfo");
keyInfoSchema.put("type", "record");
fieldsArray = new JSONArray();
fieldRecord = new JSONObject();
fieldRecord.put("name", "keyPath");
typeArray = new JSONArray("[\"string\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
fieldRecord = new JSONObject();
fieldRecord.put("name", "fullKeyPath");
typeArray = new JSONArray("[\"string\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
fieldRecord = new JSONObject();
fieldRecord.put("name", "keyPathElementList");
JSONObject typeRecord = new JSONObject();
typeRecord.put("type", "array");
typeRecord.put("items", keyPathElementSchema);
fieldRecord.put("type", typeRecord);
fieldsArray.put(fieldRecord);
keyInfoSchema.put("fields", fieldsArray);
JSONObject partitionInfoSchema = new JSONObject();
partitionInfoSchema.put("name", "PartitionInfo");
partitionInfoSchema.put("type", "record");
fieldsArray = new JSONArray();
fieldRecord = new JSONObject();
fieldRecord.put("name", "partitionId");
typeArray = new JSONArray("[\"int\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
fieldRecord = new JSONObject();
fieldRecord.put("name", "compoundKey");
typeArray = new JSONArray("[\"string\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
fieldRecord = new JSONObject();
fieldRecord.put("name", "compoundValue");
typeArray = new JSONArray("[\"string\", \"null\"]");
fieldRecord.put("type", typeArray);
fieldsArray.put(fieldRecord);
fieldRecord = new JSONObject();
fieldRecord.put("name", "keyInfoList");
typeRecord = new JSONObject();
typeRecord.put("type", "array");
typeRecord.put("items", keyInfoSchema);
fieldRecord.put("type", typeRecord);
fieldsArray.put(fieldRecord);
partitionInfoSchema.put("fields", fieldsArray);
fieldRecord = new JSONObject();
fieldRecord.put("name", "S4__PartitionInfo");
typeRecord = new JSONObject();
typeRecord.put("type", "array");
typeRecord.put("items", partitionInfoSchema);
fieldRecord.put("type", typeRecord);
fieldsArray = jsonRecord.getJSONArray("fields");
fieldsArray.put(fieldRecord);
System.out.println(jsonRecord.toString(3));
} catch (Exception ioe) {
throw new RuntimeException(ioe);
} finally {
if (br != null)
try {
br.close();
} catch (Exception e) {
}
if (isr != null)
try {
isr.close();
} catch (Exception e) {
}
if (fr != null)
try {
fr.close();
} catch (Exception e) {
}
}
}
use of org.json.JSONArray in project examples by s4.
the class TopNTopicPE method output.
@Override
public void output() {
List<TopNEntry> sortedList = new ArrayList<TopNEntry>();
for (String key : topicMap.keySet()) {
sortedList.add(new TopNEntry(key, topicMap.get(key)));
}
Collections.sort(sortedList);
try {
JSONObject message = new JSONObject();
JSONArray jsonTopN = new JSONArray();
for (int i = 0; i < entryCount; i++) {
if (i == sortedList.size()) {
break;
}
TopNEntry tne = sortedList.get(i);
JSONObject jsonEntry = new JSONObject();
jsonEntry.put("topic", tne.getTopic());
jsonEntry.put("count", tne.getCount());
jsonTopN.put(jsonEntry);
}
message.put("topN", jsonTopN);
persister.set(persistKey, message.toString() + "\n", persistTime);
} catch (Exception e) {
Logger.getLogger("s4").error(e);
}
}
use of org.json.JSONArray in project Conversations by siacs.
the class MemorizingTrustManager method getPoshFingerprintsFromServer.
private List<String> getPoshFingerprintsFromServer(String domain, String url, int maxTtl, boolean followUrl) {
Log.d("mtm", "downloading json for " + domain + " from " + url);
try {
List<String> results = new ArrayList<>();
HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection();
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder builder = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
builder.append(inputLine);
}
JSONObject jsonObject = new JSONObject(builder.toString());
in.close();
int expires = jsonObject.getInt("expires");
if (expires <= 0) {
return new ArrayList<>();
}
if (maxTtl >= 0) {
expires = Math.min(maxTtl, expires);
}
String redirect;
try {
redirect = jsonObject.getString("url");
} catch (JSONException e) {
redirect = null;
}
if (followUrl && redirect != null && redirect.toLowerCase().startsWith("https")) {
return getPoshFingerprintsFromServer(domain, redirect, expires, false);
}
JSONArray fingerprints = jsonObject.getJSONArray("fingerprints");
for (int i = 0; i < fingerprints.length(); i++) {
JSONObject fingerprint = fingerprints.getJSONObject(i);
String sha256 = fingerprint.getString("sha-256");
if (sha256 != null) {
results.add(sha256);
}
}
writeFingerprintsToCache(domain, results, 1000L * expires + System.currentTimeMillis());
return results;
} catch (Exception e) {
Log.d("mtm", "error fetching posh " + e.getMessage());
return new ArrayList<>();
}
}
use of org.json.JSONArray in project Conversations by siacs.
the class MemorizingTrustManager method writeFingerprintsToCache.
private void writeFingerprintsToCache(String domain, List<String> results, long expires) {
File file = getPoshCacheFile(domain);
file.getParentFile().mkdirs();
try {
file.createNewFile();
JSONObject jsonObject = new JSONObject();
jsonObject.put("expires", expires);
jsonObject.put("fingerprints", new JSONArray(results));
FileOutputStream outputStream = new FileOutputStream(file);
outputStream.write(jsonObject.toString().getBytes());
outputStream.flush();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
use of org.json.JSONArray in project simplefacebook by androidquery.
the class PostActivity method putPhotoTags.
private void putPhotoTags(Map<String, Object> params, List<Entity> tags) {
if (tags == null || tags.size() == 0)
return;
try {
JSONArray ja = new JSONArray();
for (Entity tag : tags) {
JSONObject jo = new JSONObject();
jo.putOpt("tag_uid", tag.getId());
jo.putOpt("x", 0);
jo.putOpt("y", 0);
ja.put(jo);
}
AQUtility.debug("tags", ja);
params.put("tags", ja.toString());
} catch (Exception e) {
AQUtility.report(e);
}
}
Aggregations