/** * Processes a part of package.json (as defined by JsonObject) and update * the specified dependency with relevant info. * * @param engine the dependency-check engine * @param dependency the Dependency to update * @param jsonObject the jsonObject to parse * @param depType the dependency type */ protected void processPackage(Engine engine, Dependency dependency, JsonObject jsonObject, String depType) { for (int i = 0; i < jsonObject.size(); i++) { for (Map.Entry<String, JsonValue> entry : jsonObject.entrySet()) { final String name = entry.getKey(); String version = ""; if (entry.getValue() != null && entry.getValue().getValueType() == JsonValue.ValueType.STRING) { version = ((JsonString) entry.getValue()).getString(); } final Dependency existing = findDependency(engine, name, version); if (existing == null) { final Dependency nodeModule = createDependency(dependency, name, version, depType); engine.addDependency(nodeModule); } else { existing.addProjectReference(dependency.getName() + ": " + depType); } } } }
@Override public final int size() { return this.resource.size(); }
@Override public int size() { return json.size(); }
@Override public int size() { return json.size(); }
@Override protected Stream<ValidationResult.ValidationError> onObject(final JsonObject object) { if (object.size() < bound) { return Stream.of(new ValidationResult.ValidationError(pointer, "Not enough properties (> " + bound + ")")); } return Stream.empty(); }
@Override public int count() { return getReferences().size(); }
@Override protected Stream<ValidationResult.ValidationError> onObject(final JsonObject object) { if (object.size() > bound) { return Stream.of(new ValidationResult.ValidationError(pointer, "Too much properties (> " + bound + ")")); } return Stream.empty(); }
@Override public int count() { return getReferences().size(); }
/** * Make identity from JSON object. * @param json JSON received from Github * @return Identity found */ private static Identity parse(final JsonObject json) { final Map<String, String> props = new HashMap<>(json.size()); // @checkstyle MultipleStringLiteralsCheck (1 line) props.put(PsGithub.LOGIN, json.getString(PsGithub.LOGIN, "unknown")); props.put("avatar", json.getString("avatar_url", "#")); return new Identity.Simple( String.format("urn:github:%d", json.getInt("id")), props ); } }
/** * Make identity from JSON object. * @param json JSON received from Twitter * @return Identity found */ private static Identity parse(final JsonObject json) { final Map<String, String> props = new HashMap<>(json.size()); props.put(PsTwitter.NAME, json.getString(PsTwitter.NAME)); props.put("picture", json.getString("profile_image_url")); return new Identity.Simple( String.format("urn:twitter:%d", json.getInt("id")), props ); }
/** * Make identity from JSON object. * @param json JSON received from Twitter * @return Identity found */ private static Identity parse(final JsonObject json) { final Map<String, String> props = new HashMap<>(json.size()); props.put(PsTwitter.NAME, json.getString(PsTwitter.NAME)); props.put("picture", json.getString("profile_image_url")); return new Identity.Simple( String.format("urn:twitter:%d", json.getInt("id")), props ); }
/** * Make identity from JSON object. * @param json JSON received from Github * @return Identity found */ private static Identity parse(final JsonObject json) { final Map<String, String> props = new HashMap<>(json.size()); // @checkstyle MultipleStringLiteralsCheck (1 line) props.put(PsGithub.LOGIN, json.getString(PsGithub.LOGIN, "unknown")); props.put("avatar", json.getString("avatar_url", "#")); return new Identity.Simple( String.format("urn:github:%d", json.getInt("id")), props ); } }
/** * Make identity from JSON object. * @param json JSON received from Github * @return Identity found */ private static Identity parse(final JsonObject json) { final String fname = "firstName"; final String lname = "lastName"; final String unknown = "?"; final Map<String, String> props = new HashMap<>(json.size()); props.put(fname, json.getString(fname, unknown)); props.put(lname, json.getString(lname, unknown)); return new Identity.Simple( String.format("urn:linkedin:%s", json.getString("id")), props ); } }
/** * Get a list of all file names in the gist. * @return File names * @throws IOException If there is any I/O problem */ public Iterable<String> files() throws IOException { final JsonObject array = this.gist.json().getJsonObject("files"); final Collection<String> files = new ArrayList<String>(array.size()); for (final JsonValue value : array.values()) { files.add(JsonObject.class.cast(value).getString("filename")); } return files; } @Override
/** * Make identity from JSON object. * @param json JSON received from Github * @return Identity found */ private static Identity parse(final JsonObject json) { final String fname = "firstName"; final String lname = "lastName"; final String unknown = "?"; final Map<String, String> props = new HashMap<>(json.size()); props.put(fname, json.getString(fname, unknown)); props.put(lname, json.getString(lname, unknown)); return new Identity.Simple( String.format("urn:linkedin:%s", json.getString("id")), props ); } }
@Test public void testMixinExtendsJDK() { List<ServiceReference<JSONSerializableMap>> services = serviceFinder.findServices( JSONSerializableMap.class ) .filter( EXTENDS_IDENTITY_SPEC ) .collect( Collectors.toList() ); assertThat( services.size(), equalTo( 1 ) ); assertThat( services.get( 0 ).identity(), equalTo( EXTENDS_IDENTITY ) ); JSONSerializableMap extending = services.get( 0 ).get(); extending.put( "foo", "bar" ); // Concern trigger #1 (put) JsonObject json = extending.toJSON(); // Concern trigger #2 and #3 (toJSON, entrySet) assertThat( json.size(), equalTo( 1 ) ); assertThat( json.getString( "foo" ), equalTo( "bar" ) ); assertThat( CONCERN_RECORDS.size(), equalTo( 3 ) ); }
@Test public void testComposeJDKMixin() { List<ServiceReference<JSONSerializableMap>> services = serviceFinder.findServices( JSONSerializableMap.class ) .filter( COMPOSE_IDENTITY_SPEC ) .collect( Collectors.toList() ); assertThat( services.size(), equalTo( 1 ) ); assertThat( services.get( 0 ).identity(), equalTo( COMPOSE_IDENTITY ) ); JSONSerializableMap composing = services.get( 0 ).get(); composing.put( "foo", "bar" ); // Concern trigger #1 (put) JsonObject json = composing.toJSON(); // Concern trigger #2 and #3 (toJSON, entrySet) assertThat( json.size(), equalTo( 1 ) ); assertThat( json.getString( "foo" ), equalTo( "bar" ) ); assertThat( CONCERN_RECORDS.size(), equalTo( 3 ) ); }
@Test public void testAddToObject() { JsonObjectBuilder jsonObjectBuilder = JsonLoader.createObjectBuilder(); JsonUtil.addToObject("not-null", "not-null", jsonObjectBuilder); JsonUtil.addToObject("null", null, jsonObjectBuilder); JsonObject jsonObject = jsonObjectBuilder.build(); Assert.assertTrue(jsonObject.containsKey("not-null")); Assert.assertTrue(jsonObject.containsKey("null")); Assert.assertEquals(2, jsonObject.size()); }
@Test public void testGetConnectorsAsJSON() throws Exception { ActiveMQServerControl serverControl = createManagementControl(); String jsonString = serverControl.getConnectorsAsJSON(); Assert.assertNotNull(jsonString); JsonArray array = JsonUtil.readJsonArray(jsonString); Assert.assertEquals(1, array.size()); JsonObject data = array.getJsonObject(0); Assert.assertEquals(connectorConfig.getName(), data.getString("name")); Assert.assertEquals(connectorConfig.getFactoryClassName(), data.getString("factoryClassName")); Assert.assertEquals(connectorConfig.getParams().size(), data.getJsonObject("params").size()); }