List of usage examples for com.fasterxml.jackson.core JsonFactory JsonFactory
public JsonFactory()
From source file:de.qaware.cloud.deployer.kubernetes.test.BaseKubernetesResourceTest.java
protected void testUpdate(UrlPattern instancePattern) throws ResourceException, IOException { // Prepare body JsonNode body;//w w w .ja v a2s . c o m ContentType contentType = resource.getResourceConfig().getContentType(); String content = resource.getResourceConfig().getContent(); if (contentType == ContentType.YAML) { body = new ObjectMapper(new YAMLFactory()).readTree(content); } else if (contentType == ContentType.JSON) { body = new ObjectMapper(new JsonFactory()).readTree(content); } else { throw new IllegalArgumentException("Can't process this type of content"); } String jsonContent = new ObjectMapper(new JsonFactory()).writeValueAsString(body); // Update deployment instanceRule.stubFor(patch(instancePattern).withRequestBody(equalTo(jsonContent)) .withHeader("Content-Type", equalTo("application/merge-patch+json; charset=utf-8")) .willReturn(aResponse().withStatus(200))); resource.update(); // Verify calls instanceRule.verify(1, patchRequestedFor(instancePattern)); }
From source file:com.amazonaws.services.sns.util.SignatureChecker.java
private Map<String, String> parseJSON(String jsonmessage) { Map<String, String> parsed = new HashMap<String, String>(); JsonFactory jf = new JsonFactory(); try {/* www . j ava 2 s .co m*/ JsonParser parser = jf.createJsonParser(jsonmessage); parser.nextToken(); //shift past the START_OBJECT that begins the JSON while (parser.nextToken() != JsonToken.END_OBJECT) { String fieldname = parser.getCurrentName(); parser.nextToken(); // move to value, or START_OBJECT/START_ARRAY String value; if (parser.getCurrentToken() == JsonToken.START_ARRAY) { value = ""; boolean first = true; while (parser.nextToken() != JsonToken.END_ARRAY) { if (!first) value += ","; first = false; value += parser.getText(); } } else { value = parser.getText(); } parsed.put(fieldname, value); } } catch (JsonParseException e) { // JSON could not be parsed e.printStackTrace(); } catch (IOException e) { // Rare exception } return parsed; }
From source file:com.adobe.communities.ugc.migration.importer.MessagesImportServlet.java
protected void doPost(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException { final ResourceResolver resolver = request.getResourceResolver(); UGCImportHelper.checkUserPrivileges(resolver, rrf); // first check to see if the caller provided an explicit selector for our MessagingOperationsService final RequestParameter serviceSelector = request.getRequestParameter("serviceSelector"); // if no serviceSelector parameter was provided, we'll try going with whatever we get through the Reference if (null != serviceSelector && !serviceSelector.getString().equals("")) { // make sure the messagingServiceTracker was created by the activate method if (null == messagingServiceTracker) { throw new ServletException("Cannot use messagingServiceTracker"); }//from w ww.j av a2 s . c om // search for the MessagingOperationsService corresponding to the provided selector messagingService = messagingServiceTracker.getService(serviceSelector.getString()); if (null == messagingService) { throw new ServletException( "MessagingOperationsService for selector " + serviceSelector.getString() + "was not found"); } } // finally get the uploaded file final RequestParameter[] fileRequestParameters = request.getRequestParameters("file"); if (fileRequestParameters != null && fileRequestParameters.length > 0 && !fileRequestParameters[0].isFormField()) { final Map<String, Object> messageModifiers = new HashMap<String, Object>(); if (fileRequestParameters[0].getFileName().endsWith(".json")) { // if upload is a single json file... final InputStream inputStream = fileRequestParameters[0].getInputStream(); final JsonParser jsonParser = new JsonFactory().createParser(inputStream); jsonParser.nextToken(); // get the first token importMessages(request, jsonParser, messageModifiers); } else if (fileRequestParameters[0].getFileName().endsWith(".zip")) { ZipInputStream zipInputStream; try { zipInputStream = new ZipInputStream(fileRequestParameters[0].getInputStream()); } catch (IOException e) { throw new ServletException("Could not open zip archive"); } ZipEntry zipEntry = zipInputStream.getNextEntry(); while (zipEntry != null) { final JsonParser jsonParser = new JsonFactory().createParser(zipInputStream); jsonParser.nextToken(); // get the first token importMessages(request, jsonParser, messageModifiers); zipInputStream.closeEntry(); zipEntry = zipInputStream.getNextEntry(); } zipInputStream.close(); } else { throw new ServletException("Unrecognized file input type"); } if (!messageModifiers.isEmpty()) { try { Thread.sleep(3000); //wait 3 seconds to allow the messages to be indexed by solr for search } catch (final InterruptedException e) { // do nothing. } updateMessageDetails(request, messageModifiers); } } else { throw new ServletException("No file provided for UGC data"); } }
From source file:com.bazaarvoice.jsonpps.PrettyPrintJson.java
public void prettyPrint(List<File> inputFiles, File outputFile) throws IOException { JsonFactory factory = new JsonFactory(); factory.disable(JsonFactory.Feature.INTERN_FIELD_NAMES); if (!strict) { factory.enable(JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER); factory.enable(JsonParser.Feature.ALLOW_COMMENTS); factory.enable(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS); factory.enable(JsonParser.Feature.ALLOW_NUMERIC_LEADING_ZEROS); factory.enable(JsonParser.Feature.ALLOW_SINGLE_QUOTES); factory.enable(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS); factory.enable(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES); }// w ww.j a v a 2 s. co m ObjectMapper mapper = null; if (sortKeys) { mapper = new ObjectMapper(factory); mapper.enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS); mapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE); } // Open the output stream and create the Json emitter. JsonGenerator generator; File tempOutputFile = null; if (STDINOUT.equals(outputFile)) { generator = factory.createGenerator(stdout, JsonEncoding.UTF8); } else if (!caseInsensitiveContains(inputFiles, outputFile)) { generator = factory.createGenerator(outputFile, JsonEncoding.UTF8); } else { // Writing to an input file.. use a temp file to stage the output until we're done. tempOutputFile = getTemporaryFileFor(outputFile); generator = factory.createGenerator(tempOutputFile, JsonEncoding.UTF8); } try { // Separate top-level objects by a newline in the output. String newline = System.getProperty("line.separator"); generator.setPrettyPrinter(new DefaultPrettyPrinter(newline)); if (wrap) { generator.writeStartArray(); } for (File inputFile : inputFiles) { JsonParser parser; if (STDINOUT.equals(inputFile)) { parser = factory.createParser(stdin); } else { parser = factory.createParser(inputFile); } try { while (parser.nextToken() != null) { copyCurrentStructure(parser, mapper, 0, generator); } } finally { parser.close(); } } if (wrap) { generator.writeEndArray(); } generator.writeRaw(newline); } finally { generator.close(); } if (tempOutputFile != null && !tempOutputFile.renameTo(outputFile)) { System.err.println("error: unable to rename temporary file to output: " + outputFile); System.exit(1); } }
From source file:org.oscim.utils.overpass.OverpassAPIReader.java
public void parse(InputStream in) throws IOException { JsonFactory jsonFactory = new JsonFactory(); try {//ww w. ja v a 2s . com JsonParser jp = jsonFactory.createJsonParser(in); JsonToken t; while ((t = jp.nextToken()) != null) { if (t == JsonToken.START_OBJECT) { jp.nextToken(); String name = jp.getCurrentName(); jp.nextToken(); if ("type".equals(name)) { String type = jp.getText(); if ("node".equals(type)) parseNode(jp); else if ("way".equals(type)) parseWay(jp); else if ("relation".equals(type)) parseRelation(jp); } } } } catch (JsonParseException e) { e.printStackTrace(); } }
From source file:net.floodlightcontroller.configuration.ConfigurationManager.java
@Override public String showConfiguration(String fileName) { ObjectMapper mapper = new ObjectMapper(); ObjectNode rootNode = createJsonRootNode(); JsonFactory f = new JsonFactory(); OutputStream out = new ByteArrayOutputStream(); JsonGenerator g = null;/*w w w . j ava 2 s . c o m*/ try { g = f.createGenerator(out, JsonEncoding.UTF8); g.useDefaultPrettyPrinter(); mapper.writeTree(g, rootNode); } catch (IOException e) { return "Error: Could not parse the JSON configuration file."; } return out.toString(); }
From source file:org.elasticsearch.client.sniff.HostsSnifferTests.java
private static SniffResponse buildSniffResponse(HostsSniffer.Scheme scheme) throws IOException { int numNodes = RandomInts.randomIntBetween(getRandom(), 1, 5); List<HttpHost> hosts = new ArrayList<>(numNodes); JsonFactory jsonFactory = new JsonFactory(); StringWriter writer = new StringWriter(); JsonGenerator generator = jsonFactory.createGenerator(writer); generator.writeStartObject();//from ww w . j a v a 2 s .c om if (getRandom().nextBoolean()) { generator.writeStringField("cluster_name", "elasticsearch"); } if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } generator.writeObjectFieldStart("nodes"); for (int i = 0; i < numNodes; i++) { String nodeId = RandomStrings.randomAsciiOfLengthBetween(getRandom(), 5, 10); generator.writeObjectFieldStart(nodeId); if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } if (getRandom().nextBoolean()) { generator.writeArrayFieldStart("bogus_array"); generator.writeStartObject(); generator.writeEndObject(); generator.writeEndArray(); } boolean isHttpEnabled = rarely() == false; if (isHttpEnabled) { String host = "host" + i; int port = RandomInts.randomIntBetween(getRandom(), 9200, 9299); HttpHost httpHost = new HttpHost(host, port, scheme.toString()); hosts.add(httpHost); generator.writeObjectFieldStart("http"); if (getRandom().nextBoolean()) { generator.writeArrayFieldStart("bound_address"); generator.writeString("[fe80::1]:" + port); generator.writeString("[::1]:" + port); generator.writeString("127.0.0.1:" + port); generator.writeEndArray(); } if (getRandom().nextBoolean()) { generator.writeObjectFieldStart("bogus_object"); generator.writeEndObject(); } generator.writeStringField("publish_address", httpHost.toHostString()); if (getRandom().nextBoolean()) { generator.writeNumberField("max_content_length_in_bytes", 104857600); } generator.writeEndObject(); } if (getRandom().nextBoolean()) { String[] roles = { "master", "data", "ingest" }; int numRoles = RandomInts.randomIntBetween(getRandom(), 0, 3); Set<String> nodeRoles = new HashSet<>(numRoles); for (int j = 0; j < numRoles; j++) { String role; do { role = RandomPicks.randomFrom(getRandom(), roles); } while (nodeRoles.add(role) == false); } generator.writeArrayFieldStart("roles"); for (String nodeRole : nodeRoles) { generator.writeString(nodeRole); } generator.writeEndArray(); } int numAttributes = RandomInts.randomIntBetween(getRandom(), 0, 3); Map<String, String> attributes = new HashMap<>(numAttributes); for (int j = 0; j < numAttributes; j++) { attributes.put("attr" + j, "value" + j); } if (numAttributes > 0) { generator.writeObjectFieldStart("attributes"); } for (Map.Entry<String, String> entry : attributes.entrySet()) { generator.writeStringField(entry.getKey(), entry.getValue()); } if (numAttributes > 0) { generator.writeEndObject(); } generator.writeEndObject(); } generator.writeEndObject(); generator.writeEndObject(); generator.close(); return SniffResponse.buildResponse(writer.toString(), hosts); }
From source file:to.sparks.mtgox.service.WebsocketClientService.java
@Override public void onApplicationEvent(PacketEvent event) { JSONObject op = (JSONObject) event.getPayload(); try {/*from w w w . j a va2 s. c om*/ // logger.fine(aPacket.getUTF8()); JsonFactory factory = new JsonFactory(); ObjectMapper mapper = new ObjectMapper(); // JsonParser jp = factory.createJsonParser(aPacket.getUTF8()); // DynaBean op = mapper.readValue(jp, DynaBean.class); if (op.get("op") != null && op.get("op").equals("private")) { String messageType = op.get("private").toString(); if (messageType.equalsIgnoreCase("ticker")) { OpPrivateTicker opPrivateTicker = mapper.readValue(factory.createJsonParser(op.toString()), OpPrivateTicker.class); Ticker ticker = opPrivateTicker.getTicker(); tickerEvent(ticker); logger.log(Level.FINE, "Ticker: last: {0}", new Object[] { ticker.getLast().toPlainString() }); } else if (messageType.equalsIgnoreCase("depth")) { OpPrivateDepth opPrivateDepth = mapper.readValue(factory.createJsonParser(op.toString()), OpPrivateDepth.class); Depth depth = opPrivateDepth.getDepth(); depthEvent(depth); logger.log(Level.FINE, "Depth total volume: {0}", new Object[] { depth.getTotalVolume().toPlainString() }); } else if (messageType.equalsIgnoreCase("trade")) { OpPrivateTrade opPrivateTrade = mapper.readValue(factory.createJsonParser(op.toString()), OpPrivateTrade.class); Trade trade = opPrivateTrade.getTrade(); tradeEvent(trade); logger.log(Level.FINE, "Trade currency: {0}", new Object[] { trade.getPrice_currency() }); } else { logger.log(Level.WARNING, "Unknown private operation: {0}", new Object[] { op.toString() }); } // logger.log(Level.INFO, "messageType: {0}, payload: {1}", new Object[]{messageType, dataPayload}); } else { logger.log(Level.WARNING, "Unknown operation: {0}, payload: {1}", new Object[] { op.get("op"), op.toString() }); // TODO: Process the following types // subscribe // unsubscribe // remark // result } } catch (Exception ex) { logger.log(Level.SEVERE, null, ex); } }
From source file:org.n52.ar.layar.LayarServlet.java
@Override public void init(ServletConfig servletConfig) throws ServletException { super.init(servletConfig); this.factory = new JsonFactory(); log.info("Initialized " + this); }
From source file:com.concentricsky.android.khanacademy.data.remote.LibraryUpdaterTask.java
@Override protected Integer doInBackground(Void... params) { SharedPreferences prefs = dataService.getSharedPreferences(SETTINGS_NAME, Context.MODE_PRIVATE); // Connectivity receiver. final NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo(); ComponentName receiver = new ComponentName(dataService, WifiReceiver.class); PackageManager pm = dataService.getPackageManager(); if (activeNetwork == null || !activeNetwork.isConnected()) { // We've missed a scheduled update. Enable the receiver so it can launch an update when we reconnect. Log.d(LOG_TAG, "Missed library update: not connected. Enabling connectivity receiver."); pm.setComponentEnabledSetting(receiver, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); return RESULT_CODE_FAILURE; } else {//from w w w. j a v a 2 s. c om // We are connected. Disable the receiver. Log.d(LOG_TAG, "Library updater connected. Disabling connectivity receiver."); pm.setComponentEnabledSetting(receiver, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); } InputStream in = null; String etag = prefs.getString(SETTING_LIBRARY_ETAG, null); try { HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); if (etag != null && !force) { conn.setRequestProperty("If-None-Match", etag); } int code = conn.getResponseCode(); switch (code) { case HttpStatus.SC_NOT_MODIFIED: // If we got a 304, we're done. // Use failure code to indicate there is no temp db to copy over. Log.d(LOG_TAG, "304 in library response."); return RESULT_CODE_FAILURE; default: // Odd, but on 1/3/13 I received correct json responses with a -1 for responseCode. Fall through. Log.w(LOG_TAG, "Error code in library response: " + code); case HttpStatus.SC_OK: // Parse response. in = conn.getInputStream(); JsonFactory factory = new JsonFactory(); final JsonParser parser = factory.createJsonParser(in); SQLiteDatabase tempDb = tempDbHelper.getWritableDatabase(); tempDb.beginTransaction(); try { tempDb.execSQL("delete from topic"); tempDb.execSQL("delete from topicvideo"); tempDb.execSQL("delete from video"); parseObject(parser, tempDb, null, 0); tempDb.setTransactionSuccessful(); } catch (Exception e) { e.printStackTrace(); return RESULT_CODE_FAILURE; } finally { tempDb.endTransaction(); tempDb.close(); } // Save etag once we've successfully parsed the response. etag = conn.getHeaderField("ETag"); prefs.edit().putString(SETTING_LIBRARY_ETAG, etag).apply(); // Move this new content from the temp db into the main one. mergeDbs(); return RESULT_CODE_SUCCESS; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (JsonParseException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { tempDbHelper.close(); } return RESULT_CODE_FAILURE; }