List of usage examples for com.fasterxml.jackson.core JsonToken END_OBJECT
JsonToken END_OBJECT
To view the source code for com.fasterxml.jackson.core JsonToken END_OBJECT.
Click Source Link
From source file:org.zapto.samhippiemiddlepoolchecker.Values.java
PoolError update(String address, URL... urls) { //error is returned at the end PoolError error = PoolError.NONE;// w ww . j a va2 s.co m //Aborting the http to save data throws an error. This says if we should cover it up. boolean actualNetworkError = true; //reset the values. If they are never changed, then 0 is the most accurate number accepted = 0; rejected = 0; immature = 0; unexchanged = 0; balance = 0; paid = 0; try { //streaming the json HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(urls[0].toString()); HttpResponse response = client.execute(request); InputStream in = response.getEntity().getContent(); JsonFactory factory = new JsonFactory(); JsonParser parser = factory.createParser(in); boolean addressFound = false;//see if we need to return and address not found error mainParse: //label for breaking when address is found while (parser.nextToken() != JsonToken.END_OBJECT)//finding "report" { if ("report".equals(parser.getCurrentName()))//beginning of report { boolean firstRun = true; while (parser.nextToken() == JsonToken.START_ARRAY)//each address has its own array { if (firstRun)//this jumps over some junk at the begining { parser.nextToken(); firstRun = false; } parser.nextToken();//have to skip some junk each time if (address.equals(parser.getText()))//we have found our address { addressFound = true;//this prevents an address not found error from being returned while (parser.nextToken() != JsonToken.END_ARRAY) { //getting each of our values from the array. //having -420 as a default lets us see if the value is there while not using up 0 if ("megahashesPerSecond".equals(parser.getCurrentName())) { float value = (float) parser.getValueAsDouble(-420); if (value > 0)//negative means wrong value { accepted = value; } } if ("rejectedMegahashesPerSecond".equals(parser.getCurrentName())) { float value = (float) parser.getValueAsDouble(-420); if (value > 0)//negative means wrong value { rejected = value; } } if ("immatureBalance".equals(parser.getCurrentName())) { float value = (float) parser.getValueAsDouble(-420); if (value > 0)//negative means wrong value { immature = value; } } if ("unexchangedBalance".equals(parser.getCurrentName())) { float value = (float) parser.getValueAsDouble(-420); if (value > 0)//negative means wrong value { unexchanged = value; } } if ("bitcoinBalance".equals(parser.getCurrentName())) { float value = (float) parser.getValueAsDouble(-420); if (value > 0)//negative means wrong value { balance = value; } } if ("paidOut".equals(parser.getCurrentName())) { float value = (float) parser.getValueAsDouble(-420); if (value > 0)//negative means wrong value { paid = value; } } } break mainParse;//no need to download any more addresses } else { while (parser.nextToken() != JsonToken.END_ARRAY) { } //skipping over an unwanted address } } } } if (!addressFound)//we never found an address { error = PoolError.ADDRESS; } actualNetworkError = false; request.abort();//should stop any extra data usage, also forces ioexception (which is ignored) parser.close(); in.close(); } catch (MalformedURLException e) { if (actualNetworkError) { error = PoolError.NETWORK; } } catch (IOException e) { if (actualNetworkError) { error = PoolError.NETWORK; } } return error; }
From source file:org.hyperledger.dropwizard.hocon.HoconDeserializer.java
protected ConfigObject deserializeObject(JsonParser jp, DeserializationContext ctxt) throws IOException { HashMap<String, Object> mapping = new HashMap<>(); while (jp.nextToken() != JsonToken.END_OBJECT) { String name = jp.getCurrentName(); JsonToken t = jp.nextToken();/*from ww w . ja va2 s . c o m*/ switch (t) { case START_ARRAY: mapping.put(name, deserializeArray(jp, ctxt).unwrapped()); break; case START_OBJECT: mapping.put(name, deserializeObject(jp, ctxt).unwrapped()); break; case VALUE_FALSE: mapping.put(name, false); break; case VALUE_TRUE: mapping.put(name, true); break; case VALUE_NULL: mapping.put(name, null); break; case VALUE_NUMBER_FLOAT: if (jp.getNumberType() == JsonParser.NumberType.BIG_DECIMAL) { mapping.put(name, jp.getDecimalValue()); } else { mapping.put(name, jp.getDoubleValue()); } break; case VALUE_NUMBER_INT: // very cumbersome... but has to be done switch (jp.getNumberType()) { case LONG: mapping.put(name, jp.getLongValue()); break; case INT: mapping.put(name, jp.getIntValue()); break; default: mapping.put(name, jp.getBigIntegerValue()); } break; case VALUE_STRING: mapping.put(name, jp.getText()); break; case VALUE_EMBEDDED_OBJECT: { Object ob = jp.getEmbeddedObject(); if (ob instanceof byte[]) { String b64 = ctxt.getBase64Variant().encode((byte[]) ob, false); mapping.put(name, b64); break; } } default: throw ctxt.mappingException(_valueClass); } } return ConfigValueFactory.fromMap(mapping); }
From source file:net.signalr.client.json.jackson.JacksonReader.java
@Override public void readEndObject() { final JsonToken token; try {/*from w ww . j av a 2 s .com*/ if (_parser.hasCurrentToken()) { token = _parser.getCurrentToken(); } else { token = _parser.nextToken(); } _parser.clearCurrentToken(); } catch (final Exception e) { throw new JsonException(e); } if (token != JsonToken.END_OBJECT) { throw new JsonException("Expected END_OBJECT but was " + token); } }
From source file:org.graylog2.gelfclient.encoder.GelfMessageJsonEncoderTest.java
@Test public void testEncode() throws Exception { byte[] bytes = readBytes(); JsonFactory json = new JsonFactory(); JsonParser parser = json.createParser(bytes); String version = null;//from w ww. j a v a2 s . c o m Number timestamp = null; String host = null; String short_message = null; String full_message = null; Number level = null; Number _foo = null; Number _bar = null; String _baz = null; while (parser.nextToken() != JsonToken.END_OBJECT) { String key = parser.getCurrentName(); if (key == null) { continue; } parser.nextToken(); switch (key) { case "version": version = parser.getText(); break; case "timestamp": timestamp = parser.getNumberValue(); break; case "host": host = parser.getText(); break; case "short_message": short_message = parser.getText(); break; case "full_message": full_message = parser.getText(); break; case "level": level = parser.getNumberValue(); break; case "_foo": _foo = parser.getNumberValue(); break; case "_bar": _bar = parser.getNumberValue(); break; case "_baz": _baz = parser.getText(); break; default: throw new Exception("Found unexpected field in JSON payload: " + key); } } assertEquals(message.getVersion().toString(), version); assertEquals(message.getTimestamp(), timestamp); assertEquals(message.getHost(), host); assertEquals(message.getMessage(), short_message); assertEquals(message.getFullMessage(), full_message); assertEquals(message.getLevel().getNumericLevel(), level); assertEquals(1.0, _foo); assertEquals(128, _bar); assertEquals("a value", _baz); }
From source file:org.emfjson.jackson.streaming.StreamReader.java
protected EObject parseObject(JsonParser parser, EReference containment, EObject owner, EClass currentClass) throws IOException { EObject current = null;// w w w . j av a2s. co m if (currentClass != null) { current = EcoreUtil.create(currentClass); } final TokenBuffer buffer = new TokenBuffer(parser); while (parser.nextToken() != JsonToken.END_OBJECT) { final String fieldName = parser.getCurrentName(); switch (fieldName) { case EJS_TYPE_KEYWORD: current = create(parser.nextTextValue()); break; case EJS_UUID_ANNOTATION: if (resource instanceof UuidResource) { if (current != null) { ((UuidResource) resource).setID(current, parser.nextTextValue()); } } break; default: if (current == null && containment != null) { final EClass defaultType = containment.getEReferenceType(); if (!defaultType.isAbstract()) { current = EcoreUtil.create(defaultType); } } if (current != null) { readFeature(parser, current, fieldName); } else { buffer.copyCurrentStructure(parser); } break; } } buffer.close(); if (current != null) { final JsonParser bufferedParser = buffer.asParser(); while (bufferedParser.nextToken() != null) { readFeature(bufferedParser, current, bufferedParser.getCurrentName()); } bufferedParser.close(); } if (current != null && containment != null && owner != null) { EObjects.setOrAdd(owner, containment, current); } return current; }
From source file:com.basistech.rosette.dm.jackson.ListAttributeDeserializer.java
@SuppressWarnings("unchecked") private ListAttribute deserialize(JsonParser jp, DeserializationContext ctxt, TokenBuffer tb) throws IOException { jp.nextToken();// ww w . j ava 2 s. co m String keyName = jp.getText(); if (tb != null) { // need to put back skipped properties? jp = JsonParserSequence.createFlattened(tb.asParser(jp), jp); } // Must point to the next value; tb had no current, jp pointed to VALUE_STRING: KnownAttribute attribute = KnownAttribute.getAttributeForKey(keyName); if (attribute == null) { attribute = KnownAttribute.UNKNOWN; } Class<? extends BaseAttribute> itemClass = attribute.attributeClass(); ListAttribute.Builder<BaseAttribute> builder = new ListAttribute.Builder<>(attribute.attributeClass()); List<BaseAttribute> items = Lists.newArrayList(); JsonToken nextToken; while ((nextToken = jp.nextToken()) != JsonToken.END_OBJECT) { if (nextToken != JsonToken.FIELD_NAME) { throw ctxt.wrongTokenException(jp, JsonToken.END_OBJECT, "Expected field name."); } else { String name = jp.getCurrentName(); if ("items".equals(name)) { // the actual list items. nextToken = jp.nextToken(); if (nextToken == JsonToken.VALUE_EMBEDDED_OBJECT) { Object o = jp.getEmbeddedObject(); if (o instanceof List) { // could it be an array, also?!? // when using JsonTree, sometimes Jackson just sticks the entire Java object in here. items.addAll((List) o); } else { throw ctxt.mappingException( "List contains VALUE_EMBEDDED_OBJECT for items, but it wasn't a list."); } } else if (nextToken != JsonToken.START_ARRAY) { // what about nothing? throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "Expected array of items"); } else { // the START_ARRAY case, which is _normal_. Read the elements. while (jp.nextToken() != JsonToken.END_ARRAY) { items.add(jp.readValueAs(itemClass)); } } } else { nextToken = jp.nextToken(); Object value; if (nextToken == JsonToken.VALUE_EMBEDDED_OBJECT) { value = jp.getEmbeddedObject(); } else { value = jp.readValueAs(Object.class); } builder.extendedProperty(name, value); } } } builder.setItems(items); return builder.build(); }
From source file:com.cedarsoft.serialization.serializers.jackson.FileNameSerializer.java
@Nonnull @Override/* ww w .j a v a 2 s . com*/ public FileName deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws VersionException, IOException, JsonProcessingException { //baseName BaseName baseName = deserialize(BaseName.class, PROPERTY_BASENAME, formatVersion, deserializeFrom); //extension Extension extension = deserialize(Extension.class, PROPERTY_EXTENSION, formatVersion, deserializeFrom); //Finally closing element JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(JsonToken.END_OBJECT); //Constructing the deserialized object return new FileName(baseName, extension); }
From source file:io.apiman.manager.api.exportimport.json.JsonImportReader.java
@Override public void read() throws Exception { try {/*ww w. j av a2s .c o m*/ current = nextToken(); if (current != JsonToken.START_OBJECT) { throw new IllegalStateException("Expected start object at root"); } while (nextToken() != JsonToken.END_OBJECT) { GlobalElementsEnum fieldName = GlobalElementsEnum.valueOf(jp.getCurrentName()); current = nextToken(); switch (fieldName) { case Metadata: processEntity(MetadataBean.class, dispatcher::metadata); break; case Gateways: processEntities(GatewayBean.class, dispatcher::gateway); break; case Plugins: processEntities(PluginBean.class, dispatcher::plugin); break; case Roles: processEntities(RoleBean.class, dispatcher::role); break; case PolicyDefinitions: processEntities(PolicyDefinitionBean.class, dispatcher::policyDef); break; case Users: processEntities(UserBean.class, dispatcher::user); break; case Orgs: readOrgs(); break; default: throw new IllegalArgumentException("Unhandled field: " + fieldName); } } dispatcher.close(); } catch (Throwable t) { logger.error(t); dispatcher.cancel(); } finally { IOUtils.closeQuietly(in); } }
From source file:com.cedarsoft.serialization.jackson.test.RoleSerializer.java
@Nonnull @Override/*from w w w.j a v a 2 s.c o m*/ public Role deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws IOException, VersionException, JsonProcessingException { int id = -1; String description = null; JacksonParserWrapper parser = new JacksonParserWrapper(deserializeFrom); while (parser.nextToken() == JsonToken.FIELD_NAME) { String currentName = parser.getCurrentName(); if (currentName.equals(PROPERTY_ID)) { parser.nextToken(JsonToken.VALUE_NUMBER_INT); id = parser.getIntValue(); continue; } if (currentName.equals(PROPERTY_DESCRIPTION)) { parser.nextToken(JsonToken.VALUE_STRING); description = parser.getText(); continue; } throw new IllegalStateException("Unexpected field reached <" + currentName + ">"); } //Verify parser.verifyDeserialized(id, PROPERTY_ID); parser.verifyDeserialized(description, PROPERTY_DESCRIPTION); assert description != null; parser.verifyCurrentToken(JsonToken.END_OBJECT); return new Role(id, description); }
From source file:com.adobe.communities.ugc.migration.importer.SocialGraphImportServlet.java
private void importFile(final JsonParser jsonParser, final SlingHttpServletRequest request) throws ServletException, IOException { JsonToken token = jsonParser.nextToken(); while (!token.equals(JsonToken.END_OBJECT)) { if (!token.equals(JsonToken.FIELD_NAME)) { throw new ServletException("Expected a field name, got " + token); }// w w w . jav a 2 s . c o m final String userId = jsonParser.getCurrentName(); token = jsonParser.nextToken(); if (!token.equals(JsonToken.START_ARRAY)) { throw new ServletException("Expected an array start token, got " + token); } token = jsonParser.nextToken(); final Resource tmpParent = request.getResourceResolver().getResource("/tmp"); while (!token.equals(JsonToken.END_ARRAY)) { final Map<String, Object> props = new HashMap<String, Object>(); props.put("resourceType", Following.RESOURCE_TYPE); props.put("userId", userId); props.put("followedId", jsonParser.getValueAsString()); Resource resource; resource = request.getResourceResolver().create(tmpParent, "following", props); final SocialComponentFactory factory = componentFactoryManager .getSocialComponentFactory(Following.RESOURCE_TYPE); final Following following = (Following) factory.getSocialComponent(resource, request); request.getResourceResolver().delete(resource); // need to delete it so we can create it again next time final Vertex node = following.userNode(); final Vertex other = following.followedNode(); final String relType = "USER"; try { node.createRelationshipTo(other, Edge.FOLLOWING_RELATIONSHIP_TYPE, relType); following.socialGraph().save(); } catch (final IllegalArgumentException e) { // The relationship already exists. Do nothing. } token = jsonParser.nextToken(); } token = jsonParser.nextToken(); // skip over END_ARRAY } }