Package org.yaml.snakeyaml.nodes

Examples of org.yaml.snakeyaml.nodes.Node


                continue;
            }
            String key = ((ScalarNode) tuple.getKeyNode()).getValue();
            if (key.equals("mediaType"))
            {
                Node valueNode = tuple.getValueNode();
                if (valueNode.getNodeId() != scalar)
                {
                    validationResults.add(createErrorResult("Invalid mediaType", valueNode.getStartMark(), valueNode.getEndMark()));
                    break;
                }
                String value = ((ScalarNode) valueNode).getValue();
                if (!isValidMediaType(value))
                {
                    validationResults.add(createErrorResult("Invalid mediaType", valueNode.getStartMark(), valueNode.getEndMark()));
                    break;
                }
                mediaType = value;
                break;
            }
View Full Code Here


            {
                return validationResults;
            }
        }
        List<NodeTuple> copy = new ArrayList<NodeTuple>(bodyNode.getValue());
        Node keyNode = new ScalarNode(Tag.STR, mediaType, null, null, null);
        Node valueNode = new MappingNode(Tag.MAP, copy, false);
        bodyNode.getValue().clear();
        bodyNode.getValue().add(new NodeTuple(keyNode, valueNode));
        return validationResults;
    }
View Full Code Here

        return true;
    }

    private String getResourceUri(NodeRule<?> resourceRule)
    {
        Node keyNode = ((DefaultTupleRule) resourceRule).getKey();
        return ((ScalarNode) keyNode).getValue();
    }
View Full Code Here

    private String getFullUri(NodeRule<?> resourceRule)
    {
        String fullUri = "";
        while (resourceRule instanceof ImplicitMapEntryRule)
        {
            Node keyNode = ((DefaultTupleRule) resourceRule).getKey();
            fullUri = ((ScalarNode) keyNode).getValue() + fullUri;
            resourceRule = ((DefaultTupleRule) resourceRule).getParentTupleRule();
        }
        return fullUri;
    }
View Full Code Here

        for (int i = 0; i < rootNode.getValue().size(); i++)
        {
            NodeTuple rootTuple = rootNode.getValue().get(i);

            Node keyNode = rootTuple.getKeyNode();
            if (keyNode.getNodeId() != scalar)
            {
                continue; //invalid key
            }
            String key = ((ScalarNode) keyNode).getValue();
            if (key.equals("resourceTypes") || key.equals("traits"))
            {
                Node templateSequence = resolveInclude(rootTuple.getValueNode());
                if (templateSequence != rootTuple.getValueNode())
                {
                    rootNode.getValue().remove(i);
                    rootNode.getValue().add(i, new NodeTuple(keyNode, templateSequence));
                }
                if (templateSequence.getNodeId() != sequence)
                {
                    validationResults.add(createErrorResult("Sequence expected", templateSequence));
                    rootNode.getValue().remove(i);
                    rootNode.getValue().add(i, new NodeTuple(keyNode, new SequenceNode(Tag.SEQ, new ArrayList<Node>(), false)));
                    break;
View Full Code Here

    private void loopTemplateSequence(SequenceNode templateSequence, String templateType, List<ValidationResult> validationResults)
    {
        List<Node> prunedTemplates = new ArrayList<Node>();
        for (int j = 0; j < templateSequence.getValue().size(); j++)
        {
            Node template = resolveInclude(templateSequence.getValue().get(j));
            if (template.getNodeId() != mapping)
            {
                validationResults.add(createErrorResult("Mapping expected", templateSequence.getStartMark(), templateSequence.getEndMark()));
                break;
            }
            for (NodeTuple tuple : ((MappingNode) template).getValue())
            {
                if (tuple.getKeyNode().getNodeId() != scalar)
                {
                    validationResults.add(createErrorResult(NON_SCALAR_KEY_MESSAGE, tuple.getKeyNode()));
                    continue;
                }
                String templateKey = ((ScalarNode) tuple.getKeyNode()).getValue();
                Node templateValue = resolveInclude(tuple.getValueNode());
                if (templateValue.getNodeId() != mapping)
                {
                    validationResults.add(createErrorResult("Mapping expected", templateValue.getStartMark(), templateValue.getEndMark()));
                    continue;
                }
                if (templateType.equals("resourceTypes"))
                {
                    resourceTypesMap.put(templateKey, (MappingNode) templateValue);
View Full Code Here

        }
        List<NodeTuple> tuples = mappingNode.getValue();
        List<NodeTuple> updatedTuples = new ArrayList<NodeTuple>();
        for (NodeTuple nodeTuple : tuples)
        {
            Node keyNode = nodeTuple.getKeyNode();
            Node originalValueNode = nodeTuple.getValueNode();

            Tag tag = originalValueNode.getTag();
            TagResolver currentTagResolver = getTagResolver(tag);
            Node resolvedNode = resolveTag(tag, currentTagResolver, originalValueNode);
            if (originalValueNode != resolvedNode)
            {
                nodeTuple = new NodeTuple(keyNode, resolvedNode);
            }
            updatedTuples.add(nodeTuple);
View Full Code Here

        if (tupleType == VALUE && keepVisitingElements)
        {
            List<Node> value = node.getValue();
            for (int i = 0; i < value.size(); i++)
            {
                Node originalNode = value.get(i);
                TagResolver currentTagResolver = getTagResolver(originalNode.getTag());
                Node resolvedNode = resolveTag(originalNode.getTag(), currentTagResolver, originalNode);
                if (originalNode != resolvedNode)
                {
                    node.getValue().remove(i);
                    node.getValue().add(i, resolvedNode);
                }
View Full Code Here

  
    // Code borrowed from snakeyaml (http://code.google.com/p/snakeyaml/source/browse/src/test/java/org/yaml/snakeyaml/issues/issue60/SkipBeanTest.java)
      @Override
      protected NodeTuple representJavaBeanProperty(Object javaBean, Property property, Object propertyValue, Tag customTag) {
         NodeTuple tuple = super.representJavaBeanProperty(javaBean, property, propertyValue, customTag);
         Node valueNode = tuple.getValueNode();
         if (valueNode instanceof CollectionNode) {
            // Removed null check
            if (Tag.SEQ.equals(valueNode.getTag())) {
               SequenceNode seq = (SequenceNode) valueNode;
               if (seq.getValue().isEmpty()) {
                  return null; // skip empty lists
               }
            }
            if (Tag.MAP.equals(valueNode.getTag())) {
               MappingNode seq = (MappingNode) valueNode;
               if (seq.getValue().isEmpty()) {
                  return null; // skip empty maps
               }
            }
View Full Code Here

                    // key must be scalar
                    keyNode = (ScalarNode) tuple.getKeyNode();
                } else {
                    throw new YAMLException("Keys must be scalars but found: " + tuple.getKeyNode());
                }
                Node valueNode = tuple.getValueNode();
                // keys can only be Strings
                keyNode.setType(String.class);
                String key = (String) constructObject(keyNode);
                try {
                    Property property = getProperty(beanType, key);
                    valueNode.setType(property.getType());
                    TypeDescription memberDescription = typeDefinitions.get(beanType);
                    boolean typeDetected = false;
                    if (memberDescription != null) {
                        switch (valueNode.getNodeId()) {
                        case sequence:
                            SequenceNode snode = (SequenceNode) valueNode;
                            Class<? extends Object> memberType = memberDescription
                                    .getListPropertyType(key);
                            if (memberType != null) {
                                snode.setListType(memberType);
                                typeDetected = true;
                            } else if (property.getType().isArray()) {
                                snode.setListType(property.getType().getComponentType());
                                typeDetected = true;
                            }
                            break;
                        case mapping:
                            MappingNode mnode = (MappingNode) valueNode;
                            Class<? extends Object> keyType = memberDescription.getMapKeyType(key);
                            if (keyType != null) {
                                mnode.setTypes(keyType, memberDescription.getMapValueType(key));
                                typeDetected = true;
                            }
                            break;
                        default: // scalar
                        }
                    }
                    if (!typeDetected && valueNode.getNodeId() != NodeId.scalar) {
                        // only if there is no explicit TypeDescription
                        Class<?>[] arguments = property.getActualTypeArguments();
                        if (arguments != null && arguments.length > 0) {
                            // type safe (generic) collection may contain the
                            // proper class
                            if (valueNode.getNodeId() == NodeId.sequence) {
                                Class<?> t = arguments[0];
                                SequenceNode snode = (SequenceNode) valueNode;
                                snode.setListType(t);
                            } else if (valueNode.getTag().equals(Tag.SET)) {
                                Class<?> t = arguments[0];
                                MappingNode mnode = (MappingNode) valueNode;
                                mnode.setOnlyKeyType(t);
                                mnode.setUseClassConstructor(true);
                            } else if (property.getType().isAssignableFrom(Map.class)) {
View Full Code Here

TOP

Related Classes of org.yaml.snakeyaml.nodes.Node

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.