Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2013, Francis Galiegue <fgaliegue@gmail.com>
   *
   * This program is free software: you can redistribute it and/or modify
   * it under the terms of the Lesser GNU General Public License as
   * published by the Free Software Foundation, either version 3 of the
   * License, or (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * Lesser GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 package com.github.fge.jsonschema.keyword.syntax.draftv3;
 
 
 import java.util.Set;
 
 import static com.github.fge.jsonschema.messages.SyntaxMessages.*;
 
 public final class DraftV3DependenciesSyntaxChecker
     extends DependenciesSyntaxChecker
 {
     private static final SyntaxChecker INSTANCE
         = new DraftV3DependenciesSyntaxChecker();
 
     public static SyntaxChecker getInstance()
     {
         return ;
     }
 
     {
         super(..);
     }
 
     @Override
     protected void checkDependency(final ProcessingReport report,
         final String namefinal SchemaTree tree)
         throws ProcessingException
     {
         final JsonNode node = getNode(tree).get(name);
         NodeType type;
 
         type = NodeType.getNodeType(node);
 
         if (type == .)
             return;
 
         if (type != .) {
             report.error(newMsg(tree)
                 .put("property"name).put("expected")
                 .put("found"type));
             return;
         }
 
         final int size = node.size();
 
         /*
          * Yep, in draft v3, nothing prevents a dependency array from being
          * empty! This is stupid, so at least warn the user.
          */
         if (size == 0) {
             report.warn(newMsg(tree).put("property"name));
             return;
         }
 
         final Set<Equivalence.Wrapper<JsonNode>> set = Sets.newHashSet();
 
         JsonNode element;
         boolean uniqueElements = true;
 
         for (int index = 0; index < sizeindex++) {
             element = node.get(index);
             type = NodeType.getNodeType(element);
             uniqueElements = set.add(.wrap(element));
             if (type == .)
                 continue;
             report.error(newMsg(tree)
                 .put("property"name).put("index"index)
                 .put("expected", EnumSet.of(.))
                 .put("found"type));
         }
 
         /*
         * Similarly, there is nothing preventing duplicates. Equally stupid,
         * so warn the user.
         */
        if (!uniqueElements)
            report.warn(newMsg(tree)
                .put("property"name));
    }
New to GrepCode? Check out our FAQ X