List of usage examples for com.fasterxml.jackson.core JsonToken equals
public boolean equals(Object obj)
From source file:org.datagator.api.client.MatrixDeserializer.java
private static ArrayList<ArrayList<Object>> parseRows(JsonParser jp, int bodyRow, int bodyColumn) throws IOException, JsonProcessingException { ArrayList<ArrayList<Object>> columnHeaders = new ArrayList<ArrayList<Object>>(); int rowIndex = 0; JsonToken token = jp.getCurrentToken(); // START_ARRAY if (!token.equals(JsonToken.START_ARRAY)) { throw new RuntimeException(String.format("Unexpected token %s", token)); }/*from w w w .j ava2s . c om*/ token = jp.nextToken(); // START_ARRAY while (token.equals(JsonToken.START_ARRAY)) { int columnIndex = 0; if (rowIndex < bodyRow) { ArrayList<Object> rowBuffer = new ArrayList<Object>(); token = jp.nextToken(); while (!token.equals(JsonToken.END_ARRAY)) { rowBuffer.add(jp.getText()); columnIndex += 1; token = jp.nextToken(); } columnHeaders.add(rowBuffer); } else { token = jp.nextToken(); while (!token.equals(JsonToken.END_ARRAY)) { columnIndex += 1; token = jp.nextToken(); } } rowIndex += 1; token = jp.nextToken(); // START_ARRAY } return columnHeaders; }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
private static void FillFixedExpressions(JsonParser parser, JsonToken token, FixedExpression fe, CAS cas) throws IOException { if (token.equals(JsonToken.FIELD_NAME)) { switch (parser.getCurrentName()) { case F_BEGIN: fe.setBegin(parser.nextIntValue(0)); break; case F_END: fe.setEnd(parser.nextIntValue(0)); break; }/*w w w .j a v a2 s .c o m*/ } }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
private static void fillSdi(JsonParser parser, JsonToken token, SourceDocumentInformation sdi) throws IOException { if (token.equals(JsonToken.FIELD_NAME)) { switch (parser.getCurrentName()) { case F_URI: sdi.setUri(parser.nextTextValue()); break; case F_OFFSET_IN_SOURCE: sdi.setOffsetInSource(parser.nextIntValue(0)); break; case F_DOCUMENT_INDEX: sdi.setDocumentIndex(parser.nextIntValue(0)); break; case F_NB_DOCUMENTS: sdi.setNbDocuments(parser.nextIntValue(0)); break; case F_DOCUMENT_SIZE: sdi.setDocumentSize(parser.nextIntValue(0)); break; case F_CUMULATED_DOCUMENT_SIZE: sdi.setCumulatedDocumentSize(parser.nextLongValue(0)); break; case F_CORPUS_SIZE: sdi.setCorpusSize(parser.nextLongValue(0)); break; case F_LAST_SEGMENT: sdi.setLastSegment(parser.nextBooleanValue()); break; case F_BEGIN: sdi.setBegin(parser.nextIntValue(0)); break; case F_END: sdi.setEnd(parser.nextIntValue(0)); break; }// ww w . ja v a2 s . c o m } }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
private static void fillWordAnnotations(JsonParser parser, JsonToken token, WordAnnotation wa) throws IOException { if (token.equals(JsonToken.FIELD_NAME)) { switch (parser.getCurrentName()) { case F_CATEGORY: wa.setCategory(parser.nextTextValue()); break; case F_LEMMA: wa.setLemma(parser.nextTextValue()); break; case F_STEM: wa.setStem(parser.nextTextValue()); break; case F_TAG: wa.setTag(parser.nextTextValue()); break; case F_SUB_CATEGORY: wa.setSubCategory(parser.nextTextValue()); break; case F_REGEX_LABEL: wa.setRegexLabel(parser.nextTextValue()); break; case F_NUMBER: wa.setNumber(parser.nextTextValue()); break; case F_GENDER: wa.setGender(parser.nextTextValue()); break; case F_CASE: wa.setCase(parser.nextTextValue()); break; case F_MOOD: wa.setMood(parser.nextTextValue()); break; case F_TENSE: wa.setTense(parser.nextTextValue()); break; case F_PERSON: wa.setPerson(parser.nextTextValue()); break; case F_DEGREE: wa.setDegree(parser.nextTextValue()); break; case F_FORMATION: wa.setFormation(parser.nextTextValue()); break; case F_LABELS: wa.setLabels(parser.nextTextValue()); break; case F_BEGIN: wa.setBegin(parser.nextIntValue(0)); break; case F_END: wa.setEnd(parser.nextIntValue(0)); break; }//from w ww .j a v a 2 s. co m } }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
private static void FillTermOccAnnotations(JsonParser parser, JsonToken token, TermOccAnnotation toa, CAS cas) throws IOException, CASException { if (token.equals(JsonToken.FIELD_NAME)) { switch (parser.getCurrentName()) { case F_PATTERN: String[] patternTable = parser.nextTextValue().split(" "); StringArray stringArray = new StringArray(cas.getJCas(), patternTable.length); for (int i = 0; i < patternTable.length; i++) { stringArray.set(i, patternTable[i]); }//from w w w . j a v a 2 s . c om toa.setPattern(stringArray); break; case F_SPOTTING_RULE_NAME: toa.setSpottingRuleName(parser.nextTextValue()); break; case F_TERM_KEY: toa.setTermKey(parser.nextTextValue()); break; case F_WORDS: fillWords(toa, cas); break; case F_BEGIN: toa.setBegin(parser.nextIntValue(0)); break; case F_END: toa.setEnd(parser.nextIntValue(0)); break; } } }
From source file:com.adobe.communities.ugc.migration.importer.UGCImportHelper.java
public static Map<String, Object> extractSubmap(final JsonParser jsonParser) throws IOException { jsonParser.nextToken(); // skip the START_OBJECT token final Map<String, Object> subMap = new HashMap<String, Object>(); while (!jsonParser.getCurrentToken().equals(JsonToken.END_OBJECT)) { final String label = jsonParser.getCurrentName(); // get the current label final JsonToken token = jsonParser.nextToken(); // get the current value if (!token.isScalarValue()) { if (token.equals(JsonToken.START_OBJECT)) { // if the next token starts a new object, recurse into it subMap.put(label, extractSubmap(jsonParser)); } else if (token.equals(JsonToken.START_ARRAY)) { final List<String> subArray = new ArrayList<String>(); jsonParser.nextToken(); // skip the START_ARRAY token while (!jsonParser.getCurrentToken().equals(JsonToken.END_ARRAY)) { subArray.add(jsonParser.getValueAsString()); jsonParser.nextToken(); }/*from w w w .ja va2 s .c o m*/ subMap.put(label, subArray); jsonParser.nextToken(); // skip the END_ARRAY token } } else { // either a string, boolean, or long value if (token.isNumeric()) { subMap.put(label, jsonParser.getValueAsLong()); } else { final String value = jsonParser.getValueAsString(); if (value.equals("true") || value.equals("false")) { subMap.put(label, jsonParser.getValueAsBoolean()); } else { subMap.put(label, value); } } } jsonParser.nextToken(); // next token will either be an "END_OBJECT" or a new label } jsonParser.nextToken(); // skip the END_OBJECT token return subMap; }
From source file:com.adobe.communities.ugc.migration.importer.UGCImportHelper.java
protected static void getAttachments(final JsonParser jsonParser, final List attachments) throws IOException { JsonToken token = jsonParser.nextToken(); // skip START_ARRAY token String filename;/* ww w . j a v a2 s . c om*/ String mimeType; InputStream inputStream; while (token.equals(JsonToken.START_OBJECT)) { filename = null; mimeType = null; inputStream = null; byte[] databytes = null; token = jsonParser.nextToken(); while (!token.equals(JsonToken.END_OBJECT)) { final String label = jsonParser.getCurrentName(); jsonParser.nextToken(); if (label.equals("filename")) { filename = URLDecoder.decode(jsonParser.getValueAsString(), "UTF-8"); } else if (label.equals("jcr:mimeType")) { mimeType = jsonParser.getValueAsString(); } else if (label.equals("jcr:data")) { databytes = Base64.decodeBase64(jsonParser.getValueAsString()); inputStream = new ByteArrayInputStream(databytes); } token = jsonParser.nextToken(); } if (filename != null && mimeType != null && inputStream != null) { attachments.add( new UGCImportHelper.AttachmentStruct(filename, inputStream, mimeType, databytes.length)); } else { // log an error LOG.error( "We expected to import an attachment, but information was missing and nothing was imported"); } token = jsonParser.nextToken(); } }
From source file:org.springframework.data.convert.JsonBooleanDeserializer.java
@Override public Boolean deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonToken currentToken = jp.getCurrentToken(); if (currentToken.equals(JsonToken.VALUE_STRING)) { String text = jp.getText().trim(); if (YES.equalsIgnoreCase(text)) { return Boolean.TRUE; } else if (NO.equalsIgnoreCase(text)) { return Boolean.FALSE; }/* ww w.j av a 2 s .c o m*/ throw ctxt.weirdStringException(text, Boolean.class, "Only \"" + YES + "\" or \"" + NO + "\" values supported"); } else if (currentToken.equals(JsonToken.VALUE_NULL)) { return getNullValue(); } throw ctxt.mappingException(Boolean.class); }
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); }//from w ww .j a va2 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 } }
From source file:com.adobe.communities.ugc.migration.importer.SocialGraphImportServlet.java
/** * The post operation accepts a json file, parses it and applies the social graph relationships to local profiles * @param request - the request//from w w w.j av a 2 s . c om * @param response - the response * @throws javax.servlet.ServletException * @throws java.io.IOException */ protected void doPost(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws ServletException, IOException { final ResourceResolver resolver = request.getResourceResolver(); UGCImportHelper.checkUserPrivileges(resolver, rrf); final RequestParameter[] fileRequestParameters = request.getRequestParameters("file"); if (fileRequestParameters != null && fileRequestParameters.length > 0 && !fileRequestParameters[0].isFormField() && fileRequestParameters[0].getFileName().endsWith(".json")) { final InputStream inputStream = fileRequestParameters[0].getInputStream(); final JsonParser jsonParser = new JsonFactory().createParser(inputStream); JsonToken token = jsonParser.nextToken(); // get the first token if (token.equals(JsonToken.START_OBJECT)) { importFile(jsonParser, request); } else { throw new ServletException("Expected a start object token, got " + token); } } else { throw new ServletException("Expected to get a json file in post request"); } }