Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,20 +41,13 @@ public T read(String base64String) {

// TODO improve multi-line tokens
StringBuilder buffer = new StringBuilder();
BufferedReader reader = new BufferedReader(new StringReader(base64String));
String line = null;
try {
try (BufferedReader reader = new BufferedReader(new StringReader(base64String))) {
while ((line = reader.readLine()) != null) {
buffer.append(line.trim());
}
} catch (IOException e) {
// it cannot happen
} finally {
try {
reader.close();
} catch (IOException e) {
// swallow it
}
// swallow it
}

Matcher matcher = base64urlTokenPattern.matcher(buffer.toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,31 +48,30 @@ public void read(String jsonString) {
}

StringReader reader = new StringReader(jsonString);
JsonReader jsonReader = Json.createReader(reader);
JsonStructure structure = jsonReader.read();
try (JsonReader jsonReader = Json.createReader(reader)) {
JsonStructure structure = jsonReader.read();

if (structure == null || structure instanceof JsonArray) {
throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation",
jsonString));
}
if (structure == null || structure instanceof JsonArray) {
throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation",
jsonString));
}

JsonObject object = (JsonObject) structure;
for (Entry<String, JsonValue> entry : object.entrySet()) {
String key = entry.getKey();
JsonValue jsonValue = entry.getValue();
JsonObject object = (JsonObject) structure;
for (Entry<String, JsonValue> entry : object.entrySet()) {
String key = entry.getKey();
JsonValue jsonValue = entry.getValue();

// guard from null values
if (jsonValue != null) {
Object value = toJavaObject(jsonValue);
// guard from null values
if (jsonValue != null) {
Object value = toJavaObject(jsonValue);

// if the concrete implementation is not able to handle the property, set the custom field
if (!handleProperty(key, value)) {
builder.setCustomField(key, value);
// if the concrete implementation is not able to handle the property, set the custom field
if (!handleProperty(key, value)) {
builder.setCustomField(key, value);
}
}
}
}

jsonReader.close();
}

private static Object toJavaObject(JsonValue jsonValue) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,13 @@ public JWE read(String base64String) {

// TODO improve multi-line tokens
StringBuilder buffer = new StringBuilder();
BufferedReader reader = new BufferedReader(new StringReader(base64String));
String line = null;
try {
try (BufferedReader reader = new BufferedReader(new StringReader(base64String))) {
while ((line = reader.readLine()) != null) {
buffer.append(line.trim());
}
} catch (IOException e) {
// it cannot happen
} finally {
try {
reader.close();
} catch (IOException e) {
// swallow it
}
// swallow it
}

Matcher matcher = base64urlTokenPattern.matcher(buffer.toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,54 +55,53 @@ public final class JSONUtils {

public static String buildJSON(Map<String, Object> params) {
final StringWriter stringWriter = new StringWriter();
final JsonGenerator generator = GENERATOR_FACTORY.createGenerator(stringWriter);

generator.writeStartObject();

for (Map.Entry<String, Object> param : params.entrySet()) {
String key = param.getKey();
Object value = param.getValue();
if (key != null && value != null) {
if (value instanceof Boolean) {
generator.write(key, (Boolean) value);
} else if (value instanceof Double) {
generator.write(key, (Double) value);
} else if (value instanceof Integer) {
generator.write(key, (Integer) value);
} else if (value instanceof BigDecimal) {
generator.write(key, (BigDecimal) value);
} else if (value instanceof BigInteger) {
generator.write(key, (BigInteger) value);
} else if (value instanceof Long) {
generator.write(key, (Long) value);
} else if (value instanceof String) {
String string = (String) value;
if (!string.isEmpty()) {
generator.write(key, string);
try (final JsonGenerator generator = GENERATOR_FACTORY.createGenerator(stringWriter)) {
generator.writeStartObject();

for (Map.Entry<String, Object> param : params.entrySet()) {
String key = param.getKey();
Object value = param.getValue();
if (key != null && value != null) {
if (value instanceof Boolean) {
generator.write(key, (Boolean) value);
} else if (value instanceof Double) {
generator.write(key, (Double) value);
} else if (value instanceof Integer) {
generator.write(key, (Integer) value);
} else if (value instanceof BigDecimal) {
generator.write(key, (BigDecimal) value);
} else if (value instanceof BigInteger) {
generator.write(key, (BigInteger) value);
} else if (value instanceof Long) {
generator.write(key, (Long) value);
} else if (value instanceof String) {
String string = (String) value;
if (!string.isEmpty()) {
generator.write(key, string);
}
} else if (value.getClass().isArray()) {
generator.writeStartArray(key);

for (int i = 0; i < Array.getLength(value); i++) {
witeItem(generator, Array.get(value, i));
}

generator.writeEnd();
} else if (value instanceof Collection) {
generator.writeStartArray(key);

Collection<?> collection = (Collection<?>) value;
for (Object item : collection) {
witeItem(generator, item);
}

generator.writeEnd();
}
} else if (value.getClass().isArray()) {
generator.writeStartArray(key);

for (int i = 0; i < Array.getLength(value); i++) {
witeItem(generator, Array.get(value, i));
}

generator.writeEnd();
} else if (value instanceof Collection) {
generator.writeStartArray(key);

Collection<?> collection = (Collection<?>) value;
for (Object item : collection) {
witeItem(generator, item);
}

generator.writeEnd();
}
}
generator.writeEnd();
}

generator.writeEnd().close();

return stringWriter.toString();
}

Expand All @@ -127,33 +126,32 @@ private static <T> void witeItem(JsonGenerator generator, T item) {
}

public static Map<String, Object> parseJSON(String jsonBody) {
final Map<String, Object> params = new HashMap<String, Object>();
final Map<String, Object> params = new HashMap<>();

StringReader reader = new StringReader(jsonBody);
JsonReader jsonReader = Json.createReader(reader);
JsonStructure structure = jsonReader.read();
try (JsonReader jsonReader = Json.createReader(reader)) {
JsonStructure structure = jsonReader.read();

if (structure == null || structure instanceof JsonArray) {
throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation",
jsonBody));
}
if (structure == null || structure instanceof JsonArray) {
throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation",
jsonBody));
}

JsonObject object = (JsonObject) structure;
for (Entry<String, JsonValue> entry : object.entrySet()) {
String key = entry.getKey();
if (key != null && !key.isEmpty()) {
JsonValue jsonValue = entry.getValue();
JsonObject object = (JsonObject) structure;
for (Entry<String, JsonValue> entry : object.entrySet()) {
String key = entry.getKey();
if (key != null && !key.isEmpty()) {
JsonValue jsonValue = entry.getValue();

// guard from null values
if (jsonValue != null) {
Object value = toJavaObject(jsonValue);
// guard from null values
if (jsonValue != null) {
Object value = toJavaObject(jsonValue);

params.put(key, value);
params.put(key, value);
}
}
}
}

jsonReader.close();
return params;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,16 +143,14 @@ public static String toString(
if (charset == null) {
charset = DEFAULT_CONTENT_CHARSET;
}
Reader reader = new InputStreamReader(is, charset);

StringBuilder sb = new StringBuilder();
int l;
try {
try (Reader reader = new InputStreamReader(is, charset)) {
char[] tmp = new char[4096];
while ((l = reader.read(tmp)) != -1) {
sb.append(tmp, 0, l);
}
} finally {
reader.close();
}
return sb.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,41 +78,40 @@ public Map<String, String[]> getParameterMap() {
String body = readJsonBody();

StringReader reader = new StringReader(body);
JsonReader jsonReader = Json.createReader(reader);
JsonStructure structure = jsonReader.read();
try (JsonReader jsonReader = Json.createReader(reader)) {
JsonStructure structure = jsonReader.read();

if (structure == null || structure instanceof JsonArray) {
throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation",
body));
}
if (structure == null || structure instanceof JsonArray) {
throw new IllegalArgumentException(format("String '%s' is not a valid JSON object representation",
body));
}

JsonObject object = (JsonObject) structure;
for (Entry<String, JsonValue> entry : object.entrySet()) {
String key = entry.getKey();
if (key != null) {
JsonValue jsonValue = entry.getValue();

// guard from null values
if (jsonValue != null) {
String[] values;

if (ValueType.ARRAY == jsonValue.getValueType()) {
JsonArray array = (JsonArray) jsonValue;
values = new String[array.size()];
for (int i = 0; i < array.size(); i++) {
JsonValue current = array.get(i);
values[i] = toJavaObject(current);
JsonObject object = (JsonObject) structure;
for (Entry<String, JsonValue> entry : object.entrySet()) {
String key = entry.getKey();
if (key != null) {
JsonValue jsonValue = entry.getValue();

// guard from null values
if (jsonValue != null) {
String[] values;

if (ValueType.ARRAY == jsonValue.getValueType()) {
JsonArray array = (JsonArray) jsonValue;
values = new String[array.size()];
for (int i = 0; i < array.size(); i++) {
JsonValue current = array.get(i);
values[i] = toJavaObject(current);
}
} else {
values = new String[]{toJavaObject(jsonValue)};
}
} else {
values = new String[]{ toJavaObject(jsonValue) };
}

parameters.put(key, values);
parameters.put(key, values);
}
}
}
}

jsonReader.close();
}

return Collections.unmodifiableMap(parameters);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ private FileUtils() {

public static String readTextFileAsString(String fileName) throws IOException {
URL inputStream = ClassLoader.getSystemResource(fileName);
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream.openStream()));

String line;
StringBuffer buffer = new StringBuffer();
while ((line = br.readLine()) != null) {
buffer.append(line);
try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream.openStream()))) {
String line;
StringBuffer buffer = new StringBuffer();
while ((line = br.readLine()) != null) {
buffer.append(line);
}
return buffer.toString();
}
return buffer.toString();
}
}