Exemple #1
0
	/**
	 * Returns the licence with the specified licence key.
	 *
	 * @param key Licence key.
	 *
	 * @return The licence with the specified key is returned.
	 *
	 * @throws IllegalArgumentException if there is no licence with the specified key.
	 */
	public static Licence get( String key ) {
		JsonNode licence = database.get( key );
		if ( licence == null ) {
			throw new IllegalArgumentException( _( "error-licence", key ) );
		}
		return new Licence( licence.get( "name" ).getTextValue(), licence.get( "resource" ).getTextValue() );
	}
 protected JsonNode currentNumericNode() throws JsonParseException {
   JsonNode n = currentNode();
   if (n == null || !n.isNumber()) {
     JsonToken t = (n == null) ? null : n.asToken();
     throw _constructError(
         "Current token (" + t + ") not numeric, can not use numeric value accessors");
   }
   return n;
 }
 public Object getEmbeddedObject() {
   if (!_closed) {
     JsonNode n = currentNode();
     if (n != null && n.isPojo()) {
       return ((POJONode) n).getPojo();
     }
   }
   return null;
 }
 public TreeTraversingParser(JsonNode n, ObjectCodec codec) {
   _objectCodec = codec;
   if (n.isArray()) {
     _nextToken = JsonToken.START_ARRAY;
     _nodeCursor = new NodeCursor.Array(n, null);
   } else if (n.isObject()) {
     _nextToken = JsonToken.START_OBJECT;
     _nodeCursor = new NodeCursor.Object(n, null);
   } else { // value node
     _nodeCursor = new NodeCursor.RootValue(n, null);
   }
 }
Exemple #5
0
 @Test
 public void testMetadataInputStream() throws Exception {
   MetaDataInputStream mis =
       new MetaDataInputStream(
           getClass()
               .getClassLoader()
               .getResourceAsStream("META-INF/services/org.brutusin.json.spi.JsonCodec"),
           null,
           null,
           Long.MIN_VALUE);
   TestClass instance = new TestClass();
   String json = JsonCodec.getInstance().transform(instance);
   assertTrue(!json.contains("\"metaDataInputStream\""));
   instance.setMetaDataInputStream(mis);
   json = JsonCodec.getInstance().transform(instance);
   assertTrue(json.contains("\"metaDataInputStream\":\"#1#"));
   JsonNode node = JsonCodec.getInstance().toJsonNode(instance);
   assertEquals(node.get("metaDataInputStream").asStream(), mis);
   TestClass instance2 = JsonCodec.getInstance().load(node, TestClass.class);
   assertEquals(instance.getMetaDataInputStream(), instance2.getMetaDataInputStream());
   Map<String, InputStream> streams = new HashMap();
   streams.put(node.get("metaDataInputStream").asString(), mis);
   JsonNode node2 = JsonCodec.getInstance().parse(node.toString(), streams);
   assertEquals(node2.get("metaDataInputStream").asStream(), mis);
   JsonNode node3 = JsonCodec.getInstance().parse(node.toString(), streams);
   TestClass instance3 = JsonCodec.getInstance().load(node3, TestClass.class);
   assertEquals(instance.getInputStream(), instance3.getInputStream());
   assertTrue(
       JsonCodec.getInstance()
           .getReferencedStreamCount(node, JsonCodec.getInstance().getSchema(TestClass.class))
           .equals(1));
 }
 @Override
 public byte[] getBinaryValue(Base64Variant b64variant) throws IOException, JsonParseException {
   // Multiple possibilities...
   JsonNode n = currentNode();
   if (n != null) { // binary node?
     byte[] data = n.getBinaryValue();
     // (or TextNode, which can also convert automatically!)
     if (data != null) {
       return data;
     }
     // Or maybe byte[] as POJO?
     if (n.isPojo()) {
       Object ob = ((POJONode) n).getPojo();
       if (ob instanceof byte[]) {
         return (byte[]) ob;
       }
     }
   }
   // otherwise return null to mark we have no binary content
   return null;
 }
  @Override
  public String getText() {
    if (_closed) {
      return null;
    }
    // need to separate handling a bit...
    switch (_currToken) {
      case FIELD_NAME:
        return _nodeCursor.getCurrentName();
      case VALUE_STRING:
        return currentNode().getTextValue();
      case VALUE_NUMBER_INT:
      case VALUE_NUMBER_FLOAT:
        return String.valueOf(currentNode().getNumberValue());
      case VALUE_EMBEDDED_OBJECT:
        JsonNode n = currentNode();
        if (n != null && n.isBinary()) {
          // this will convert it to base64
          return n.getValueAsText();
        }
    }

    return (_currToken == null) ? null : _currToken.asString();
  }
 @Override
 public NumberType getNumberType() throws IOException, JsonParseException {
   JsonNode n = currentNumericNode();
   return (n == null) ? null : n.getNumberType();
 }
  private void func_27328_a(JsonNode p_27328_1_, Writer p_27328_2_) throws IOException {
    boolean flag = true;
    switch (CompactJsonFormatter_JsonNodeType.field_27341_a[p_27328_1_.func_27218_a().ordinal()]) {
      case 1: // '\001'
        p_27328_2_.append('[');
        JsonNode jsonnode;
        for (Iterator iterator = p_27328_1_.func_27215_d().iterator();
            iterator.hasNext();
            func_27328_a(jsonnode, p_27328_2_)) {
          jsonnode = (JsonNode) iterator.next();
          if (!flag) {
            p_27328_2_.append(',');
          }
          flag = false;
        }

        p_27328_2_.append(']');
        break;

      case 2: // '\002'
        p_27328_2_.append('{');
        JsonStringNode jsonstringnode;
        for (Iterator iterator1 = (new TreeSet(p_27328_1_.func_27214_c().keySet())).iterator();
            iterator1.hasNext();
            func_27328_a((JsonNode) p_27328_1_.func_27214_c().get(jsonstringnode), p_27328_2_)) {
          jsonstringnode = (JsonStringNode) iterator1.next();
          if (!flag) {
            p_27328_2_.append(',');
          }
          flag = false;
          func_27328_a(((JsonNode) (jsonstringnode)), p_27328_2_);
          p_27328_2_.append(':');
        }

        p_27328_2_.append('}');
        break;

      case 3: // '\003'
        p_27328_2_
            .append('"')
            .append((new JsonEscapedString(p_27328_1_.func_27216_b())).toString())
            .append('"');
        break;

      case 4: // '\004'
        p_27328_2_.append(p_27328_1_.func_27216_b());
        break;

      case 5: // '\005'
        p_27328_2_.append("false");
        break;

      case 6: // '\006'
        p_27328_2_.append("true");
        break;

      case 7: // '\007'
        p_27328_2_.append("null");
        break;

      default:
        throw new RuntimeException(
            (new StringBuilder())
                .append("Coding failure in Argo:  Attempt to format a JsonNode of unknown type [")
                .append(p_27328_1_.func_27218_a())
                .append("];")
                .toString());
    }
  }
 public boolean func_27070_a(JsonNode par1JsonNode) {
   return JsonNodeType.OBJECT == par1JsonNode.getType();
 }
 public Map func_27071_b(JsonNode par1JsonNode) {
   return par1JsonNode.getFields();
 }