Package org.codehaus.jackson.node

Examples of org.codehaus.jackson.node.ArrayNode


        return object;
    }

    private Object toArray(JsonNode node)
    {
        ArrayNode arrayNode = (ArrayNode) node;
        Object[] array = new Object[arrayNode.size()];
        Iterator<JsonNode> elements = arrayNode.getElements();
        for (int i = 0; i < array.length; i++)
        {
            array[i] = toObject(elements.next());
        }
        return array;
View Full Code Here


      return in.readBoolean() ? BooleanNode.TRUE : BooleanNode.FALSE;
    case NULL:
      in.readNull();
      return NullNode.getInstance();
    case ARRAY:
      ArrayNode array = JsonNodeFactory.instance.arrayNode();
      for (long l = in.readArrayStart(); l > 0; l = in.arrayNext())
        for (long i = 0; i < l; i++)
          array.add(read(in));
      return array;
    case OBJECT:
      ObjectNode object = JsonNodeFactory.instance.objectNode();
      for (long l = in.readMapStart(); l > 0; l = in.mapNext())
        for (long i = 0; i < l; i++)
View Full Code Here

        for(String key : span.getKeys()){
            List<Value<?>> values = span.getValues(key);
            if(values.size() == 1){
                jSpan.put(key, writeValue(values.get(0)));
            } else {
                ArrayNode jValues = jSpan.putArray(key);
                for(Value<?> value : values){
                    jValues.add(writeValue(value));
                }
                jSpan.put(key, jValues);
            }
        }
        log.trace(" ... {}",jSpan);
View Full Code Here

    private void parseAnnotations(Span span, Collection<Entry<String,JsonNode>> jAnnotations) throws IOException {
        for(Entry<String,JsonNode> jAnnotation : jAnnotations){
            if(jAnnotation.getValue().isObject()){
                parseAnnotation(span, jAnnotation.getKey(), (ObjectNode)jAnnotation.getValue());
            } else if(jAnnotation.getValue().isArray()){
                ArrayNode jValues = (ArrayNode)jAnnotation.getValue();
                for(int i=0;i< jValues.size();i++){
                    JsonNode jValue = jValues.get(i);
                    if(jValue.isObject()){
                        parseAnnotation(span, jAnnotation.getKey(), (ObjectNode)jValue);
                    } else {
                        log.warn("unable to parse the {} value of the annotation {} "
                            + "because value is no JSON object (ignored, json: {}",
View Full Code Here

        JsonNode node = jValue.path(key);
        if(node.isMissingNode()) {
            return categories; //no values nothing to do
        }
        if(node.isArray()){
            ArrayNode jLcs = (ArrayNode)node;
            for(int i=0;i < jLcs.size();i++){
                JsonNode jLc =  jLcs.get(i);
                if(jLc.isTextual()){
                    try {
                        categories.add(Enum.valueOf(type,jLc.getTextValue()));
                    } catch (IllegalArgumentException e) {
                        log.warn("unknown "+type.getSimpleName()+" '"+jLc+"'",e);
View Full Code Here

    public ObjectNode serialize(ObjectMapper mapper, MorphoFeatures morpho){
        ObjectNode jMorpho = mapper.createObjectNode();
        jMorpho.put("lemma", morpho.getLemma());
        List<CaseTag> caseList = morpho.getCaseList();
        if(!caseList.isEmpty()){
            ArrayNode jCases = mapper.createArrayNode();
            for(CaseTag caseTag : caseList){
                ObjectNode jCase = mapper.createObjectNode();
                jCase.put("tag", caseTag.getTag());
                if(caseTag.getCase() != null){
                    jCase.put("type", caseTag.getCase().name());
                }
                jCases.add(jCase);
            }
            jMorpho.put("case", jCases);
        }
        List<Definitness> definitnesses = morpho.getDefinitnessList();
        if(!definitnesses.isEmpty()){
            if(definitnesses.size() == 1){
                jMorpho.put("definitness",definitnesses.get(0).name());
            } else {
                ArrayNode jDefinitnesses = mapper.createArrayNode();
                for(Definitness d : definitnesses){
                    jDefinitnesses.add(d.name());
                }
                jMorpho.put("definitness", jDefinitnesses);
            }
        }
        List<GenderTag> genderList = morpho.getGenderList();
        if(!genderList.isEmpty()){
            ArrayNode jGenders = mapper.createArrayNode();
            for(GenderTag genderTag : genderList){
                ObjectNode jGender = mapper.createObjectNode();
                jGender.put("tag", genderTag.getTag());
                if(genderTag.getGender() != null){
                    jGender.put("type", genderTag.getGender().name());
                }
                jGenders.add(jGender);
            }
            jMorpho.put("gender", jGenders);
        }
        List<NumberTag> numberList = morpho.getNumberList();
        if(!numberList.isEmpty()){
            ArrayNode jNumbers = mapper.createArrayNode();
            for(NumberTag numberTag : numberList){
                ObjectNode jNumber = mapper.createObjectNode();
                jNumber.put("tag", numberTag.getTag());
                if(numberTag.getNumber() != null){
                    jNumber.put("type", numberTag.getNumber().name());
                }
                jNumbers.add(jNumber);
            }
            jMorpho.put("number", jNumbers);
        }
        List<Person> persons = morpho.getPersonList();
        if(!persons.isEmpty()){
            if(persons.size() == 1){
                jMorpho.put("person",persons.get(0).name());
            } else {
                ArrayNode jPersons = mapper.createArrayNode();
                for(Person d : persons){
                    jPersons.add(d.name());
                }
                jMorpho.put("person", jPersons);
            }
        }
        List<PosTag> posList = morpho.getPosList();
        if(!posList.isEmpty()){
            ArrayNode jPosTags = mapper.createArrayNode();
            for(PosTag posTag : posList){
                jPosTags.add(getPosTagSerializer().serialize(mapper,posTag));
            }
            jMorpho.put("pos", jPosTags);
        }
        List<TenseTag> tenseList = morpho.getTenseList();
        if(!tenseList.isEmpty()){
            ArrayNode jTenses = mapper.createArrayNode();
            for(TenseTag tenseTag : tenseList){
                ObjectNode jTense = mapper.createObjectNode();
                jTense.put("tag", tenseTag.getTag());
                if(tenseTag.getTense() != null){
                    jTense.put("type", tenseTag.getTense().name());
                }
                jTenses.add(jTense);
            }
            jMorpho.put("tense", jTenses);
        }
        List<VerbMoodTag> verbMoodList = morpho.getVerbMoodList();
        if(!verbMoodList.isEmpty()){
            ArrayNode jMoods = mapper.createArrayNode();
            for(VerbMoodTag verbMoodTag : verbMoodList){
                ObjectNode jMood = mapper.createObjectNode();
                jMood.put("tag", verbMoodTag.getTag());
                if(verbMoodTag.getVerbForm() != null){
                    jMood.put("type", verbMoodTag.getVerbForm().name());
                }
                jMoods.add(jMood);
            }
            jMorpho.put("verb-mood", jMoods);
        }
       
        return jMorpho;
View Full Code Here

                +jMorpho);
        }
        MorphoFeatures morpho = new MorphoFeatures(jLemma.asText());
        JsonNode node = jMorpho.path("case");
        if(node.isArray()){
            ArrayNode jCases = (ArrayNode)node;
            for(int i=0;i<jCases.size();i++){
                JsonNode member = jCases.get(i);
                if(member.isObject()){
                    ObjectNode jCase = (ObjectNode)member;
                    JsonNode tag = jCase.path("tag");
                    if(tag.isTextual()){
                        EnumSet<Case> type = JsonUtils.parseEnum(jCase, "type", Case.class);
                        if(type.isEmpty()){
                            morpho.addCase(new CaseTag(tag.getTextValue()));
                        } else {
                            morpho.addCase(new CaseTag(tag.getTextValue(),type.iterator().next()));
                        }
                    } else {
                        log.warn("Unable to parse CaseTag becuase 'tag' value is "
                            + "missing or is not a String (json: "+jCase.toString()+")");
                    }
                } else {
                    log.warn("Unable to parse CaseTag from "+member.toString());
                }
            }
        } else if(!node.isMissingNode()) {
            log.warn("Unable to parse CaseTags (Json Array expected as value for field 'case' but was "
                + node);
        }
        if(jMorpho.has("definitness")){
            for(Definitness d : JsonUtils.parseEnum(jMorpho, "definitness", Definitness.class)){
                morpho.addDefinitness(d);
            }
        }
        node = jMorpho.path("gender");
        if(node.isArray()){
            ArrayNode jGenders = (ArrayNode)node;
            for(int i=0;i<jGenders.size();i++){
                JsonNode member = jGenders.get(i);
                if(member.isObject()){
                    ObjectNode jGender = (ObjectNode)member;
                    JsonNode tag = jGender.path("tag");
                    if(tag.isTextual()){
                        EnumSet<Gender> type = JsonUtils.parseEnum(jGender, "type", Gender.class);
                        if(type.isEmpty()){
                            morpho.addGender(new GenderTag(tag.getTextValue()));
                        } else {
                            morpho.addGender(new GenderTag(tag.getTextValue(),type.iterator().next()));
                        }
                    } else {
                        log.warn("Unable to parse GenderTag becuase 'tag' value is "
                                + "missing or is not a String (json: "+jGender.toString()+")");
                    }
                } else {
                    log.warn("Unable to parse GenderTag from "+member.toString());
                }
            }
        } else if(!node.isMissingNode()) {
            log.warn("Unable to parse GenderTag (Json Array expected as value for field 'case' but was "
                    + node);
        }
       
        node = jMorpho.path("number");
        if(node.isArray()){
            ArrayNode jNumbers = (ArrayNode)node;
            for(int i=0;i<jNumbers.size();i++){
                JsonNode member = jNumbers.get(i);
                if(member.isObject()){
                    ObjectNode jNumber = (ObjectNode)member;
                    JsonNode tag = jNumber.path("tag");
                    if(tag.isTextual()){
                        EnumSet<NumberFeature> type = JsonUtils.parseEnum(jNumber, "type", NumberFeature.class);
                        if(type.isEmpty()){
                            morpho.addNumber(new NumberTag(tag.getTextValue()));
                        } else {
                            morpho.addNumber(new NumberTag(tag.getTextValue(),type.iterator().next()));
                        }
                    } else {
                        log.warn("Unable to parse NumberTag becuase 'tag' value is "
                                + "missing or is not a String (json: "+jNumber.toString()+")");
                    }
                } else {
                    log.warn("Unable to parse NumberTag from "+member.toString());
                }
            }
        } else if(!node.isMissingNode()) {
            log.warn("Unable to parse NumberTag (Json Array expected as value for field 'case' but was "
                    + node);
        }
       
        if(jMorpho.has("person")){
            for(Person p : JsonUtils.parseEnum(jMorpho, "person", Person.class)){
                morpho.addPerson(p);
            }
        }

        node = jMorpho.path("pos");
        if(node.isArray()){
            ArrayNode jPosTags = (ArrayNode)node;
            for(int i=0;i<jPosTags.size();i++){
                JsonNode member = jPosTags.get(i);
                if(member.isObject()){
                    ObjectNode jPosTag = (ObjectNode)member;
                    morpho.addPos(getPosTagParser().parse(jPosTag, at));
                } else {
                    log.warn("Unable to parse PosTag from "+member.toString());
                }
            }
        } else if(!node.isMissingNode()){
            log.warn("Unable to parse PosTag (Json Array expected as value for field 'case' but was "
                    + node);
        }
       
        node = jMorpho.path("tense");
        if(node.isArray()){
            ArrayNode jTenses = (ArrayNode)node;
            for(int i=0;i<jTenses.size();i++){
                JsonNode member = jTenses.get(i);
                if(member.isObject()){
                    ObjectNode jTense = (ObjectNode)member;
                    JsonNode tag = jTense.path("tag");
                    if(tag.isTextual()){
                        EnumSet<Tense> type = JsonUtils.parseEnum(jTense, "type", Tense.class);
                        if(type.isEmpty()){
                            morpho.addTense(new TenseTag(tag.getTextValue()));
                        } else {
                            morpho.addTense(new TenseTag(tag.getTextValue(),type.iterator().next()));
                        }
                    } else {
                        log.warn("Unable to parse TenseTag becuase 'tag' value is "
                                + "missing or is not a String (json: "+jTense.toString()+")");
                    }
                } else {
                    log.warn("Unable to parse TenseTag from "+member.toString());
                }
            }
        } else if(!node.isMissingNode()) {
            log.warn("Unable to parse TenseTag (Json Array expected as value for field 'case' but was "
                    + node);
        }
       
        node = jMorpho.path("verb-mood");
        if(node.isArray()){
            ArrayNode jVerbMoods = (ArrayNode)node;
            for(int i=0;i<jVerbMoods.size();i++){
                JsonNode member = jVerbMoods.get(i);
                if(member.isObject()){
                    ObjectNode jVerbMood = (ObjectNode)member;
                    JsonNode tag = jVerbMood.path("tag");
                    if(tag.isTextual()){
                        EnumSet<VerbMood> type = JsonUtils.parseEnum(jVerbMood, "type", VerbMood.class);
View Full Code Here

        ObjectNode jPosTag = mapper.createObjectNode();
        jPosTag.put("tag", value.getTag());
        if(value.getPos().size() == 1){
            jPosTag.put("pos",value.getPos().iterator().next().ordinal());
        } else if(!value.getPos().isEmpty()){
            ArrayNode jPos = mapper.createArrayNode();
            for(Pos pos : value.getPos()){
                jPos.add(pos.ordinal());
            }
            jPosTag.put("pos", jPos);
        }
        if(!value.getCategories().isEmpty()){
            //we need only the categories not covered by Pos elements
            EnumSet<LexicalCategory> categories = EnumSet.noneOf(LexicalCategory.class);
            categories.addAll(value.getCategories());
            for(Pos pos : value.getPos()){
                categories.removeAll(pos.categories());
            }
            if(categories.size() == 1){
                jPosTag.put("lc",categories.iterator().next().ordinal());
            } else if(!categories.isEmpty()){
                ArrayNode jCategory = mapper.createArrayNode();
                for(LexicalCategory lc : categories){
                    jCategory.add(lc.ordinal());
                }
                jPosTag.put("lc", jCategory);
            }
        }
        return jPosTag;
View Full Code Here

    ObjectNode jCoref = mapper.createObjectNode();
   
    jCoref.put(IS_REPRESENTATIVE_TAG, coref.isRepresentative());
   
        Set<Span> mentions = coref.getMentions();
        ArrayNode jMentions = mapper.createArrayNode();
       
        for(Span mention : mentions) {
            ObjectNode jMention = mapper.createObjectNode();
           
            jMention.put(MENTION_TYPE_TAG, mention.getType().toString());
            jMention.put(MENTION_START_TAG, mention.getStart());
            jMention.put(MENTION_END_TAG, mention.getEnd());
           
            jMentions.add(jMention);
        }
       
        jCoref.put(MENTIONS_TAG, jMentions);
       
    return jCoref;
View Full Code Here

   
    JsonNode node = jCoref.path(MENTIONS_TAG);
    Set<Span> mentions = new HashSet<Span>();
   
    if(node.isArray()) {
            ArrayNode jMentions = (ArrayNode)node;
           
            for(int i = 0;i < jMentions.size();i++) {
                JsonNode member = jMentions.get(i);
               
                if(member.isObject()) {
                    ObjectNode jMention = (ObjectNode)member;
                    SpanTypeEnum spanType = SpanTypeEnum.valueOf(jMention.path(MENTION_TYPE_TAG).getTextValue());
                    int spanStart = jMention.path(MENTION_START_TAG).asInt();
View Full Code Here

TOP

Related Classes of org.codehaus.jackson.node.ArrayNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.