Ejemplo n.º 1
0
 @Override
 void formatAsJSON(
     final StringBuilder builder, final int indent, final boolean multiLineRequested) {
   builder.append('{');
   final boolean multiLine = multiLineRequested && map.size() > 1;
   if (multiLine) {
     indent(builder.append('\n'), indent + 1);
   }
   final Iterator<Map.Entry<String, ModelNode>> iterator = map.entrySet().iterator();
   while (iterator.hasNext()) {
     final Map.Entry<String, ModelNode> entry = iterator.next();
     builder.append(quote(entry.getKey()));
     builder.append(" : ");
     final ModelNode value = entry.getValue();
     value.formatAsJSON(builder, multiLine ? indent + 1 : indent, multiLineRequested);
     if (iterator.hasNext()) {
       if (multiLine) {
         indent(builder.append(",\n"), indent + 1);
       } else {
         builder.append(", ");
       }
     }
   }
   if (multiLine) {
     indent(builder.append('\n'), indent);
   }
   builder.append('}');
 }
Ejemplo n.º 2
0
  @Test
  public void testFormatAsJSON() {
    final StringWriter stringWriter = new StringWriter();
    final PrintWriter writer = new PrintWriter(stringWriter, true);
    node.formatAsJSON(writer, 0, true);
    final String json = stringWriter.toString();
    assertNotNull(json);
    assertEquals(true, json.contains("\n"));
    assertEquals(true, json.contains("    "));
    assertThat(json, containsString("\"description\" : \"A managable resource\","));
    assertThat(
        json, containsString("\"type\" : {\n        \"TYPE_MODEL_VALUE\" : \"OBJECT\"\n    },"));
    assertThat(json, containsString("\"tail-comment-allowed\" : false,"));
    assertThat(json, containsString("\"attributes\" : {"));
    assertThat(json, containsString("\"foo\" : \"some description of foo\","));
    assertThat(json, containsString("\"bar\" : \"some description of bar\","));
    assertThat(json, containsString("\"list\" : ["));
    assertThat(json, containsString("\"value1\","));
    assertThat(json, containsString("\"value2\","));
    assertThat(json, containsString("\"value3\""));
    assertThat(json, containsString("\"value-type\" : {"));
    assertThat(
        json,
        containsString("\"size\" : {\n            \"TYPE_MODEL_VALUE\" : \"INT\"\n        },"));
    assertThat(
        json,
        containsString("\"color\" : {\n            \"TYPE_MODEL_VALUE\" : \"STRING\"\n        }"));
    assertThat(json, containsString("\"big-decimal-value\" : 10.0,"));
    assertThat(json, containsString("\"big-integer-value\" : 10,"));
    assertThat(
        json, containsString("\"bytes-value\" : {\n        \"BYTES_VALUE\" : \"ADc=\"\n    },"));
    assertThat(json, containsString("\"double-value\" : 55.0,"));
    assertThat(json, containsString("\"max-double-value\" : 1.7976931348623157E308,"));
    assertThat(json, containsString("\"int-value\" : 12,"));
    assertThat(json, containsString("\"max-int-value\" : 2147483647,"));
    assertThat(json, containsString("\"long-value\" : 14"));
    assertThat(json, containsString("\"max-long-value\" : 9223372036854775807"));
    assertThat(
        json,
        containsString(
            "\n    \"property-value\" : {\n        \"property\" : {\n            \"TYPE_MODEL_VALUE\" : \"PROPERTY\"\n        }\n    },"));
    assertThat(
        json,
        containsString(
            "\"expression-value\" : {\n        \"EXPRESSION_VALUE\" : \"$expression\"\n    }"));
    assertThat(json, containsString("\"true-value\" : true"));
    assertThat(json, containsString("\"false-value\" : false"));
    assertThat(json, containsString("\n}"));

    final String compressedJson = node.toJSONString(true);
    assertNotNull(compressedJson);
    assertEquals(false, compressedJson.contains("\n"));
    assertEquals(false, compressedJson.contains("    "));
  }