Search in sources :

Example 66 with JsonArray

use of javax.json.JsonArray in project Payara by payara.

the class PayaraMicroDeployableContainer method processDeploymentAsJson.

private void processDeploymentAsJson(String deploymentInformation, HTTPContext httpContext) {
    Matcher jsonMatcher = jsonPattern.matcher(deploymentInformation);
    if (jsonMatcher.find()) {
        // Convert the deployment information into a JsonArray
        String jsonString = jsonMatcher.group("jsonArray");
        try (JsonReader reader = Json.createReader(new StringReader(jsonString))) {
            JsonArray array = reader.readArray();
            // For each deployed application
            for (JsonObject app : array.getValuesAs(JsonObject.class)) {
                // Print the application details
                printApplicationFound(app.getString("Name"));
                // Store all application servlet mappings
                Map<String, JsonObject> allMappings = new HashMap<>();
                // If there's only one module, the mappings and context root are directly under the application
                JsonObject appMappings = app.getJsonObject("Mappings");
                if (appMappings != null) {
                    // Get the context root and store the relevant servlets
                    String contextRoot = app.getString("Context Root");
                    allMappings.put(contextRoot, app.getJsonObject("Mappings"));
                } else {
                    JsonArray modules = app.getJsonArray("Modules");
                    modules.forEach(moduleValue -> {
                        // Get the context root and store the relevant servlets
                        JsonObject module = (JsonObject) moduleValue;
                        String contextRoot = module.getString("Context Root");
                        printModuleFound(module.getString("Name"), contextRoot);
                        allMappings.put(contextRoot, module);
                    });
                }
                // Handle each set of servlet mappings
                for (String contextRoot : allMappings.keySet()) {
                    JsonObject mappings = allMappings.get(contextRoot);
                    mappings.values().forEach(name -> {
                        String servletName = name.toString().replaceAll("\"", "");
                        printServletFound(servletName);
                        httpContext.add(new Servlet(servletName, contextRoot));
                    });
                }
            }
        }
    }
}
Also used : JsonArray(javax.json.JsonArray) Matcher(java.util.regex.Matcher) HashMap(java.util.HashMap) StringReader(java.io.StringReader) JsonReader(javax.json.JsonReader) JsonObject(javax.json.JsonObject) Servlet(org.jboss.arquillian.container.spi.client.protocol.metadata.Servlet)

Example 67 with JsonArray

use of javax.json.JsonArray in project Payara by payara.

the class JsonParameterMapProvider method readFrom.

@Override
public ParameterMap readFrom(Class<ParameterMap> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> headers, InputStream in) throws IOException {
    JsonObject obj;
    try {
        JsonParser parser = Json.createParser(in);
        if (parser.hasNext()) {
            parser.next();
            obj = parser.getObject();
        } else {
            obj = JsonValue.EMPTY_JSON_OBJECT;
        }
        ParameterMap map = new ParameterMap();
        for (String k : obj.keySet()) {
            Object value = obj.get(k);
            if (value instanceof JsonArray) {
                JsonArray array = (JsonArray) value;
                for (int i = 0; i < array.size(); i++) {
                    map.add(k, "" + array.get(i));
                }
            } else {
                map.add(k, "" + value);
            }
        }
        return map;
    } catch (Exception ex) {
        Logger.getLogger("org.glassfish.admin.rest").log(Level.SEVERE, null, ex);
        ParameterMap map = new ParameterMap();
        map.add("error", "Entity Parsing Error: " + ex.getMessage());
        return map;
    }
}
Also used : JsonArray(javax.json.JsonArray) JsonObject(javax.json.JsonObject) ParameterMap(org.glassfish.api.admin.ParameterMap) JsonObject(javax.json.JsonObject) IOException(java.io.IOException) JsonParser(javax.json.stream.JsonParser)

Example 68 with JsonArray

use of javax.json.JsonArray in project Payara by payara.

the class JsonUtilTest method testArrayEncoding.

@Test
public void testArrayEncoding() throws JsonException {
    Locale locale = null;
    BaseModel model = CompositeUtil.instance().getModel(BaseModel.class);
    model.setStringArray(new String[] { "one", "two" });
    JsonObject json = (JsonObject) JsonUtil.getJsonValue(model);
    Assert.assertNotNull(json);
    Object o = json.get("stringArray");
    Assert.assertTrue(o instanceof JsonArray);
    JsonArray array = (JsonArray) o;
    Assert.assertEquals(array.size(), 2);
    Assert.assertTrue(contains(array, "one"));
    Assert.assertTrue(contains(array, "two"));
    BaseModel model2 = CompositeUtil.instance().unmarshallClass(locale, BaseModel.class, json);
    Assert.assertNotNull(model2);
    Assert.assertNotNull(model2.getStringArray());
    Assert.assertEquals(2, model2.getStringArray().length);
}
Also used : Locale(java.util.Locale) JsonArray(javax.json.JsonArray) BaseModel(org.glassfish.admin.rest.model.BaseModel) JsonObject(javax.json.JsonObject) JsonObject(javax.json.JsonObject) Test(org.testng.annotations.Test)

Example 69 with JsonArray

use of javax.json.JsonArray in project Payara by payara.

the class Common method toValue.

private static Value toValue(Object j) throws Exception {
    if (j instanceof String) {
        return stringVal().value((String) j);
    }
    if (j instanceof Long) {
        return longVal().value((Long) j);
    }
    if (j instanceof Integer) {
        return intVal().value((Integer) j);
    }
    if (j instanceof Double) {
        return doubleVal().value((Double) j);
    }
    if (j instanceof Boolean) {
        return booleanVal().value((Boolean) j);
    }
    if (JsonObject.NULL == j) {
        return nilVal();
    }
    if (j instanceof JsonObject) {
        JsonObject jo = (JsonObject) j;
        ObjectValue ov = objectVal();
        for (String key : jo.keySet()) {
            ov.put(key, toValue(jo.get(key)));
        }
        return ov;
    }
    if (j instanceof JsonArray) {
        JsonArray ja = (JsonArray) j;
        ArrayValue av = arrayVal();
        for (int i = 0; i < ja.size(); i++) {
            av.add(toValue(ja.get(i)));
        }
        return av;
    }
    throw new IllegalArgumentException("Cannot convert " + j + " to a Value");
}
Also used : JsonArray(javax.json.JsonArray) JsonObject(javax.json.JsonObject)

Example 70 with JsonArray

use of javax.json.JsonArray in project javaee7-samples by javaee-samples.

the class DOMGeneratorTest method testArray.

@Test
public void testArray() throws JSONException {
    JsonArray jsonArray = Json.createArrayBuilder().add(Json.createObjectBuilder().add("apple", "red")).add(Json.createObjectBuilder().add("banana", "yellow")).build();
    StringWriter w = new StringWriter();
    try (JsonWriter writer = Json.createWriter(w)) {
        writer.write(jsonArray);
    }
    JSONAssert.assertEquals("[{\"apple\":\"red\"},{\"banana\":\"yellow\"}]", w.toString(), JSONCompareMode.STRICT);
}
Also used : JsonArray(javax.json.JsonArray) StringWriter(java.io.StringWriter) JsonWriter(javax.json.JsonWriter) Test(org.junit.Test)

Aggregations

JsonArray (javax.json.JsonArray)128 JsonObject (javax.json.JsonObject)97 Test (org.junit.Test)42 ArrayList (java.util.ArrayList)32 JsonReader (javax.json.JsonReader)31 HashMap (java.util.HashMap)29 JsonString (javax.json.JsonString)28 HashSet (java.util.HashSet)21 NameValuePair (org.apache.commons.httpclient.NameValuePair)20 Credentials (org.apache.commons.httpclient.Credentials)19 UsernamePasswordCredentials (org.apache.commons.httpclient.UsernamePasswordCredentials)19 StringReader (java.io.StringReader)18 HttpTest (org.apache.sling.commons.testing.integration.HttpTest)17 LinkedHashMap (java.util.LinkedHashMap)14 JsonValue (javax.json.JsonValue)11 Map (java.util.Map)10 JsonException (javax.json.JsonException)9 Response (javax.ws.rs.core.Response)9 IOException (java.io.IOException)7 JerseyTest (org.glassfish.jersey.test.JerseyTest)7