From e723583f1de874f29eef24d1b7bcea2f101cae77 Mon Sep 17 00:00:00 2001 From: timeisenbuerger <38813829+timeisenbuerger@users.noreply.github.com> Date: Thu, 15 Nov 2018 17:13:36 +0100 Subject: [PATCH 01/15] Changed iterations to lambda expressions --- .../org/softlang/company/features/Cut.java | 159 ++++++++++-------- .../softlang/company/features/Parsing.java | 30 ++-- .../org/softlang/company/features/Total.java | 108 +++++++----- .../org/softlang/company/tests/CutTest.java | 64 ++++--- .../softlang/company/tests/ParsingTest.java | 38 ++++- .../org/softlang/company/tests/TotalTest.java | 60 +++++-- 6 files changed, 290 insertions(+), 169 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java index 499727f3..b9b70854 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java @@ -8,79 +8,98 @@ import javax.json.JsonObjectBuilder; import javax.json.JsonValue; -public class Cut { +public class Cut +{ + private static final String SALARY = "salary"; - /** - * @param obj - * input JSON object - * @return output JSON object - */ - public static JsonObject cut(JsonObject obj) { - JsonObjectBuilder builder = Json.createObjectBuilder(); - for (String key : obj.keySet()) - cut(builder, key, obj.get(key)); - return builder.build(); - } + /** + * + * Executes the cut method for every key-Object in obj.keySet() and the suitable object. Returns the updated JSON object. + * + * @param obj input JSON object + * @return output updated JSON object + */ + public static JsonObject cut(JsonObject obj) + { + JsonObjectBuilder builder = Json.createObjectBuilder(); - /** - * @param arr - * input JSON array - * @return output JSON array - */ - public static JsonArray cut(JsonArray arr) { - JsonArrayBuilder builder = Json.createArrayBuilder(); - for (JsonValue item : arr) - cut(builder, item); - return builder.build(); - } + obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); - /** - * @param builder - * An object builder to which to add to - * @param key - * A key for the input value - * @param val - * The input value - */ - private static void cut(JsonObjectBuilder builder, String key, JsonValue val) { - switch (val.getValueType()) { - case NUMBER: - Double num = ((JsonNumber) val).doubleValue(); - if (key.equals("salary")) - // Halve salary - num /= 2; - builder.add(key, num); - break; - case OBJECT: - builder.add(key, cut((JsonObject) val)); - break; - case ARRAY: - builder.add(key, cut((JsonArray) val)); - break; - default: - builder.add(key, val); - break; - } - } + return builder.build(); + } - /** - * @param builder - * An array builder to which to add to - * @param val - * The input value - */ - private static void cut(JsonArrayBuilder builder, JsonValue val) { - switch (val.getValueType()) { - case OBJECT: - builder.add(cut((JsonObject) val)); - break; - case ARRAY: - builder.add(cut((JsonArray) val)); - break; - default: - builder.add(val); - break; - } - } + /** + * + * Executes the cut method for every item of arr-parameter. Returns the updated JSON array object. + * + * @param arr input JSON array + * @return updated output JSON array + */ + public static JsonArray cut(JsonArray arr) + { + JsonArrayBuilder builder = Json.createArrayBuilder(); + + arr.forEach(item -> cut(builder, item)); + + return builder.build(); + } + + /** + * + * Method searching for a value which type is of JsonValue.NUMBER. Then halve the value and add it to the builder-object. + * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it starts a recursion and going a level deeper. + * Else if none of the given types is suitable to the value type then just change nothing and add it to the builder-object. + * + * @param builder An object builder to which to add to + * @param key A key for the input value + * @param val The input value + */ + private static void cut(JsonObjectBuilder builder, String key, JsonValue val) + { + switch( val.getValueType() ) + { + case NUMBER: + Double num = ((JsonNumber) val).doubleValue(); + if( key.equals(SALARY) ) + // Halve salary + { + num /= 2; + } + builder.add(key, num); + break; + case OBJECT: + builder.add(key, cut((JsonObject) val)); + break; + case ARRAY: + builder.add(key, cut((JsonArray) val)); + break; + default: + builder.add(key, val); + break; + } + } + + /** + * + * Method decides depending on the value type which cut-method should be executed. + * + * @param builder An array builder to which to add to + * @param val The input value + */ + private static void cut(JsonArrayBuilder builder, JsonValue val) + { + switch( val.getValueType() ) + { + case OBJECT: + builder.add(cut((JsonObject) val)); + break; + case ARRAY: + builder.add(cut((JsonArray) val)); + break; + default: + builder.add(val); + break; + } + } } \ No newline at end of file diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java index e2f56716..334de7e9 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java @@ -1,21 +1,31 @@ package org.softlang.company.features; import java.io.FileInputStream; -import java.io.InputStream; import java.io.IOException; +import java.io.InputStream; import javax.json.Json; import javax.json.JsonObject; import javax.json.JsonReader; -public class Parsing { +public class Parsing +{ + /** + * + * Method reads the given file and convert it to a suitable JSON object; then returns it. + * + * @param file JSON file with object structure + * @return JsonObject with read object structure + * @throws IOException + */ - public static JsonObject parseCompany(String file) throws IOException { - InputStream fis = new FileInputStream(file); - JsonReader jsonReader = Json.createReader(fis); - JsonObject jsonObject = jsonReader.readObject(); - jsonReader.close(); - fis.close(); - return jsonObject; - } + public static JsonObject parseCompany(String file) throws IOException + { + InputStream fis = new FileInputStream(file); + JsonReader jsonReader = Json.createReader(fis); + JsonObject jsonObject = jsonReader.readObject(); + jsonReader.close(); + fis.close(); + return jsonObject; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java index 3c873e5b..c00ca240 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java @@ -1,64 +1,80 @@ package org.softlang.company.features; +import java.util.Optional; import javax.json.JsonArray; import javax.json.JsonNumber; import javax.json.JsonObject; import javax.json.JsonValue; -public class Total { +public class Total +{ + private static final String SALARY = "salary"; - /** - * @param obj - * JSON object to traverse - * @return salary total - */ - public static double total(JsonObject obj) { - return total(null, obj); - } + /** + * + * Executes total-method with null as key and the given JSON object. + * + * @param obj JSON object to traverse + * @return salary total + */ + public static double total(JsonObject obj) + { + return total(null, obj); + } - /** - * @param key1 - * key for the value at hand - * @param val1 - * JSON value to traverse - * @return salary total - */ - private static double total(String key1, JsonValue val1) { + /** + * + * Method searching for a value which type is of JsonValue.NUMBER. If the key of the given value is equals to SALARY the amount of val1 is added to sum. + * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it iterates over array items or inner JSON objects and + * starts a recursion to determine total salary of lower levels and adding it to sum. + * All other values which are not suitable to the given value type are skipped. + * + * @param key1 key for the value at hand + * @param val1 JSON value to traverse + * @return salary total + */ + private static double total(String key1, JsonValue val1) + { + double sum = 0; - double sum = 0; + switch( val1.getValueType() ) + { + case NUMBER: + if( Optional.ofNullable(key1).isPresent() && key1.equals(SALARY) ) + { + // Aggregate salaries + Double salary = ((JsonNumber) val1).doubleValue(); + sum += salary; + } + // Otherwise skip numbers + break; - switch (val1.getValueType()) { + case ARRAY: + // Iterate over array items and adding aggregated value to sum + sum += ((JsonArray) val1) + .stream() + .map(item -> total(key1, item)) + .reduce(0.0, (t1, t2) -> t1 + t2); - case NUMBER: - if (key1 != null && key1.equals("salary")) { - // Aggregate salaries - Double salary = ((JsonNumber) val1).doubleValue(); - sum += salary; - } - // Otherwise skip numbers - break; + break; - case ARRAY: - // Iterate over array items - for (JsonValue item : (JsonArray) val1) - sum += total(key1, item); - break; + case OBJECT: + // Iterate over inner JSON objects and adding aggregated value to sum + JsonObject obj = (JsonObject) val1; - case OBJECT: - // Iterate over inner JSON objects - JsonObject obj = (JsonObject) val1; - for (String key2 : obj.keySet()) { - JsonValue val2 = obj.get(key2); - sum += total(key2, val2); - } - break; + obj.keySet() + .stream() + .map(key2 -> total(key2, obj.get(key2))) + .reduce(0.0, (t1, t2) -> t1 + t2); - default: - // Skip all other values - break; - } + break; - return sum; - } + default: + // Skip all other values + break; + } + + return sum; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java index 889588df..d08ca8b5 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java @@ -1,29 +1,55 @@ package org.softlang.company.tests; -import static org.softlang.company.features.Parsing.parseCompany; -import static org.softlang.company.features.Total.total; -import static org.softlang.company.features.Cut.cut; -import static org.softlang.company.tests.ParsingTest.sampleCompany; -import javax.json.JsonObject; import java.io.IOException; -import static org.junit.Assert.assertEquals; +import javax.json.JsonObject; + import org.junit.Before; import org.junit.Test; -public class CutTest { +import static org.junit.Assert.assertEquals; +import static org.softlang.company.features.Cut.cut; +import static org.softlang.company.features.Parsing.parseCompany; +import static org.softlang.company.features.Total.total; +import static org.softlang.company.tests.ParsingTest.sampleCompany; + +public class CutTest +{ + private JsonObject sampleCompanyObject; + + /** + * Initialization of JSON object for tests + * + * @throws IOException + */ + + @Before + public void init() throws IOException + { + sampleCompanyObject = parseCompany(sampleCompany); + } + + /** + * Normal test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. + * It's expected that total2 should be the half of total1 after executing the cut method. + */ - private JsonObject jsonObject; - - @Before - public void init() throws IOException { - jsonObject = parseCompany(sampleCompany); - } + @Test + public void testCutNormalCase() + { + double total1 = total(sampleCompanyObject); + double total2 = total(cut(sampleCompanyObject)); + assertEquals(total1 / 2, total2, 0.0); + } - @Test - public void testCut() { - double total1 = total(jsonObject); - double total2 = total(cut(jsonObject)); - assertEquals(total1/2, total2, 0.0); - } + /** + * + * + * + */ + @Test + public void testCutBorderCase() + { + double total = 0.0; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java index dee3219c..3f096e40 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java @@ -1,17 +1,41 @@ package org.softlang.company.tests; -import static org.softlang.company.features.Parsing.parseCompany; import java.io.File; import java.io.IOException; +import javax.json.JsonObject; + import org.junit.Test; -public class ParsingTest { +import static org.junit.Assert.assertNotNull; +import static org.softlang.company.features.Parsing.parseCompany; + +public class ParsingTest +{ + + public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; + public static String emptyCompany = ""; + + + /** + * Normal test for reading a sample company JSON and asserting that it is not null. + */ - public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; + @Test + public void testParsingNormalCase() throws IOException + { + JsonObject sampleCompanyObject = parseCompany(sampleCompany); + assertNotNull(sampleCompanyObject); + } - @Test - public void testParsing() throws IOException { - parseCompany(sampleCompany); - } + /** + * Error test which simply tries to read a non existing JSON file and throws an IOException. + * + * @throws IOException + */ + @Test(expected = IOException.class) + public void testParsingErrorCase() throws IOException + { + JsonObject emptyCompanyObject = parseCompany(emptyCompany); + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java index e7ba12d8..ca516b62 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java @@ -1,27 +1,53 @@ package org.softlang.company.tests; -import static org.softlang.company.features.Parsing.parseCompany; -import static org.softlang.company.features.Total.total; -import static org.softlang.company.tests.ParsingTest.sampleCompany; -import javax.json.JsonObject; import java.io.IOException; -import static org.junit.Assert.assertEquals; +import javax.json.JsonObject; + import org.junit.Before; import org.junit.Test; -public class TotalTest { +import static org.junit.Assert.assertEquals; +import static org.softlang.company.features.Parsing.parseCompany; +import static org.softlang.company.features.Total.total; +import static org.softlang.company.tests.ParsingTest.sampleCompany; + +public class TotalTest +{ + + private JsonObject sampleCompanyObject; + + /** + * Initialization of JSON object for tests + * + * @throws IOException + */ + + @Before + public void init() throws IOException + { + sampleCompanyObject = parseCompany(sampleCompany); + } + + /** + * Normal test for determining the total salary of a JSON object and expecting that it is equal to a given value. + */ - private JsonObject jsonObject; - - @Before - public void init() throws IOException { - jsonObject = parseCompany(sampleCompany); - } + @Test + public void testTotalNormalCase() + { + double total = total(sampleCompanyObject); + assertEquals(326927.0, total, 0.0); + } - @Test - public void testTotal() { - double total = total(jsonObject); - assertEquals(326927.0, total, 0.0); - } + /** + * + * + * + */ + @Test + public void testTotalBorderCase() + { + double total = 0.0; + } } \ No newline at end of file From 498a0fb5e235973d6ba416aa42d0d51732396ab9 Mon Sep 17 00:00:00 2001 From: Anita Date: Thu, 15 Nov 2018 18:46:10 +0100 Subject: [PATCH 02/15] Formattiert --- .../org/softlang/company/features/Cut.java | 159 ++++++++---------- .../softlang/company/features/Parsing.java | 35 ++-- .../org/softlang/company/features/Total.java | 113 ++++++------- .../org/softlang/company/tests/CutTest.java | 76 ++++----- .../softlang/company/tests/ParsingTest.java | 55 +++--- .../org/softlang/company/tests/TotalTest.java | 74 ++++---- 6 files changed, 240 insertions(+), 272 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java index b9b70854..7740377a 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java @@ -8,98 +8,87 @@ import javax.json.JsonObjectBuilder; import javax.json.JsonValue; -public class Cut -{ - private static final String SALARY = "salary"; +public class Cut { + private static final String SALARY = "salary"; - /** - * - * Executes the cut method for every key-Object in obj.keySet() and the suitable object. Returns the updated JSON object. - * - * @param obj input JSON object - * @return output updated JSON object - */ - public static JsonObject cut(JsonObject obj) - { - JsonObjectBuilder builder = Json.createObjectBuilder(); + /** + * Executes the cut method for every key-Object in obj.keySet() and the suitable object. Returns the updated JSON object. + * + * @param obj input JSON object + * @return output updated JSON object + */ + public static JsonObject cut(JsonObject obj) { + JsonObjectBuilder builder = Json.createObjectBuilder(); - obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); + obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); - return builder.build(); - } + return builder.build(); + } - /** - * - * Executes the cut method for every item of arr-parameter. Returns the updated JSON array object. - * - * @param arr input JSON array - * @return updated output JSON array - */ - public static JsonArray cut(JsonArray arr) - { - JsonArrayBuilder builder = Json.createArrayBuilder(); + /** + * Executes the cut method for every item of arr-parameter. Returns the updated JSON array object. + * + * @param arr input JSON array + * @return updated output JSON array + */ + public static JsonArray cut(JsonArray arr) { + JsonArrayBuilder builder = Json.createArrayBuilder(); - arr.forEach(item -> cut(builder, item)); + arr.forEach(item -> cut(builder, item)); - return builder.build(); - } + return builder.build(); + } - /** - * - * Method searching for a value which type is of JsonValue.NUMBER. Then halve the value and add it to the builder-object. - * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it starts a recursion and going a level deeper. - * Else if none of the given types is suitable to the value type then just change nothing and add it to the builder-object. - * - * @param builder An object builder to which to add to - * @param key A key for the input value - * @param val The input value - */ - private static void cut(JsonObjectBuilder builder, String key, JsonValue val) - { - switch( val.getValueType() ) - { - case NUMBER: - Double num = ((JsonNumber) val).doubleValue(); - if( key.equals(SALARY) ) - // Halve salary - { - num /= 2; - } - builder.add(key, num); - break; - case OBJECT: - builder.add(key, cut((JsonObject) val)); - break; - case ARRAY: - builder.add(key, cut((JsonArray) val)); - break; - default: - builder.add(key, val); - break; - } - } + /** + * Method searching for a value which type is of JsonValue.NUMBER. Then halve the value and add it to the builder-object. + * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it starts a recursion and going a level deeper. + * Else if none of the given types is suitable to the value type then just change nothing and add it to the builder-object. + * + * @param builder An object builder to which to add to + * @param key A key for the input value + * @param val The input value + */ + private static void cut(JsonObjectBuilder builder, String key, JsonValue val) { + switch (val.getValueType()) { + case NUMBER: + Double num = ((JsonNumber) val).doubleValue(); + if (key.equals(SALARY)) + // Halve salary + { + num /= 2; + } + builder.add(key, num); + break; + case OBJECT: + builder.add(key, cut((JsonObject) val)); + break; + case ARRAY: + builder.add(key, cut((JsonArray) val)); + break; + default: + builder.add(key, val); + break; + } + } - /** - * - * Method decides depending on the value type which cut-method should be executed. - * - * @param builder An array builder to which to add to - * @param val The input value - */ - private static void cut(JsonArrayBuilder builder, JsonValue val) - { - switch( val.getValueType() ) - { - case OBJECT: - builder.add(cut((JsonObject) val)); - break; - case ARRAY: - builder.add(cut((JsonArray) val)); - break; - default: - builder.add(val); - break; - } - } + /** + * Method decides depending on the value type which cut-method should be executed. + * + * @param builder An array builder to which to add to + * @param val The input value + */ + private static void cut(JsonArrayBuilder builder, JsonValue val) { + switch (val.getValueType()) { + case OBJECT: + builder.add(cut((JsonObject) val)); + break; + case ARRAY: + builder.add(cut((JsonArray) val)); + break; + default: + builder.add(val); + break; + } + } } \ No newline at end of file diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java index 334de7e9..1d216c17 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java @@ -7,25 +7,22 @@ import javax.json.JsonObject; import javax.json.JsonReader; -public class Parsing -{ - /** - * - * Method reads the given file and convert it to a suitable JSON object; then returns it. - * - * @param file JSON file with object structure - * @return JsonObject with read object structure - * @throws IOException - */ +public class Parsing { + /** + * Method reads the given file and convert it to a suitable JSON object; then returns it. + * + * @param file JSON file with object structure + * @return JsonObject with read object structure + * @throws IOException + */ - public static JsonObject parseCompany(String file) throws IOException - { - InputStream fis = new FileInputStream(file); - JsonReader jsonReader = Json.createReader(fis); - JsonObject jsonObject = jsonReader.readObject(); - jsonReader.close(); - fis.close(); - return jsonObject; - } + public static JsonObject parseCompany(String file) throws IOException { + InputStream fis = new FileInputStream(file); + JsonReader jsonReader = Json.createReader(fis); + JsonObject jsonObject = jsonReader.readObject(); + jsonReader.close(); + fis.close(); + return jsonObject; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java index c00ca240..aa711cf3 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java @@ -6,75 +6,68 @@ import javax.json.JsonObject; import javax.json.JsonValue; -public class Total -{ - private static final String SALARY = "salary"; +public class Total { + private static final String SALARY = "salary"; - /** - * - * Executes total-method with null as key and the given JSON object. - * - * @param obj JSON object to traverse - * @return salary total - */ - public static double total(JsonObject obj) - { - return total(null, obj); - } + /** + * Executes total-method with null as key and the given JSON object. + * + * @param obj JSON object to traverse + * @return salary total + */ + public static double total(JsonObject obj) { + return total(null, obj); + } - /** - * - * Method searching for a value which type is of JsonValue.NUMBER. If the key of the given value is equals to SALARY the amount of val1 is added to sum. - * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it iterates over array items or inner JSON objects and - * starts a recursion to determine total salary of lower levels and adding it to sum. - * All other values which are not suitable to the given value type are skipped. - * - * @param key1 key for the value at hand - * @param val1 JSON value to traverse - * @return salary total - */ - private static double total(String key1, JsonValue val1) - { - double sum = 0; + /** + * Method searching for a value which type is of JsonValue.NUMBER. If the key of the given value is equals to SALARY the amount of val1 is added to sum. + * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it iterates over array items or inner JSON objects and + * starts a recursion to determine total salary of lower levels and adding it to sum. + * All other values which are not suitable to the given value type are skipped. + * + * @param key1 key for the value at hand + * @param val1 JSON value to traverse + * @return salary total + */ + private static double total(String key1, JsonValue val1) { + double sum = 0; - switch( val1.getValueType() ) - { - case NUMBER: - if( Optional.ofNullable(key1).isPresent() && key1.equals(SALARY) ) - { - // Aggregate salaries - Double salary = ((JsonNumber) val1).doubleValue(); - sum += salary; - } - // Otherwise skip numbers - break; + switch (val1.getValueType()) { + case NUMBER: + if (Optional.ofNullable(key1).isPresent() && key1.equals(SALARY)) { + // Aggregate salaries + Double salary = ((JsonNumber) val1).doubleValue(); + sum += salary; + } + // Otherwise skip numbers + break; - case ARRAY: - // Iterate over array items and adding aggregated value to sum - sum += ((JsonArray) val1) - .stream() - .map(item -> total(key1, item)) - .reduce(0.0, (t1, t2) -> t1 + t2); + case ARRAY: + // Iterate over array items and adding aggregated value to sum + sum += ((JsonArray) val1) + .stream() + .map(item -> total(key1, item)) + .reduce(0.0, (t1, t2) -> t1 + t2); - break; + break; - case OBJECT: - // Iterate over inner JSON objects and adding aggregated value to sum - JsonObject obj = (JsonObject) val1; + case OBJECT: + // Iterate over inner JSON objects and adding aggregated value to sum + JsonObject obj = (JsonObject) val1; - obj.keySet() - .stream() - .map(key2 -> total(key2, obj.get(key2))) - .reduce(0.0, (t1, t2) -> t1 + t2); + obj.keySet() + .stream() + .map(key2 -> total(key2, obj.get(key2))) + .reduce(0.0, (t1, t2) -> t1 + t2); - break; + break; - default: - // Skip all other values - break; - } + default: + // Skip all other values + break; + } - return sum; - } + return sum; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java index d08ca8b5..6a7774f0 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java @@ -12,44 +12,40 @@ import static org.softlang.company.features.Total.total; import static org.softlang.company.tests.ParsingTest.sampleCompany; -public class CutTest -{ - private JsonObject sampleCompanyObject; - - /** - * Initialization of JSON object for tests - * - * @throws IOException - */ - - @Before - public void init() throws IOException - { - sampleCompanyObject = parseCompany(sampleCompany); - } - - /** - * Normal test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. - * It's expected that total2 should be the half of total1 after executing the cut method. - */ - - @Test - public void testCutNormalCase() - { - double total1 = total(sampleCompanyObject); - double total2 = total(cut(sampleCompanyObject)); - assertEquals(total1 / 2, total2, 0.0); - } - - /** - * - * - * - */ - - @Test - public void testCutBorderCase() - { - double total = 0.0; - } +public class CutTest { + private JsonObject sampleCompanyObject; + + /** + * Initialization of JSON object for tests + * + * @throws IOException + */ + + @Before + public void init() throws IOException { + sampleCompanyObject = parseCompany(sampleCompany); + } + + /** + * Normal test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. + * It's expected that total2 should be the half of total1 after executing the cut method. + */ + + @Test + public void testCutNormalCase() { + double total1 = total(sampleCompanyObject); + double total2 = total(cut(sampleCompanyObject)); + assertEquals(total1 / 2, total2, 0.0); + } + + /** + * + * + * + */ + + @Test + public void testCutBorderCase() { + double total = 0.0; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java index 3f096e40..c50574bc 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java @@ -9,33 +9,30 @@ import static org.junit.Assert.assertNotNull; import static org.softlang.company.features.Parsing.parseCompany; -public class ParsingTest -{ - - public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; - public static String emptyCompany = ""; - - - /** - * Normal test for reading a sample company JSON and asserting that it is not null. - */ - - @Test - public void testParsingNormalCase() throws IOException - { - JsonObject sampleCompanyObject = parseCompany(sampleCompany); - assertNotNull(sampleCompanyObject); - } - - /** - * Error test which simply tries to read a non existing JSON file and throws an IOException. - * - * @throws IOException - */ - - @Test(expected = IOException.class) - public void testParsingErrorCase() throws IOException - { - JsonObject emptyCompanyObject = parseCompany(emptyCompany); - } +public class ParsingTest { + + public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; + public static String emptyCompany = ""; + + + /** + * Normal test for reading a sample company JSON and asserting that it is not null. + */ + + @Test + public void testParsingNormalCase() throws IOException { + JsonObject sampleCompanyObject = parseCompany(sampleCompany); + assertNotNull(sampleCompanyObject); + } + + /** + * Error test which simply tries to read a non existing JSON file and throws an IOException. + * + * @throws IOException + */ + + @Test(expected = IOException.class) + public void testParsingErrorCase() throws IOException { + JsonObject emptyCompanyObject = parseCompany(emptyCompany); + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java index ca516b62..94a890f7 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java @@ -11,43 +11,39 @@ import static org.softlang.company.features.Total.total; import static org.softlang.company.tests.ParsingTest.sampleCompany; -public class TotalTest -{ - - private JsonObject sampleCompanyObject; - - /** - * Initialization of JSON object for tests - * - * @throws IOException - */ - - @Before - public void init() throws IOException - { - sampleCompanyObject = parseCompany(sampleCompany); - } - - /** - * Normal test for determining the total salary of a JSON object and expecting that it is equal to a given value. - */ - - @Test - public void testTotalNormalCase() - { - double total = total(sampleCompanyObject); - assertEquals(326927.0, total, 0.0); - } - - /** - * - * - * - */ - - @Test - public void testTotalBorderCase() - { - double total = 0.0; - } +public class TotalTest { + + private JsonObject sampleCompanyObject; + + /** + * Initialization of JSON object for tests + * + * @throws IOException + */ + + @Before + public void init() throws IOException { + sampleCompanyObject = parseCompany(sampleCompany); + } + + /** + * Normal test for determining the total salary of a JSON object and expecting that it is equal to a given value. + */ + + @Test + public void testTotalNormalCase() { + double total = total(sampleCompanyObject); + assertEquals(326927.0, total, 0.0); + } + + /** + * + * + * + */ + + @Test + public void testTotalBorderCase() { + double total = 0.0; + } } \ No newline at end of file From 76d23e52bf95826c6b88436110c2e76af22ec1a3 Mon Sep 17 00:00:00 2001 From: timeisenbuerger <38813829+timeisenbuerger@users.noreply.github.com> Date: Thu, 15 Nov 2018 19:42:05 +0100 Subject: [PATCH 03/15] Junge formatierung!! --- .../org/softlang/company/features/Cut.java | 155 +++++++++--------- .../softlang/company/features/Parsing.java | 34 ++-- .../org/softlang/company/features/Total.java | 111 +++++++------ .../org/softlang/company/tests/CutTest.java | 76 +++++---- .../softlang/company/tests/ParsingTest.java | 55 ++++--- .../org/softlang/company/tests/TotalTest.java | 74 +++++---- 6 files changed, 265 insertions(+), 240 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java index 7740377a..09649363 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java @@ -8,87 +8,94 @@ import javax.json.JsonObjectBuilder; import javax.json.JsonValue; -public class Cut { - private static final String SALARY = "salary"; +public class Cut +{ + private static final String SALARY = "salary"; - /** - * Executes the cut method for every key-Object in obj.keySet() and the suitable object. Returns the updated JSON object. - * - * @param obj input JSON object - * @return output updated JSON object - */ - public static JsonObject cut(JsonObject obj) { - JsonObjectBuilder builder = Json.createObjectBuilder(); + /** + * Executes the cut method for every key-Object in obj.keySet() and the suitable object. Returns the updated JSON object. + * + * @param obj input JSON object + * @return output updated JSON object + */ + public static JsonObject cut(JsonObject obj) + { + JsonObjectBuilder builder = Json.createObjectBuilder(); - obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); + obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); - return builder.build(); - } + return builder.build(); + } - /** - * Executes the cut method for every item of arr-parameter. Returns the updated JSON array object. - * - * @param arr input JSON array - * @return updated output JSON array - */ - public static JsonArray cut(JsonArray arr) { - JsonArrayBuilder builder = Json.createArrayBuilder(); + /** + * Executes the cut method for every item of arr-parameter. Returns the updated JSON array object. + * + * @param arr input JSON array + * @return updated output JSON array + */ + public static JsonArray cut(JsonArray arr) + { + JsonArrayBuilder builder = Json.createArrayBuilder(); - arr.forEach(item -> cut(builder, item)); + arr.forEach(item -> cut(builder, item)); - return builder.build(); - } + return builder.build(); + } - /** - * Method searching for a value which type is of JsonValue.NUMBER. Then halve the value and add it to the builder-object. - * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it starts a recursion and going a level deeper. - * Else if none of the given types is suitable to the value type then just change nothing and add it to the builder-object. - * - * @param builder An object builder to which to add to - * @param key A key for the input value - * @param val The input value - */ - private static void cut(JsonObjectBuilder builder, String key, JsonValue val) { - switch (val.getValueType()) { - case NUMBER: - Double num = ((JsonNumber) val).doubleValue(); - if (key.equals(SALARY)) - // Halve salary - { - num /= 2; - } - builder.add(key, num); - break; - case OBJECT: - builder.add(key, cut((JsonObject) val)); - break; - case ARRAY: - builder.add(key, cut((JsonArray) val)); - break; - default: - builder.add(key, val); - break; - } - } + /** + * Method searching for a value which type is of JsonValue.NUMBER. Then halve the value and add it to the builder-object. + * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it starts a recursion and going a level deeper. + * Else if none of the given types is suitable to the value type then just change nothing and add it to the builder-object. + * + * @param builder An object builder to which to add to + * @param key A key for the input value + * @param val The input value + */ + private static void cut(JsonObjectBuilder builder, String key, JsonValue val) + { + switch( val.getValueType() ) + { + case NUMBER: + Double num = ((JsonNumber) val).doubleValue(); + if( key.equals(SALARY) ) + // Halve salary + { + num /= 2; + } + builder.add(key, num); + break; + case OBJECT: + builder.add(key, cut((JsonObject) val)); + break; + case ARRAY: + builder.add(key, cut((JsonArray) val)); + break; + default: + builder.add(key, val); + break; + } + } - /** - * Method decides depending on the value type which cut-method should be executed. - * - * @param builder An array builder to which to add to - * @param val The input value - */ - private static void cut(JsonArrayBuilder builder, JsonValue val) { - switch (val.getValueType()) { - case OBJECT: - builder.add(cut((JsonObject) val)); - break; - case ARRAY: - builder.add(cut((JsonArray) val)); - break; - default: - builder.add(val); - break; - } - } + /** + * Method decides depending on the value type which cut-method should be executed. + * + * @param builder An array builder to which to add to + * @param val The input value + */ + private static void cut(JsonArrayBuilder builder, JsonValue val) + { + switch( val.getValueType() ) + { + case OBJECT: + builder.add(cut((JsonObject) val)); + break; + case ARRAY: + builder.add(cut((JsonArray) val)); + break; + default: + builder.add(val); + break; + } + } } \ No newline at end of file diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java index 1d216c17..c18c1c85 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java @@ -7,22 +7,24 @@ import javax.json.JsonObject; import javax.json.JsonReader; -public class Parsing { - /** - * Method reads the given file and convert it to a suitable JSON object; then returns it. - * - * @param file JSON file with object structure - * @return JsonObject with read object structure - * @throws IOException - */ +public class Parsing +{ + /** + * Method reads the given file and convert it to a suitable JSON object; then returns it. + * + * @param file JSON file with object structure + * @return JsonObject with read object structure + * @throws IOException + */ - public static JsonObject parseCompany(String file) throws IOException { - InputStream fis = new FileInputStream(file); - JsonReader jsonReader = Json.createReader(fis); - JsonObject jsonObject = jsonReader.readObject(); - jsonReader.close(); - fis.close(); - return jsonObject; - } + public static JsonObject parseCompany(String file) throws IOException + { + InputStream fis = new FileInputStream(file); + JsonReader jsonReader = Json.createReader(fis); + JsonObject jsonObject = jsonReader.readObject(); + jsonReader.close(); + fis.close(); + return jsonObject; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java index aa711cf3..b5ad207a 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java @@ -6,68 +6,73 @@ import javax.json.JsonObject; import javax.json.JsonValue; -public class Total { - private static final String SALARY = "salary"; +public class Total +{ + private static final String SALARY = "salary"; - /** - * Executes total-method with null as key and the given JSON object. - * - * @param obj JSON object to traverse - * @return salary total - */ - public static double total(JsonObject obj) { - return total(null, obj); - } + /** + * Executes total-method with null as key and the given JSON object. + * + * @param obj JSON object to traverse + * @return salary total + */ + public static double total(JsonObject obj) + { + return total(null, obj); + } - /** - * Method searching for a value which type is of JsonValue.NUMBER. If the key of the given value is equals to SALARY the amount of val1 is added to sum. - * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it iterates over array items or inner JSON objects and - * starts a recursion to determine total salary of lower levels and adding it to sum. - * All other values which are not suitable to the given value type are skipped. - * - * @param key1 key for the value at hand - * @param val1 JSON value to traverse - * @return salary total - */ - private static double total(String key1, JsonValue val1) { - double sum = 0; + /** + * Method searching for a value which type is of JsonValue.NUMBER. If the key of the given value is equals to SALARY the amount of val1 is added to sum. + * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it iterates over array items or inner JSON objects and + * starts a recursion to determine total salary of lower levels and adding it to sum. + * All other values which are not suitable to the given value type are skipped. + * + * @param key1 key for the value at hand + * @param val1 JSON value to traverse + * @return salary total + */ + private static double total(String key1, JsonValue val1) + { + double sum = 0; - switch (val1.getValueType()) { - case NUMBER: - if (Optional.ofNullable(key1).isPresent() && key1.equals(SALARY)) { - // Aggregate salaries - Double salary = ((JsonNumber) val1).doubleValue(); - sum += salary; - } - // Otherwise skip numbers - break; + switch( val1.getValueType() ) + { + case NUMBER: + if( Optional.ofNullable(key1).isPresent() && key1.equals(SALARY) ) + { + // Aggregate salaries + Double salary = ((JsonNumber) val1).doubleValue(); + sum += salary; + } + // Otherwise skip numbers + break; - case ARRAY: - // Iterate over array items and adding aggregated value to sum - sum += ((JsonArray) val1) - .stream() - .map(item -> total(key1, item)) - .reduce(0.0, (t1, t2) -> t1 + t2); + case ARRAY: + // Iterate over array items and adding aggregated value to sum + sum += ((JsonArray) val1) + .stream() + .map(item -> total(key1, item)) + .reduce(0.0, (t1, t2) -> t1 + t2); - break; + break; - case OBJECT: - // Iterate over inner JSON objects and adding aggregated value to sum - JsonObject obj = (JsonObject) val1; + case OBJECT: + // Iterate over inner JSON objects and adding aggregated value to sum + JsonObject obj = (JsonObject) val1; - obj.keySet() - .stream() - .map(key2 -> total(key2, obj.get(key2))) - .reduce(0.0, (t1, t2) -> t1 + t2); + obj.keySet() + .stream() + .map(key2 -> total(key2, obj.get(key2))) + .reduce(0.0, (t1, t2) -> t1 + t2); - break; + break; - default: - // Skip all other values - break; - } + default: + // Skip all other values + break; + } - return sum; - } + return sum; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java index 6a7774f0..d08ca8b5 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java @@ -12,40 +12,44 @@ import static org.softlang.company.features.Total.total; import static org.softlang.company.tests.ParsingTest.sampleCompany; -public class CutTest { - private JsonObject sampleCompanyObject; - - /** - * Initialization of JSON object for tests - * - * @throws IOException - */ - - @Before - public void init() throws IOException { - sampleCompanyObject = parseCompany(sampleCompany); - } - - /** - * Normal test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. - * It's expected that total2 should be the half of total1 after executing the cut method. - */ - - @Test - public void testCutNormalCase() { - double total1 = total(sampleCompanyObject); - double total2 = total(cut(sampleCompanyObject)); - assertEquals(total1 / 2, total2, 0.0); - } - - /** - * - * - * - */ - - @Test - public void testCutBorderCase() { - double total = 0.0; - } +public class CutTest +{ + private JsonObject sampleCompanyObject; + + /** + * Initialization of JSON object for tests + * + * @throws IOException + */ + + @Before + public void init() throws IOException + { + sampleCompanyObject = parseCompany(sampleCompany); + } + + /** + * Normal test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. + * It's expected that total2 should be the half of total1 after executing the cut method. + */ + + @Test + public void testCutNormalCase() + { + double total1 = total(sampleCompanyObject); + double total2 = total(cut(sampleCompanyObject)); + assertEquals(total1 / 2, total2, 0.0); + } + + /** + * + * + * + */ + + @Test + public void testCutBorderCase() + { + double total = 0.0; + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java index c50574bc..3f096e40 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java @@ -9,30 +9,33 @@ import static org.junit.Assert.assertNotNull; import static org.softlang.company.features.Parsing.parseCompany; -public class ParsingTest { - - public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; - public static String emptyCompany = ""; - - - /** - * Normal test for reading a sample company JSON and asserting that it is not null. - */ - - @Test - public void testParsingNormalCase() throws IOException { - JsonObject sampleCompanyObject = parseCompany(sampleCompany); - assertNotNull(sampleCompanyObject); - } - - /** - * Error test which simply tries to read a non existing JSON file and throws an IOException. - * - * @throws IOException - */ - - @Test(expected = IOException.class) - public void testParsingErrorCase() throws IOException { - JsonObject emptyCompanyObject = parseCompany(emptyCompany); - } +public class ParsingTest +{ + + public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; + public static String emptyCompany = ""; + + + /** + * Normal test for reading a sample company JSON and asserting that it is not null. + */ + + @Test + public void testParsingNormalCase() throws IOException + { + JsonObject sampleCompanyObject = parseCompany(sampleCompany); + assertNotNull(sampleCompanyObject); + } + + /** + * Error test which simply tries to read a non existing JSON file and throws an IOException. + * + * @throws IOException + */ + + @Test(expected = IOException.class) + public void testParsingErrorCase() throws IOException + { + JsonObject emptyCompanyObject = parseCompany(emptyCompany); + } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java index 94a890f7..ca516b62 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java @@ -11,39 +11,43 @@ import static org.softlang.company.features.Total.total; import static org.softlang.company.tests.ParsingTest.sampleCompany; -public class TotalTest { - - private JsonObject sampleCompanyObject; - - /** - * Initialization of JSON object for tests - * - * @throws IOException - */ - - @Before - public void init() throws IOException { - sampleCompanyObject = parseCompany(sampleCompany); - } - - /** - * Normal test for determining the total salary of a JSON object and expecting that it is equal to a given value. - */ - - @Test - public void testTotalNormalCase() { - double total = total(sampleCompanyObject); - assertEquals(326927.0, total, 0.0); - } - - /** - * - * - * - */ - - @Test - public void testTotalBorderCase() { - double total = 0.0; - } +public class TotalTest +{ + + private JsonObject sampleCompanyObject; + + /** + * Initialization of JSON object for tests + * + * @throws IOException + */ + + @Before + public void init() throws IOException + { + sampleCompanyObject = parseCompany(sampleCompany); + } + + /** + * Normal test for determining the total salary of a JSON object and expecting that it is equal to a given value. + */ + + @Test + public void testTotalNormalCase() + { + double total = total(sampleCompanyObject); + assertEquals(326927.0, total, 0.0); + } + + /** + * + * + * + */ + + @Test + public void testTotalBorderCase() + { + double total = 0.0; + } } \ No newline at end of file From 9a946153ad25d988893b4357f8eba2103aca22e4 Mon Sep 17 00:00:00 2001 From: timeisenbuerger <38813829+timeisenbuerger@users.noreply.github.com> Date: Thu, 15 Nov 2018 19:47:58 +0100 Subject: [PATCH 04/15] Dependencies aktualisiert --- contributions/javaJson/build.gradle | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/contributions/javaJson/build.gradle b/contributions/javaJson/build.gradle index cd633249..92f02c10 100644 --- a/contributions/javaJson/build.gradle +++ b/contributions/javaJson/build.gradle @@ -8,6 +8,9 @@ version = '1.0.0' // This implementation uses JSON for data representation. // This implementation uses JUnit for testing. dependencies { - compile group: 'org.glassfish', name: 'javax.json', version: '1.0.4' - testCompile group: 'junit', name: 'junit', version: '4.11+' +// compile group: 'org.glassfish', name: 'javax.json', version: '1.0.4' + compile group: 'org.glassfish', name: 'javax.json', version: '1.1.4' + +// testCompile group: 'junit', name: 'junit', version: '4.11+' + testCompile group: 'junit', name: 'junit', version: '4.4' } \ No newline at end of file From 351db377f029303bb6aa94e087cd9a77dc92fb69 Mon Sep 17 00:00:00 2001 From: timeisenbuerger <38813829+timeisenbuerger@users.noreply.github.com> Date: Thu, 15 Nov 2018 21:06:47 +0100 Subject: [PATCH 05/15] Code kompakter gemacht --- .../main/java/org/softlang/company/features/Parsing.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java index c18c1c85..c906d62b 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java @@ -13,17 +13,15 @@ public class Parsing * Method reads the given file and convert it to a suitable JSON object; then returns it. * * @param file JSON file with object structure - * @return JsonObject with read object structure + * @return JsonObject with object structure * @throws IOException */ public static JsonObject parseCompany(String file) throws IOException { - InputStream fis = new FileInputStream(file); - JsonReader jsonReader = Json.createReader(fis); + JsonReader jsonReader = Json.createReader(new FileInputStream(file)); JsonObject jsonObject = jsonReader.readObject(); jsonReader.close(); - fis.close(); return jsonObject; } From 1d3895a760b4baf320909d49010a14b6919650e9 Mon Sep 17 00:00:00 2001 From: timeisenbuerger Date: Sat, 17 Nov 2018 11:31:53 +0100 Subject: [PATCH 06/15] Throws ArithmeticException implementiert --- .../java/org/softlang/company/features/Cut.java | 15 ++++++++++++--- .../java/org/softlang/company/features/Total.java | 13 +++++++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java index 09649363..9e29c982 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java @@ -50,8 +50,10 @@ public static JsonArray cut(JsonArray arr) * @param builder An object builder to which to add to * @param key A key for the input value * @param val The input value + * + * @throws ArithmeticException when a salary is negative */ - private static void cut(JsonObjectBuilder builder, String key, JsonValue val) + private static void cut(JsonObjectBuilder builder, String key, JsonValue val) throws ArithmeticException { switch( val.getValueType() ) { @@ -60,7 +62,14 @@ private static void cut(JsonObjectBuilder builder, String key, JsonValue val) if( key.equals(SALARY) ) // Halve salary { - num /= 2; + if( num < 0 ) + { + throw new ArithmeticException(); + } + else + { + num /= 2; + } } builder.add(key, num); break; @@ -77,7 +86,7 @@ private static void cut(JsonObjectBuilder builder, String key, JsonValue val) } /** - * Method decides depending on the value type which cut-method should be executed. + * Method decides depending on the value type which cut-method should be executed and adds the result to the builder-object. * * @param builder An array builder to which to add to * @param val The input value diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java index b5ad207a..ba5fcdfe 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java @@ -30,8 +30,10 @@ public static double total(JsonObject obj) * @param key1 key for the value at hand * @param val1 JSON value to traverse * @return salary total + * + * @throws ArithmeticException when a salary is negative */ - private static double total(String key1, JsonValue val1) + private static double total(String key1, JsonValue val1) throws ArithmeticException { double sum = 0; @@ -42,7 +44,14 @@ private static double total(String key1, JsonValue val1) { // Aggregate salaries Double salary = ((JsonNumber) val1).doubleValue(); - sum += salary; + if( salary < 0 ) + { + throw new ArithmeticException(); + } + else + { + sum += salary; + } } // Otherwise skip numbers break; From 93061d74bc2e692f3b587da64d6dda25d3a403ae Mon Sep 17 00:00:00 2001 From: timeisenbuerger Date: Sat, 17 Nov 2018 11:46:15 +0100 Subject: [PATCH 07/15] =?UTF-8?q?.json-Files=20und=20Tests=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javaJson/inputs/companyWithNegSalary.json | 41 +++++++++++++++++++ .../inputs/companyWithZeroSalary.json | 41 +++++++++++++++++++ .../org/softlang/company/tests/CutTest.java | 35 ++++++++++++---- .../softlang/company/tests/ParsingTest.java | 2 + 4 files changed, 110 insertions(+), 9 deletions(-) create mode 100644 contributions/javaJson/inputs/companyWithNegSalary.json create mode 100644 contributions/javaJson/inputs/companyWithZeroSalary.json diff --git a/contributions/javaJson/inputs/companyWithNegSalary.json b/contributions/javaJson/inputs/companyWithNegSalary.json new file mode 100644 index 00000000..1b982cc7 --- /dev/null +++ b/contributions/javaJson/inputs/companyWithNegSalary.json @@ -0,0 +1,41 @@ +{ + "name" : "Test Corporation", + "departments" : [ + { + "name" : "Research", + "manager" : { + "name" : "Fred", + "salary" : -88888 + } + }, + { + "name" : "Development", + "manager" : { + "name" : "Marie", + "salary" : -77777 + }, + "departments" : [ + { + "name" : "Dev1", + "manager" : { + "name" : "Bob", + "salary" : -77776 + } + }, + { + "name" : "Dev2", + "manager" : { + "name" : "Alice", + "salary" : -77775 + }, + "employees" : [ + { + "name" : "Ralf", + "salary" : -4711 + } + ] + } + ] + } + ] +} diff --git a/contributions/javaJson/inputs/companyWithZeroSalary.json b/contributions/javaJson/inputs/companyWithZeroSalary.json new file mode 100644 index 00000000..2daf7839 --- /dev/null +++ b/contributions/javaJson/inputs/companyWithZeroSalary.json @@ -0,0 +1,41 @@ +{ + "name" : "Acme Corporation", + "departments" : [ + { + "name" : "Research", + "manager" : { + "name" : "Fred", + "salary" : 0 + } + }, + { + "name" : "Development", + "manager" : { + "name" : "Marie", + "salary" : 0 + }, + "departments" : [ + { + "name" : "Dev1", + "manager" : { + "name" : "Bob", + "salary" : 0 + } + }, + { + "name" : "Dev2", + "manager" : { + "name" : "Alice", + "salary" : 0 + }, + "employees" : [ + { + "name" : "Ralf", + "salary" : 0 + } + ] + } + ] + } + ] +} diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java index d08ca8b5..1e4d622d 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java @@ -3,6 +3,7 @@ import java.io.IOException; import javax.json.JsonObject; +import junit.framework.Assert; import org.junit.Before; import org.junit.Test; @@ -10,11 +11,15 @@ import static org.softlang.company.features.Cut.cut; import static org.softlang.company.features.Parsing.parseCompany; import static org.softlang.company.features.Total.total; +import static org.softlang.company.tests.ParsingTest.companyWithNegSalary; +import static org.softlang.company.tests.ParsingTest.companyWithZeroSalary; import static org.softlang.company.tests.ParsingTest.sampleCompany; public class CutTest { - private JsonObject sampleCompanyObject; + private JsonObject sampleCompanyObj; + private JsonObject companyWithZeroSalaryObj; + private JsonObject companyWithNegSalaryObj; /** * Initialization of JSON object for tests @@ -25,7 +30,9 @@ public class CutTest @Before public void init() throws IOException { - sampleCompanyObject = parseCompany(sampleCompany); + sampleCompanyObj = parseCompany(sampleCompany); + companyWithZeroSalaryObj = parseCompany(companyWithZeroSalary); + companyWithNegSalaryObj = parseCompany(companyWithNegSalary); } /** @@ -36,20 +43,30 @@ public void init() throws IOException @Test public void testCutNormalCase() { - double total1 = total(sampleCompanyObject); - double total2 = total(cut(sampleCompanyObject)); + double total1 = total(sampleCompanyObj); + double total2 = total(cut(sampleCompanyObj)); assertEquals(total1 / 2, total2, 0.0); } /** - * - * - * + * Edge test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. + * It's expected that total2 should be the half of total1 after executing the cut method. */ @Test - public void testCutBorderCase() + public void testCutEdgeCase() + { + double total = total(cut(companyWithZeroSalaryObj)); + assertEquals(total / 2, 0.0, 0.0); + } + + /** + * + */ + + @Test(expected = ArithmeticException.class) + public void testCutErrorCase() { - double total = 0.0; + double total = total(cut(companyWithNegSalaryObj)); } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java index 3f096e40..bf5fc6a2 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java @@ -13,6 +13,8 @@ public class ParsingTest { public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; + public static String companyWithZeroSalary = "inputs" + File.separator + "companyWithZeroSalary.json"; + public static String companyWithNegSalary = "inputs" + File.separator + "companyWithNegSalary.json"; public static String emptyCompany = ""; From c584fdd4dbf667cf422ff6833ed289df6cd60c64 Mon Sep 17 00:00:00 2001 From: Anita Date: Sat, 17 Nov 2018 11:49:58 +0100 Subject: [PATCH 08/15] Kommentare und so --- .../main/java/org/softlang/company/features/Cut.java | 10 +++++----- .../java/org/softlang/company/features/Parsing.java | 2 +- .../java/org/softlang/company/features/Total.java | 7 +++---- .../test/java/org/softlang/company/tests/CutTest.java | 11 ++++++----- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java index 9e29c982..0c83ae25 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Cut.java @@ -13,7 +13,7 @@ public class Cut private static final String SALARY = "salary"; /** - * Executes the cut method for every key-Object in obj.keySet() and the suitable object. Returns the updated JSON object. + * Executes the cut method on every key in a json object. Returns the updated JSON object. * * @param obj input JSON object * @return output updated JSON object @@ -28,7 +28,7 @@ public static JsonObject cut(JsonObject obj) } /** - * Executes the cut method for every item of arr-parameter. Returns the updated JSON array object. + * Executes the cut method for every item in a json array. Returns the updated JSON array object. * * @param arr input JSON array * @return updated output JSON array @@ -43,9 +43,9 @@ public static JsonArray cut(JsonArray arr) } /** - * Method searching for a value which type is of JsonValue.NUMBER. Then halve the value and add it to the builder-object. - * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it starts a recursion and going a level deeper. - * Else if none of the given types is suitable to the value type then just change nothing and add it to the builder-object. + * Method which halves numeric values of a "salary" key and adds it to the builder object. + * If it encounters a value of type json object or json array recursively goes deeper and searches for numeric values. + * Otherwise if none of the given types match the value type nothing is changed and the key-value pair is added to the builder-object. * * @param builder An object builder to which to add to * @param key A key for the input value diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java index c906d62b..acdda794 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Parsing.java @@ -10,7 +10,7 @@ public class Parsing { /** - * Method reads the given file and convert it to a suitable JSON object; then returns it. + * Method reads the given file and converts it to a suitable JSON object, then returns it. * * @param file JSON file with object structure * @return JsonObject with object structure diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java index ba5fcdfe..9a2d3f4e 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java @@ -22,10 +22,9 @@ public static double total(JsonObject obj) } /** - * Method searching for a value which type is of JsonValue.NUMBER. If the key of the given value is equals to SALARY the amount of val1 is added to sum. - * If the type of value is equal to JsonValue.OBJECT or JsonValue.ARRAY it iterates over array items or inner JSON objects and - * starts a recursion to determine total salary of lower levels and adding it to sum. - * All other values which are not suitable to the given value type are skipped. + * Method which adds up numeric values of a "salary" key. + * If it encounters a value of type json object or json array recursively goes deeper and searches for numeric values to determine the total salary. + * Otherwise if none of the given types match the value type the key-value pair is skipped. * * @param key1 key for the value at hand * @param val1 JSON value to traverse diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java index 1e4d622d..6625c8ec 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java @@ -22,7 +22,7 @@ public class CutTest private JsonObject companyWithNegSalaryObj; /** - * Initialization of JSON object for tests + * Initialization of a JSON object for tests * * @throws IOException */ @@ -36,7 +36,8 @@ public void init() throws IOException } /** - * Normal test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. + * Normal test for cutting salaries of a sample company JSON. + * The total salary "total1" is compared to the total salary after it has been cut "total2". * It's expected that total2 should be the half of total1 after executing the cut method. */ @@ -49,8 +50,8 @@ public void testCutNormalCase() } /** - * Edge test for reading a sample company JSON, determining the total salary of it twice while the second value got cut before. - * It's expected that total2 should be the half of total1 after executing the cut method. + * Edge test for cutting the salary of a company with zero salary. + * The expected result is zero. */ @Test @@ -61,7 +62,7 @@ public void testCutEdgeCase() } /** - * + * Error test for cutting the salary of a company with negative salary which throws an Arithmetic Exception. */ @Test(expected = ArithmeticException.class) From fb42aa1ee60e1b47e63d4d3e16ea76261391ba2f Mon Sep 17 00:00:00 2001 From: timeisenbuerger Date: Sat, 17 Nov 2018 11:55:27 +0100 Subject: [PATCH 09/15] =?UTF-8?q?Total=20Tests=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/softlang/company/features/Total.java | 3 +- .../org/softlang/company/tests/TotalTest.java | 29 ++++++++++++++----- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java index 9a2d3f4e..a41aadb4 100644 --- a/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java +++ b/contributions/javaJson/src/main/java/org/softlang/company/features/Total.java @@ -29,7 +29,6 @@ public static double total(JsonObject obj) * @param key1 key for the value at hand * @param val1 JSON value to traverse * @return salary total - * * @throws ArithmeticException when a salary is negative */ private static double total(String key1, JsonValue val1) throws ArithmeticException @@ -68,7 +67,7 @@ private static double total(String key1, JsonValue val1) throws ArithmeticExcept // Iterate over inner JSON objects and adding aggregated value to sum JsonObject obj = (JsonObject) val1; - obj.keySet() + sum += obj.keySet() .stream() .map(key2 -> total(key2, obj.get(key2))) .reduce(0.0, (t1, t2) -> t1 + t2); diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java index ca516b62..b8324b59 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java @@ -9,12 +9,16 @@ import static org.junit.Assert.assertEquals; import static org.softlang.company.features.Parsing.parseCompany; import static org.softlang.company.features.Total.total; +import static org.softlang.company.tests.ParsingTest.companyWithNegSalary; +import static org.softlang.company.tests.ParsingTest.companyWithZeroSalary; import static org.softlang.company.tests.ParsingTest.sampleCompany; public class TotalTest { - private JsonObject sampleCompanyObject; + private JsonObject sampleCompanyObj; + private JsonObject companyWithZeroSalaryObj; + private JsonObject companyWithNegSalaryObj; /** * Initialization of JSON object for tests @@ -25,7 +29,9 @@ public class TotalTest @Before public void init() throws IOException { - sampleCompanyObject = parseCompany(sampleCompany); + sampleCompanyObj = parseCompany(sampleCompany); + companyWithZeroSalaryObj = parseCompany(companyWithZeroSalary); + companyWithNegSalaryObj = parseCompany(companyWithNegSalary); } /** @@ -35,19 +41,28 @@ public void init() throws IOException @Test public void testTotalNormalCase() { - double total = total(sampleCompanyObject); + double total = total(sampleCompanyObj); assertEquals(326927.0, total, 0.0); } /** - * - * * */ @Test - public void testTotalBorderCase() + public void testTotalEdgeCase() + { + double total = total(companyWithZeroSalaryObj); + assertEquals(total, 0.0, 0.0); + } + + /** + * + */ + + @Test(expected = ArithmeticException.class) + public void testTotalErrorCase() { - double total = 0.0; + double total = total(companyWithNegSalaryObj); } } \ No newline at end of file From a3e6f93b9f9d5934750537e727fa8f44fc0c5e07 Mon Sep 17 00:00:00 2001 From: Anita Date: Sat, 17 Nov 2018 12:12:04 +0100 Subject: [PATCH 10/15] Noch mehr Tests <3 --- .../javaJson/inputs/emptyCompany.json | 1 + contributions/javaJson/inputs/emptyFile.json | 0 .../org/softlang/company/tests/CutTest.java | 2 +- .../softlang/company/tests/ParsingTest.java | 30 +++++++++++++++++-- .../org/softlang/company/tests/TotalTest.java | 6 ++-- 5 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 contributions/javaJson/inputs/emptyCompany.json create mode 100644 contributions/javaJson/inputs/emptyFile.json diff --git a/contributions/javaJson/inputs/emptyCompany.json b/contributions/javaJson/inputs/emptyCompany.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/contributions/javaJson/inputs/emptyCompany.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/contributions/javaJson/inputs/emptyFile.json b/contributions/javaJson/inputs/emptyFile.json new file mode 100644 index 00000000..e69de29b diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java index 6625c8ec..42811461 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/CutTest.java @@ -68,6 +68,6 @@ public void testCutEdgeCase() @Test(expected = ArithmeticException.class) public void testCutErrorCase() { - double total = total(cut(companyWithNegSalaryObj)); + total(cut(companyWithNegSalaryObj)); } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java index bf5fc6a2..ae41a3c7 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/ParsingTest.java @@ -2,6 +2,7 @@ import java.io.File; import java.io.IOException; +import javax.json.JsonException; import javax.json.JsonObject; import org.junit.Test; @@ -15,7 +16,9 @@ public class ParsingTest public static String sampleCompany = "inputs" + File.separator + "sampleCompany.json"; public static String companyWithZeroSalary = "inputs" + File.separator + "companyWithZeroSalary.json"; public static String companyWithNegSalary = "inputs" + File.separator + "companyWithNegSalary.json"; - public static String emptyCompany = ""; + public static String emptyCompany = "inputs" + File.separator + "emptyCompany.json"; + public static String emptyFile = "inputs" + File.separator + "emptyFile.json"; + public static String nonExistentCompany = ""; /** @@ -29,6 +32,27 @@ public void testParsingNormalCase() throws IOException assertNotNull(sampleCompanyObject); } + /** + * Edge test for reading a sample company JSON which is empty but not null. + * @throws IOException + */ + @Test + public void testParsingEdgeCase() throws IOException + { + JsonObject emptyCompanyObject = parseCompany(emptyCompany); + assertNotNull(emptyCompanyObject); + } + + /** + * Error test for reading a JSON file which is empty. Throws a JsonException. + * @throws IOException + */ + @Test(expected = JsonException.class) + public void testParsingErrorCase1() throws IOException + { + parseCompany(emptyFile); + } + /** * Error test which simply tries to read a non existing JSON file and throws an IOException. * @@ -36,8 +60,8 @@ public void testParsingNormalCase() throws IOException */ @Test(expected = IOException.class) - public void testParsingErrorCase() throws IOException + public void testParsingErrorCase2() throws IOException { - JsonObject emptyCompanyObject = parseCompany(emptyCompany); + parseCompany(nonExistentCompany); } } \ No newline at end of file diff --git a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java index b8324b59..f27e8650 100644 --- a/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java +++ b/contributions/javaJson/src/test/java/org/softlang/company/tests/TotalTest.java @@ -46,7 +46,7 @@ public void testTotalNormalCase() } /** - * + * Edge test for determining the total salary of a JSON object with zero salary. */ @Test @@ -57,12 +57,12 @@ public void testTotalEdgeCase() } /** - * + * Error test for determining the total salary of a JSON object with negative salary, which throws an Arithmetic Exception. */ @Test(expected = ArithmeticException.class) public void testTotalErrorCase() { - double total = total(companyWithNegSalaryObj); + total(companyWithNegSalaryObj); } } \ No newline at end of file From 63f4cca69cf67563f24470e60e21a156705cfff6 Mon Sep 17 00:00:00 2001 From: Anita Date: Sat, 17 Nov 2018 13:12:42 +0100 Subject: [PATCH 11/15] markdown :) (und pretty print, meint Tim) --- contributions/javaJson/README.md | 52 ++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/contributions/javaJson/README.md b/contributions/javaJson/README.md index fee1299e..c51c5232 100644 --- a/contributions/javaJson/README.md +++ b/contributions/javaJson/README.md @@ -1,6 +1,54 @@ -This is an implementation of the 101companies System. +#This is an implementation of the 101companies System. -Headline: Process JSON data with Java's javax.json API +## Headline: +Process JSON data with Java's javax.json API + +## Characteristics: +This contribution shows a way to read .json files with the javax.json API. +In combination with this it uses Java 11 standards such as lambda expressions and streams. +The advantages of using these technologies are that the code is more compact +and iterations over collections with streams are easier. + +## Illustration: +####Code snippet 1: +``` +obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); +``` +This snippet iterates over all keys of a key set and calls the cut method on each key. + +####Code snippet 2: +``` +sum += ((JsonArray) val1) + .stream() + .map(item -> total(key1, item)) + .reduce(0.0, (t1, t2) -> t1 + t2); +``` +This snippet transforms an object of type JsonArray to a stream and +applies the total method on each item of the stream. Starting with zero, +the result of the total method is recursively added to the next item in the stream. +The result is the sum of all values returned by the total method. + + +## Relationships: +Similar methods are used in the javaJsonHttp contribution. +The only difference is that URLs are used to retrieve .json files instead of +having them locally saved. + +## Architecture: +The contribution is built with the gradle build system so it corresponds to its standard architecture. +Classes for production are localed in the main directory and classes for test are localed in the test directory. + +## Usage: +This contribution is built using Gradle, check [this](https://docs.gradle.org/current/userguide/embedding.html) site for an offical plugin for your IDE. +When using an official Plugin, just download this repo and import the contribution with your IDE. + +## Metadata: + Namespace:javaJson + Namespace:Java10 + Namespace:javax.json + Namespace:Lambda and Stream API + +See also: [javax.json documentation](https://docs.oracle.com/javaee/7/api/javax/json/package-summary.html), [java stream API documentation](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html), [java lambda expressions tutorial](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html) Documentation: http://101companies.org/wiki/Contribution:javaJson From 4e59ed7da8cb40d9201389e27f81b2c7bbfb7626 Mon Sep 17 00:00:00 2001 From: Anita Date: Sat, 17 Nov 2018 13:15:27 +0100 Subject: [PATCH 12/15] markdown :) (und pretty print, meint Tim) 2.0 --- contributions/javaJson/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/contributions/javaJson/README.md b/contributions/javaJson/README.md index c51c5232..3e97f9ab 100644 --- a/contributions/javaJson/README.md +++ b/contributions/javaJson/README.md @@ -37,6 +37,7 @@ having them locally saved. ## Architecture: The contribution is built with the gradle build system so it corresponds to its standard architecture. Classes for production are localed in the main directory and classes for test are localed in the test directory. +Json files are found in the inputs directory. ## Usage: This contribution is built using Gradle, check [this](https://docs.gradle.org/current/userguide/embedding.html) site for an offical plugin for your IDE. From 637939cc38791daf2a23d3a0d95f3ea87cfddc0d Mon Sep 17 00:00:00 2001 From: timeisenbuerger Date: Mon, 19 Nov 2018 16:53:35 +0100 Subject: [PATCH 13/15] Anpassung --- contributions/javaJson/README.md | 9 +++++---- contributions/javaJson/build.gradle | 3 --- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/contributions/javaJson/README.md b/contributions/javaJson/README.md index 3e97f9ab..2547eafc 100644 --- a/contributions/javaJson/README.md +++ b/contributions/javaJson/README.md @@ -44,10 +44,11 @@ This contribution is built using Gradle, check [this](https://docs.gradle.org/cu When using an official Plugin, just download this repo and import the contribution with your IDE. ## Metadata: - Namespace:javaJson - Namespace:Java10 - Namespace:javax.json - Namespace:Lambda and Stream API + Contribution:javaJson + Language:Java10 + Technolog:javax.json + Technology:Lambda and Stream API + Technology:Fluent API See also: [javax.json documentation](https://docs.oracle.com/javaee/7/api/javax/json/package-summary.html), [java stream API documentation](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html), [java lambda expressions tutorial](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html) diff --git a/contributions/javaJson/build.gradle b/contributions/javaJson/build.gradle index 92f02c10..7a00af7a 100644 --- a/contributions/javaJson/build.gradle +++ b/contributions/javaJson/build.gradle @@ -8,9 +8,6 @@ version = '1.0.0' // This implementation uses JSON for data representation. // This implementation uses JUnit for testing. dependencies { -// compile group: 'org.glassfish', name: 'javax.json', version: '1.0.4' compile group: 'org.glassfish', name: 'javax.json', version: '1.1.4' - -// testCompile group: 'junit', name: 'junit', version: '4.11+' testCompile group: 'junit', name: 'junit', version: '4.4' } \ No newline at end of file From 85635274afa636fbcb6c66355ff79e6c63241181 Mon Sep 17 00:00:00 2001 From: timeisenbuerger <38813829+timeisenbuerger@users.noreply.github.com> Date: Mon, 19 Nov 2018 18:45:21 +0100 Subject: [PATCH 14/15] Neues Modul javaJsonJava10 angelegt --- contributions/.idea/compiler.xml | 97 + contributions/.idea/gradle.xml | 63 + ...jackson_core_jackson_annotations_2_4_0.xml | 11 + ...rxml_jackson_core_jackson_core_2_4_1_1.xml | 11 + ..._jackson_core_jackson_databind_2_4_1_3.xml | 11 + ...radle__com_google_code_gson_gson_2_2_4.xml | 11 + .../Gradle__com_h2database_h2_1_4_178.xml | 11 + ..._com_netflix_rxjava_rxjava_core_0_16_1.xml | 11 + ...om_typesafe_akka_akka_actor_2_10_2_3_4.xml | 11 + .../Gradle__com_typesafe_config_1_2_1.xml | 11 + ...dle__commons_jxpath_commons_jxpath_1_3.xml | 11 + .../.idea/libraries/Gradle__jdom_jdom_1_1.xml | 9 + .../libraries/Gradle__junit_junit_4_11.xml | 11 + .../libraries/Gradle__junit_junit_4_4.xml | 11 + ...layout_org_abego_treelayout_core_1_0_1.xml | 11 + .../libraries/Gradle__org_antlr_ST4_4_0_8.xml | 11 + .../Gradle__org_antlr_antlr4_4_2_2.xml | 11 + ...le__org_antlr_antlr4_annotations_4_2_2.xml | 11 + ...Gradle__org_antlr_antlr4_runtime_4_2_2.xml | 11 + .../Gradle__org_antlr_antlr_runtime_3_5_2.xml | 11 + ...rg_apache_activemq_activemq_all_5_10_0.xml | 11 + ...Gradle__org_glassfish_javax_json_1_0_4.xml | 11 + ...Gradle__org_glassfish_javax_json_1_1_4.xml | 11 + ...Gradle__org_hamcrest_hamcrest_core_1_3.xml | 11 + .../libraries/Gradle__org_jdom_jdom_1_1.xml | 11 + ...__org_scala_lang_scala_compiler_2_10_4.xml | 11 + ...e__org_scala_lang_scala_library_2_10_4.xml | 11 + ...e__org_scala_lang_scala_reflect_2_10_4.xml | 11 + .../Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml | 9 + .../.idea/libraries/Gradle__sax_sax_2_0_1.xml | 9 + .../Gradle__xalan_serializer_2_7_1.xml | 9 + .../libraries/Gradle__xalan_xalan_2_7_0.xml | 11 + .../libraries/Gradle__xalan_xalan_2_7_1.xml | 11 + .../Gradle__xerces_xercesImpl_2_8_0.xml | 11 + .../Gradle__xml_apis_xml_apis_1_3_04.xml | 11 + .../.idea/libraries/Gradle__xom_xom_1_2_5.xml | 11 + contributions/.idea/misc.xml | 6 + contributions/.idea/modules.xml | 143 + .../.idea/modules/akkaActor/akkaActor.iml | 13 + .../modules/akkaActor/akkaActor_main.iml | 17 + .../modules/akkaActor/akkaActor_test.iml | 21 + .../modules/antlr4Acceptor/antlr4Acceptor.iml | 13 + .../antlr4Acceptor/antlr4Acceptor_main.iml | 18 + .../antlr4Acceptor/antlr4Acceptor_test.iml | 22 + .../.idea/modules/antlr4Lexer/antlr4Lexer.iml | 13 + .../modules/antlr4Lexer/antlr4Lexer_main.iml | 18 + .../modules/antlr4Lexer/antlr4Lexer_test.iml | 22 + .../modules/antlr4Objects/antlr4Objects.iml | 13 + .../antlr4Objects/antlr4Objects_main.iml | 18 + .../antlr4Objects/antlr4Objects_test.iml | 22 + .../antlr4ParseTreeListener.iml | 13 + .../antlr4ParseTreeListener_main.iml | 18 + .../antlr4ParseTreeListener_test.iml | 22 + .../antlr4ParseTreeVisitor.iml | 13 + .../antlr4ParseTreeVisitor_main.iml | 18 + .../antlr4ParseTreeVisitor_test.iml | 22 + .../modules/antlr4Parser/antlr4Parser.iml | 13 + .../antlr4Parser/antlr4Parser_main.iml | 18 + .../antlr4Parser/antlr4Parser_test.iml | 22 + contributions/.idea/modules/dom/dom.iml | 13 + contributions/.idea/modules/dom/dom_main.iml | 13 + contributions/.idea/modules/dom/dom_test.iml | 17 + .../.idea/modules/h2jdbcMany/h2jdbcMany.iml | 13 + .../modules/h2jdbcMany/h2jdbcMany_main.iml | 13 + .../modules/h2jdbcMany/h2jdbcMany_test.iml | 18 + .../modules/h2jdbcManySum/h2jdbcManySum.iml | 13 + .../h2jdbcManySum/h2jdbcManySum_main.iml | 13 + .../h2jdbcManySum/h2jdbcManySum_test.iml | 18 + .../.idea/modules/h2jdbcOne/h2jdbcOne.iml | 13 + .../modules/h2jdbcOne/h2jdbcOne_main.iml | 13 + .../modules/h2jdbcOne/h2jdbcOne_test.iml | 18 + .../javaComposition/javaComposition.iml | 13 + .../javaComposition/javaComposition_main.iml | 12 + .../javaComposition/javaComposition_test.iml | 16 + .../modules/javaExorcism/javaExorcism.iml | 13 + .../javaExorcism/javaExorcism_main.iml | 12 + .../javaExorcism/javaExorcism_test.iml | 16 + .../.idea/modules/javaGson/javaGson.iml | 13 + .../.idea/modules/javaGson/javaGson_main.iml | 13 + .../.idea/modules/javaGson/javaGson_test.iml | 17 + .../javaGsonObjects/javaGsonObjects.iml | 13 + .../javaGsonObjects/javaGsonObjects_main.iml | 13 + .../javaGsonObjects/javaGsonObjects_test.iml | 17 + .../javaInheritance/javaInheritance.iml | 13 + .../javaInheritance/javaInheritance_main.iml | 12 + .../javaInheritance/javaInheritance_test.iml | 16 + .../javaJacksonDataBinding.iml | 13 + .../javaJacksonDataBinding_main.iml | 15 + .../javaJacksonDataBinding_test.iml | 19 + .../javaJacksonStreaming.iml | 13 + .../javaJacksonStreaming_main.iml | 13 + .../javaJacksonStreaming_test.iml | 17 + .../javaJacksonTreeModel.iml | 13 + .../javaJacksonTreeModel_main.iml | 15 + .../javaJacksonTreeModel_test.iml | 19 + .../.idea/modules/javaJson/javaJson.iml | 13 + .../.idea/modules/javaJson/javaJson_main.iml | 13 + .../.idea/modules/javaJson/javaJson_test.iml | 17 + .../modules/javaJsonHttp/javaJsonHttp.iml | 13 + .../javaJsonHttp/javaJsonHttp_main.iml | 13 + .../javaJsonHttp/javaJsonHttp_test.iml | 17 + .../.idea/modules/javaJsonJava10.iml | 13 + .../javaJsonJava10/javaJsonJava10_main.iml | 13 + .../javaJsonJava10/javaJsonJava10_test.iml | 16 + .../.idea/modules/javaLexer/javaLexer.iml | 13 + .../modules/javaLexer/javaLexer_main.iml | 12 + .../modules/javaLexer/javaLexer_test.iml | 16 + .../modules/javaMessaging/javaMessaging.iml | 13 + .../javaMessaging/javaMessaging_main.iml | 13 + .../javaMessaging/javaMessaging_test.iml | 17 + .../javaMultithreading/javaMultithreading.iml | 13 + .../javaMultithreading_main.iml | 12 + .../javaMultithreading_test.iml | 16 + .../modules/javaParseLib/javaParseLib.iml | 13 + .../javaParseLib/javaParseLib_main.iml | 12 + .../javaParseLib/javaParseLib_test.iml | 16 + .../.idea/modules/javaParser/javaParser.iml | 13 + .../modules/javaParser/javaParser_main.iml | 12 + .../modules/javaParser/javaParser_test.iml | 16 + .../modules/javaReflection/javaReflection.iml | 13 + .../javaReflection/javaReflection_main.iml | 12 + .../javaReflection/javaReflection_test.iml | 16 + .../.idea/modules/javaScanner/javaScanner.iml | 13 + .../modules/javaScanner/javaScanner_main.iml | 12 + .../modules/javaScanner/javaScanner_test.iml | 16 + .../.idea/modules/javaStatic/javaStatic.iml | 13 + .../modules/javaStatic/javaStatic_main.iml | 12 + .../modules/javaStatic/javaStatic_test.iml | 16 + .../javaStringTemplate/javaStringTemplate.iml | 13 + .../javaStringTemplate_main.iml | 18 + .../javaStringTemplate_test.iml | 22 + .../.idea/modules/javaSyb/javaSyb.iml | 13 + .../.idea/modules/javaSyb/javaSyb_main.iml | 12 + .../.idea/modules/javaSyb/javaSyb_test.iml | 16 + .../modules/javaTemplate/javaTemplate.iml | 13 + .../javaTemplate/javaTemplate_main.iml | 12 + .../javaTemplate/javaTemplate_test.iml | 16 + .../.idea/modules/javaVisitor/javaVisitor.iml | 13 + .../modules/javaVisitor/javaVisitor_main.iml | 12 + .../modules/javaVisitor/javaVisitor_test.iml | 16 + .../.idea/modules/jaxbChoice/jaxbChoice.iml | 13 + .../modules/jaxbChoice/jaxbChoice_main.iml | 12 + .../modules/jaxbChoice/jaxbChoice_test.iml | 16 + .../jaxbComposition/jaxbComposition.iml | 13 + .../jaxbComposition/jaxbComposition_main.iml | 12 + .../jaxbComposition/jaxbComposition_test.iml | 16 + .../modules/jaxbExtension/jaxbExtension.iml | 13 + .../jaxbExtension/jaxbExtension_main.iml | 12 + .../jaxbExtension/jaxbExtension_test.iml | 16 + .../jaxbSubstitution/jaxbSubstitution.iml | 13 + .../jaxbSubstitution_main.iml | 12 + .../jaxbSubstitution_test.iml | 16 + contributions/.idea/modules/jdom/jdom.iml | 13 + .../.idea/modules/jdom/jdom_main.iml | 14 + .../.idea/modules/jdom/jdom_test.iml | 18 + .../.idea/modules/jdomHttp/jdomHttp.iml | 13 + .../.idea/modules/jdomHttp/jdomHttp_main.iml | 14 + .../.idea/modules/jdomHttp/jdomHttp_test.iml | 18 + contributions/.idea/modules/jxpath/jxpath.iml | 13 + .../.idea/modules/jxpath/jxpath_main.iml | 13 + .../.idea/modules/jxpath/jxpath_test.iml | 17 + contributions/.idea/modules/rxjava/rxjava.iml | 13 + .../.idea/modules/rxjava/rxjava_main.iml | 13 + .../.idea/modules/rxjava/rxjava_test.iml | 17 + contributions/.idea/modules/sax/sax.iml | 13 + contributions/.idea/modules/sax/sax_main.iml | 13 + contributions/.idea/modules/sax/sax_test.iml | 17 + contributions/.idea/modules/xom/xom.iml | 13 + contributions/.idea/modules/xom/xom_main.iml | 15 + contributions/.idea/modules/xom/xom_test.iml | 19 + .../.idea/modules/xpathAPI/xpathAPI.iml | 13 + .../.idea/modules/xpathAPI/xpathAPI_main.iml | 15 + .../.idea/modules/xpathAPI/xpathAPI_test.iml | 19 + contributions/.idea/vcs.xml | 6 + contributions/.idea/workspace.xml | 7043 +++++++++++++++++ contributions/contributions.iml | 12 + contributions/javaJson/README.md | 56 +- contributions/javaJson/build.gradle | 4 +- .../org/softlang/company/features/Cut.java | 84 +- .../softlang/company/features/Parsing.java | 19 +- .../org/softlang/company/features/Total.java | 65 +- .../org/softlang/company/tests/CutTest.java | 72 +- .../softlang/company/tests/ParsingTest.java | 58 +- .../org/softlang/company/tests/TotalTest.java | 63 +- contributions/javaJsonJava10/README.md | 56 + contributions/javaJsonJava10/build.gradle | 16 + .../inputs/companyWithNegSalary.json | 0 .../inputs/companyWithZeroSalary.json | 0 .../inputs/emptyCompany.json | 0 .../inputs/emptyFile.json | 0 .../javaJsonJava10/inputs/sampleCompany.json | 41 + .../org/softlang/company/features/Cut.java | 110 + .../softlang/company/features/Parsing.java | 28 + .../org/softlang/company/features/Total.java | 85 + .../org/softlang/company/tests/CutTest.java | 73 + .../softlang/company/tests/ParsingTest.java | 67 + .../org/softlang/company/tests/TotalTest.java | 68 + contributions/settings.gradle | 4 +- 198 files changed, 10376 insertions(+), 330 deletions(-) create mode 100644 contributions/.idea/compiler.xml create mode 100644 contributions/.idea/gradle.xml create mode 100644 contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml create mode 100644 contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml create mode 100644 contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml create mode 100644 contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml create mode 100644 contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml create mode 100644 contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml create mode 100644 contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml create mode 100644 contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml create mode 100644 contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml create mode 100644 contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml create mode 100644 contributions/.idea/libraries/Gradle__junit_junit_4_11.xml create mode 100644 contributions/.idea/libraries/Gradle__junit_junit_4_4.xml create mode 100644 contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml create mode 100644 contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml create mode 100644 contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml create mode 100644 contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml create mode 100644 contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml create mode 100644 contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml create mode 100644 contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml create mode 100644 contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml create mode 100644 contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml create mode 100644 contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml create mode 100644 contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml create mode 100644 contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml create mode 100644 contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml create mode 100644 contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml create mode 100644 contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml create mode 100644 contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml create mode 100644 contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml create mode 100644 contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml create mode 100644 contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml create mode 100644 contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml create mode 100644 contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml create mode 100644 contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml create mode 100644 contributions/.idea/misc.xml create mode 100644 contributions/.idea/modules.xml create mode 100644 contributions/.idea/modules/akkaActor/akkaActor.iml create mode 100644 contributions/.idea/modules/akkaActor/akkaActor_main.iml create mode 100644 contributions/.idea/modules/akkaActor/akkaActor_test.iml create mode 100644 contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml create mode 100644 contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml create mode 100644 contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml create mode 100644 contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml create mode 100644 contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml create mode 100644 contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml create mode 100644 contributions/.idea/modules/antlr4Objects/antlr4Objects.iml create mode 100644 contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml create mode 100644 contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml create mode 100644 contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml create mode 100644 contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml create mode 100644 contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml create mode 100644 contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml create mode 100644 contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml create mode 100644 contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml create mode 100644 contributions/.idea/modules/antlr4Parser/antlr4Parser.iml create mode 100644 contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml create mode 100644 contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml create mode 100644 contributions/.idea/modules/dom/dom.iml create mode 100644 contributions/.idea/modules/dom/dom_main.iml create mode 100644 contributions/.idea/modules/dom/dom_test.iml create mode 100644 contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml create mode 100644 contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml create mode 100644 contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml create mode 100644 contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml create mode 100644 contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml create mode 100644 contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml create mode 100644 contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml create mode 100644 contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml create mode 100644 contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml create mode 100644 contributions/.idea/modules/javaComposition/javaComposition.iml create mode 100644 contributions/.idea/modules/javaComposition/javaComposition_main.iml create mode 100644 contributions/.idea/modules/javaComposition/javaComposition_test.iml create mode 100644 contributions/.idea/modules/javaExorcism/javaExorcism.iml create mode 100644 contributions/.idea/modules/javaExorcism/javaExorcism_main.iml create mode 100644 contributions/.idea/modules/javaExorcism/javaExorcism_test.iml create mode 100644 contributions/.idea/modules/javaGson/javaGson.iml create mode 100644 contributions/.idea/modules/javaGson/javaGson_main.iml create mode 100644 contributions/.idea/modules/javaGson/javaGson_test.iml create mode 100644 contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml create mode 100644 contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml create mode 100644 contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml create mode 100644 contributions/.idea/modules/javaInheritance/javaInheritance.iml create mode 100644 contributions/.idea/modules/javaInheritance/javaInheritance_main.iml create mode 100644 contributions/.idea/modules/javaInheritance/javaInheritance_test.iml create mode 100644 contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml create mode 100644 contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml create mode 100644 contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml create mode 100644 contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml create mode 100644 contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml create mode 100644 contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml create mode 100644 contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml create mode 100644 contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml create mode 100644 contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml create mode 100644 contributions/.idea/modules/javaJson/javaJson.iml create mode 100644 contributions/.idea/modules/javaJson/javaJson_main.iml create mode 100644 contributions/.idea/modules/javaJson/javaJson_test.iml create mode 100644 contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml create mode 100644 contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml create mode 100644 contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml create mode 100644 contributions/.idea/modules/javaJsonJava10.iml create mode 100644 contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml create mode 100644 contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml create mode 100644 contributions/.idea/modules/javaLexer/javaLexer.iml create mode 100644 contributions/.idea/modules/javaLexer/javaLexer_main.iml create mode 100644 contributions/.idea/modules/javaLexer/javaLexer_test.iml create mode 100644 contributions/.idea/modules/javaMessaging/javaMessaging.iml create mode 100644 contributions/.idea/modules/javaMessaging/javaMessaging_main.iml create mode 100644 contributions/.idea/modules/javaMessaging/javaMessaging_test.iml create mode 100644 contributions/.idea/modules/javaMultithreading/javaMultithreading.iml create mode 100644 contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml create mode 100644 contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml create mode 100644 contributions/.idea/modules/javaParseLib/javaParseLib.iml create mode 100644 contributions/.idea/modules/javaParseLib/javaParseLib_main.iml create mode 100644 contributions/.idea/modules/javaParseLib/javaParseLib_test.iml create mode 100644 contributions/.idea/modules/javaParser/javaParser.iml create mode 100644 contributions/.idea/modules/javaParser/javaParser_main.iml create mode 100644 contributions/.idea/modules/javaParser/javaParser_test.iml create mode 100644 contributions/.idea/modules/javaReflection/javaReflection.iml create mode 100644 contributions/.idea/modules/javaReflection/javaReflection_main.iml create mode 100644 contributions/.idea/modules/javaReflection/javaReflection_test.iml create mode 100644 contributions/.idea/modules/javaScanner/javaScanner.iml create mode 100644 contributions/.idea/modules/javaScanner/javaScanner_main.iml create mode 100644 contributions/.idea/modules/javaScanner/javaScanner_test.iml create mode 100644 contributions/.idea/modules/javaStatic/javaStatic.iml create mode 100644 contributions/.idea/modules/javaStatic/javaStatic_main.iml create mode 100644 contributions/.idea/modules/javaStatic/javaStatic_test.iml create mode 100644 contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml create mode 100644 contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml create mode 100644 contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml create mode 100644 contributions/.idea/modules/javaSyb/javaSyb.iml create mode 100644 contributions/.idea/modules/javaSyb/javaSyb_main.iml create mode 100644 contributions/.idea/modules/javaSyb/javaSyb_test.iml create mode 100644 contributions/.idea/modules/javaTemplate/javaTemplate.iml create mode 100644 contributions/.idea/modules/javaTemplate/javaTemplate_main.iml create mode 100644 contributions/.idea/modules/javaTemplate/javaTemplate_test.iml create mode 100644 contributions/.idea/modules/javaVisitor/javaVisitor.iml create mode 100644 contributions/.idea/modules/javaVisitor/javaVisitor_main.iml create mode 100644 contributions/.idea/modules/javaVisitor/javaVisitor_test.iml create mode 100644 contributions/.idea/modules/jaxbChoice/jaxbChoice.iml create mode 100644 contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml create mode 100644 contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml create mode 100644 contributions/.idea/modules/jaxbComposition/jaxbComposition.iml create mode 100644 contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml create mode 100644 contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml create mode 100644 contributions/.idea/modules/jaxbExtension/jaxbExtension.iml create mode 100644 contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml create mode 100644 contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml create mode 100644 contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml create mode 100644 contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml create mode 100644 contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml create mode 100644 contributions/.idea/modules/jdom/jdom.iml create mode 100644 contributions/.idea/modules/jdom/jdom_main.iml create mode 100644 contributions/.idea/modules/jdom/jdom_test.iml create mode 100644 contributions/.idea/modules/jdomHttp/jdomHttp.iml create mode 100644 contributions/.idea/modules/jdomHttp/jdomHttp_main.iml create mode 100644 contributions/.idea/modules/jdomHttp/jdomHttp_test.iml create mode 100644 contributions/.idea/modules/jxpath/jxpath.iml create mode 100644 contributions/.idea/modules/jxpath/jxpath_main.iml create mode 100644 contributions/.idea/modules/jxpath/jxpath_test.iml create mode 100644 contributions/.idea/modules/rxjava/rxjava.iml create mode 100644 contributions/.idea/modules/rxjava/rxjava_main.iml create mode 100644 contributions/.idea/modules/rxjava/rxjava_test.iml create mode 100644 contributions/.idea/modules/sax/sax.iml create mode 100644 contributions/.idea/modules/sax/sax_main.iml create mode 100644 contributions/.idea/modules/sax/sax_test.iml create mode 100644 contributions/.idea/modules/xom/xom.iml create mode 100644 contributions/.idea/modules/xom/xom_main.iml create mode 100644 contributions/.idea/modules/xom/xom_test.iml create mode 100644 contributions/.idea/modules/xpathAPI/xpathAPI.iml create mode 100644 contributions/.idea/modules/xpathAPI/xpathAPI_main.iml create mode 100644 contributions/.idea/modules/xpathAPI/xpathAPI_test.iml create mode 100644 contributions/.idea/vcs.xml create mode 100644 contributions/.idea/workspace.xml create mode 100644 contributions/contributions.iml create mode 100644 contributions/javaJsonJava10/README.md create mode 100644 contributions/javaJsonJava10/build.gradle rename contributions/{javaJson => javaJsonJava10}/inputs/companyWithNegSalary.json (100%) rename contributions/{javaJson => javaJsonJava10}/inputs/companyWithZeroSalary.json (100%) rename contributions/{javaJson => javaJsonJava10}/inputs/emptyCompany.json (100%) rename contributions/{javaJson => javaJsonJava10}/inputs/emptyFile.json (100%) create mode 100644 contributions/javaJsonJava10/inputs/sampleCompany.json create mode 100644 contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Cut.java create mode 100644 contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Parsing.java create mode 100644 contributions/javaJsonJava10/src/main/java/org/softlang/company/features/Total.java create mode 100644 contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/CutTest.java create mode 100644 contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/ParsingTest.java create mode 100644 contributions/javaJsonJava10/src/test/java/org/softlang/company/tests/TotalTest.java diff --git a/contributions/.idea/compiler.xml b/contributions/.idea/compiler.xml new file mode 100644 index 00000000..6ad916c1 --- /dev/null +++ b/contributions/.idea/compiler.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/gradle.xml b/contributions/.idea/gradle.xml new file mode 100644 index 00000000..d56391ef --- /dev/null +++ b/contributions/.idea/gradle.xml @@ -0,0 +1,63 @@ + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml new file mode 100644 index 00000000..ff54d795 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_annotations_2_4_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml new file mode 100644 index 00000000..307b701a --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_4_1_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml new file mode 100644 index 00000000..7653409b --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_databind_2_4_1_3.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml b/contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml new file mode 100644 index 00000000..5fadbfbb --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_google_code_gson_gson_2_2_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml b/contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml new file mode 100644 index 00000000..7f96d1d2 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_h2database_h2_1_4_178.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml b/contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml new file mode 100644 index 00000000..891eb047 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_netflix_rxjava_rxjava_core_0_16_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml b/contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml new file mode 100644 index 00000000..55324abf --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_typesafe_akka_akka_actor_2_10_2_3_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml b/contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml new file mode 100644 index 00000000..e73cd858 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__com_typesafe_config_1_2_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml b/contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml new file mode 100644 index 00000000..e880ad31 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__commons_jxpath_commons_jxpath_1_3.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml b/contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml new file mode 100644 index 00000000..8df6b533 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__jdom_jdom_1_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__junit_junit_4_11.xml b/contributions/.idea/libraries/Gradle__junit_junit_4_11.xml new file mode 100644 index 00000000..dc26b345 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__junit_junit_4_11.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__junit_junit_4_4.xml b/contributions/.idea/libraries/Gradle__junit_junit_4_4.xml new file mode 100644 index 00000000..c7fcdb1a --- /dev/null +++ b/contributions/.idea/libraries/Gradle__junit_junit_4_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml b/contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml new file mode 100644 index 00000000..4844a08a --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_abego_treelayout_org_abego_treelayout_core_1_0_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml b/contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml new file mode 100644 index 00000000..8bacbdcc --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_antlr_ST4_4_0_8.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml new file mode 100644 index 00000000..5ef502c0 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_4_2_2.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml new file mode 100644 index 00000000..aea35f59 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_annotations_4_2_2.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml new file mode 100644 index 00000000..d550d434 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr4_runtime_4_2_2.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml b/contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml new file mode 100644 index 00000000..a7c38fea --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_antlr_antlr_runtime_3_5_2.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml b/contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml new file mode 100644 index 00000000..e51fe006 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_apache_activemq_activemq_all_5_10_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml new file mode 100644 index 00000000..a105805d --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_0_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml new file mode 100644 index 00000000..25bf5da2 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_glassfish_javax_json_1_1_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 00000000..8262f729 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml b/contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml new file mode 100644 index 00000000..d1845e52 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_jdom_jdom_1_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml new file mode 100644 index 00000000..eb3c79cd --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_compiler_2_10_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml new file mode 100644 index 00000000..da6cec38 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_library_2_10_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml new file mode 100644 index 00000000..76f32aa9 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_scala_lang_scala_reflect_2_10_4.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml b/contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml new file mode 100644 index 00000000..11dfe3aa --- /dev/null +++ b/contributions/.idea/libraries/Gradle__org_w3c_dom_2_3_0_jaxb_1_0_6.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml b/contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml new file mode 100644 index 00000000..851fd732 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__sax_sax_2_0_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml b/contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml new file mode 100644 index 00000000..e29b57cd --- /dev/null +++ b/contributions/.idea/libraries/Gradle__xalan_serializer_2_7_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml new file mode 100644 index 00000000..83ddb7e5 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml new file mode 100644 index 00000000..e1d5edf1 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__xalan_xalan_2_7_1.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml b/contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml new file mode 100644 index 00000000..1c423563 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__xerces_xercesImpl_2_8_0.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml b/contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml new file mode 100644 index 00000000..5e0c5f66 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__xml_apis_xml_apis_1_3_04.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml b/contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml new file mode 100644 index 00000000..c6b7ba66 --- /dev/null +++ b/contributions/.idea/libraries/Gradle__xom_xom_1_2_5.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/misc.xml b/contributions/.idea/misc.xml new file mode 100644 index 00000000..503977fc --- /dev/null +++ b/contributions/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules.xml b/contributions/.idea/modules.xml new file mode 100644 index 00000000..403a0242 --- /dev/null +++ b/contributions/.idea/modules.xml @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/akkaActor/akkaActor.iml b/contributions/.idea/modules/akkaActor/akkaActor.iml new file mode 100644 index 00000000..367baee9 --- /dev/null +++ b/contributions/.idea/modules/akkaActor/akkaActor.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/akkaActor/akkaActor_main.iml b/contributions/.idea/modules/akkaActor/akkaActor_main.iml new file mode 100644 index 00000000..2e148cbd --- /dev/null +++ b/contributions/.idea/modules/akkaActor/akkaActor_main.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/akkaActor/akkaActor_test.iml b/contributions/.idea/modules/akkaActor/akkaActor_test.iml new file mode 100644 index 00000000..047451be --- /dev/null +++ b/contributions/.idea/modules/akkaActor/akkaActor_test.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml new file mode 100644 index 00000000..38e97b6d --- /dev/null +++ b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml new file mode 100644 index 00000000..a4de47f9 --- /dev/null +++ b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml new file mode 100644 index 00000000..c42bfa0c --- /dev/null +++ b/contributions/.idea/modules/antlr4Acceptor/antlr4Acceptor_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml new file mode 100644 index 00000000..9c340e4c --- /dev/null +++ b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml new file mode 100644 index 00000000..b0fa42a8 --- /dev/null +++ b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml new file mode 100644 index 00000000..babad0b7 --- /dev/null +++ b/contributions/.idea/modules/antlr4Lexer/antlr4Lexer_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Objects/antlr4Objects.iml b/contributions/.idea/modules/antlr4Objects/antlr4Objects.iml new file mode 100644 index 00000000..444dde2a --- /dev/null +++ b/contributions/.idea/modules/antlr4Objects/antlr4Objects.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml b/contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml new file mode 100644 index 00000000..256b0fb8 --- /dev/null +++ b/contributions/.idea/modules/antlr4Objects/antlr4Objects_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml b/contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml new file mode 100644 index 00000000..0a17b4de --- /dev/null +++ b/contributions/.idea/modules/antlr4Objects/antlr4Objects_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml new file mode 100644 index 00000000..16d817e9 --- /dev/null +++ b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml new file mode 100644 index 00000000..18213b8f --- /dev/null +++ b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml new file mode 100644 index 00000000..962cc31b --- /dev/null +++ b/contributions/.idea/modules/antlr4ParseTreeListener/antlr4ParseTreeListener_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml new file mode 100644 index 00000000..1dbf7e29 --- /dev/null +++ b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml new file mode 100644 index 00000000..81489d16 --- /dev/null +++ b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml new file mode 100644 index 00000000..d7e3a90d --- /dev/null +++ b/contributions/.idea/modules/antlr4ParseTreeVisitor/antlr4ParseTreeVisitor_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Parser/antlr4Parser.iml b/contributions/.idea/modules/antlr4Parser/antlr4Parser.iml new file mode 100644 index 00000000..46fb7218 --- /dev/null +++ b/contributions/.idea/modules/antlr4Parser/antlr4Parser.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml b/contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml new file mode 100644 index 00000000..f8185771 --- /dev/null +++ b/contributions/.idea/modules/antlr4Parser/antlr4Parser_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml b/contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml new file mode 100644 index 00000000..64f7aebc --- /dev/null +++ b/contributions/.idea/modules/antlr4Parser/antlr4Parser_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/dom/dom.iml b/contributions/.idea/modules/dom/dom.iml new file mode 100644 index 00000000..d4895776 --- /dev/null +++ b/contributions/.idea/modules/dom/dom.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/dom/dom_main.iml b/contributions/.idea/modules/dom/dom_main.iml new file mode 100644 index 00000000..acfd0fce --- /dev/null +++ b/contributions/.idea/modules/dom/dom_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/dom/dom_test.iml b/contributions/.idea/modules/dom/dom_test.iml new file mode 100644 index 00000000..72f953c6 --- /dev/null +++ b/contributions/.idea/modules/dom/dom_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml new file mode 100644 index 00000000..2fa69f0a --- /dev/null +++ b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml new file mode 100644 index 00000000..bebe5908 --- /dev/null +++ b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml new file mode 100644 index 00000000..29f5e395 --- /dev/null +++ b/contributions/.idea/modules/h2jdbcMany/h2jdbcMany_test.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml new file mode 100644 index 00000000..3bc262c6 --- /dev/null +++ b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml new file mode 100644 index 00000000..1d5abe4b --- /dev/null +++ b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml new file mode 100644 index 00000000..7293c528 --- /dev/null +++ b/contributions/.idea/modules/h2jdbcManySum/h2jdbcManySum_test.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml new file mode 100644 index 00000000..95baca7d --- /dev/null +++ b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml new file mode 100644 index 00000000..032816bc --- /dev/null +++ b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml new file mode 100644 index 00000000..a1e9ea40 --- /dev/null +++ b/contributions/.idea/modules/h2jdbcOne/h2jdbcOne_test.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaComposition/javaComposition.iml b/contributions/.idea/modules/javaComposition/javaComposition.iml new file mode 100644 index 00000000..c7e0e03e --- /dev/null +++ b/contributions/.idea/modules/javaComposition/javaComposition.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaComposition/javaComposition_main.iml b/contributions/.idea/modules/javaComposition/javaComposition_main.iml new file mode 100644 index 00000000..0834b4a3 --- /dev/null +++ b/contributions/.idea/modules/javaComposition/javaComposition_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaComposition/javaComposition_test.iml b/contributions/.idea/modules/javaComposition/javaComposition_test.iml new file mode 100644 index 00000000..1d4f36fd --- /dev/null +++ b/contributions/.idea/modules/javaComposition/javaComposition_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaExorcism/javaExorcism.iml b/contributions/.idea/modules/javaExorcism/javaExorcism.iml new file mode 100644 index 00000000..9c10b8e5 --- /dev/null +++ b/contributions/.idea/modules/javaExorcism/javaExorcism.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaExorcism/javaExorcism_main.iml b/contributions/.idea/modules/javaExorcism/javaExorcism_main.iml new file mode 100644 index 00000000..9baa403f --- /dev/null +++ b/contributions/.idea/modules/javaExorcism/javaExorcism_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaExorcism/javaExorcism_test.iml b/contributions/.idea/modules/javaExorcism/javaExorcism_test.iml new file mode 100644 index 00000000..9cffeade --- /dev/null +++ b/contributions/.idea/modules/javaExorcism/javaExorcism_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaGson/javaGson.iml b/contributions/.idea/modules/javaGson/javaGson.iml new file mode 100644 index 00000000..dff58bab --- /dev/null +++ b/contributions/.idea/modules/javaGson/javaGson.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaGson/javaGson_main.iml b/contributions/.idea/modules/javaGson/javaGson_main.iml new file mode 100644 index 00000000..338c8096 --- /dev/null +++ b/contributions/.idea/modules/javaGson/javaGson_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaGson/javaGson_test.iml b/contributions/.idea/modules/javaGson/javaGson_test.iml new file mode 100644 index 00000000..49e40973 --- /dev/null +++ b/contributions/.idea/modules/javaGson/javaGson_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml new file mode 100644 index 00000000..5c2b40b0 --- /dev/null +++ b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml new file mode 100644 index 00000000..f0dddd2c --- /dev/null +++ b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml new file mode 100644 index 00000000..49cf2660 --- /dev/null +++ b/contributions/.idea/modules/javaGsonObjects/javaGsonObjects_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaInheritance/javaInheritance.iml b/contributions/.idea/modules/javaInheritance/javaInheritance.iml new file mode 100644 index 00000000..d8d06f9c --- /dev/null +++ b/contributions/.idea/modules/javaInheritance/javaInheritance.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaInheritance/javaInheritance_main.iml b/contributions/.idea/modules/javaInheritance/javaInheritance_main.iml new file mode 100644 index 00000000..6eea3552 --- /dev/null +++ b/contributions/.idea/modules/javaInheritance/javaInheritance_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaInheritance/javaInheritance_test.iml b/contributions/.idea/modules/javaInheritance/javaInheritance_test.iml new file mode 100644 index 00000000..cbd8fb64 --- /dev/null +++ b/contributions/.idea/modules/javaInheritance/javaInheritance_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml new file mode 100644 index 00000000..cf6e4230 --- /dev/null +++ b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml new file mode 100644 index 00000000..9b851c0e --- /dev/null +++ b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_main.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml new file mode 100644 index 00000000..7ad03cbd --- /dev/null +++ b/contributions/.idea/modules/javaJacksonDataBinding/javaJacksonDataBinding_test.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml new file mode 100644 index 00000000..dfaaa82f --- /dev/null +++ b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml new file mode 100644 index 00000000..e6086e86 --- /dev/null +++ b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml new file mode 100644 index 00000000..0665b4e1 --- /dev/null +++ b/contributions/.idea/modules/javaJacksonStreaming/javaJacksonStreaming_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml new file mode 100644 index 00000000..a0b3bd81 --- /dev/null +++ b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml new file mode 100644 index 00000000..9c3c60b8 --- /dev/null +++ b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_main.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml new file mode 100644 index 00000000..3020cd83 --- /dev/null +++ b/contributions/.idea/modules/javaJacksonTreeModel/javaJacksonTreeModel_test.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJson/javaJson.iml b/contributions/.idea/modules/javaJson/javaJson.iml new file mode 100644 index 00000000..76b7a08a --- /dev/null +++ b/contributions/.idea/modules/javaJson/javaJson.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJson/javaJson_main.iml b/contributions/.idea/modules/javaJson/javaJson_main.iml new file mode 100644 index 00000000..d7c902f7 --- /dev/null +++ b/contributions/.idea/modules/javaJson/javaJson_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJson/javaJson_test.iml b/contributions/.idea/modules/javaJson/javaJson_test.iml new file mode 100644 index 00000000..efbd9fc5 --- /dev/null +++ b/contributions/.idea/modules/javaJson/javaJson_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml new file mode 100644 index 00000000..6933e209 --- /dev/null +++ b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml new file mode 100644 index 00000000..89a15051 --- /dev/null +++ b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml new file mode 100644 index 00000000..5f4b45db --- /dev/null +++ b/contributions/.idea/modules/javaJsonHttp/javaJsonHttp_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJsonJava10.iml b/contributions/.idea/modules/javaJsonJava10.iml new file mode 100644 index 00000000..571b99b6 --- /dev/null +++ b/contributions/.idea/modules/javaJsonJava10.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml new file mode 100644 index 00000000..a849e7a4 --- /dev/null +++ b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml new file mode 100644 index 00000000..6768fe6a --- /dev/null +++ b/contributions/.idea/modules/javaJsonJava10/javaJsonJava10_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaLexer/javaLexer.iml b/contributions/.idea/modules/javaLexer/javaLexer.iml new file mode 100644 index 00000000..612e9c49 --- /dev/null +++ b/contributions/.idea/modules/javaLexer/javaLexer.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaLexer/javaLexer_main.iml b/contributions/.idea/modules/javaLexer/javaLexer_main.iml new file mode 100644 index 00000000..d8a52806 --- /dev/null +++ b/contributions/.idea/modules/javaLexer/javaLexer_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaLexer/javaLexer_test.iml b/contributions/.idea/modules/javaLexer/javaLexer_test.iml new file mode 100644 index 00000000..53808a5c --- /dev/null +++ b/contributions/.idea/modules/javaLexer/javaLexer_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaMessaging/javaMessaging.iml b/contributions/.idea/modules/javaMessaging/javaMessaging.iml new file mode 100644 index 00000000..91068fc5 --- /dev/null +++ b/contributions/.idea/modules/javaMessaging/javaMessaging.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaMessaging/javaMessaging_main.iml b/contributions/.idea/modules/javaMessaging/javaMessaging_main.iml new file mode 100644 index 00000000..382d617f --- /dev/null +++ b/contributions/.idea/modules/javaMessaging/javaMessaging_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaMessaging/javaMessaging_test.iml b/contributions/.idea/modules/javaMessaging/javaMessaging_test.iml new file mode 100644 index 00000000..85be7f0b --- /dev/null +++ b/contributions/.idea/modules/javaMessaging/javaMessaging_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaMultithreading/javaMultithreading.iml b/contributions/.idea/modules/javaMultithreading/javaMultithreading.iml new file mode 100644 index 00000000..67e3504f --- /dev/null +++ b/contributions/.idea/modules/javaMultithreading/javaMultithreading.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml b/contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml new file mode 100644 index 00000000..67bf24be --- /dev/null +++ b/contributions/.idea/modules/javaMultithreading/javaMultithreading_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml b/contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml new file mode 100644 index 00000000..59cdf751 --- /dev/null +++ b/contributions/.idea/modules/javaMultithreading/javaMultithreading_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaParseLib/javaParseLib.iml b/contributions/.idea/modules/javaParseLib/javaParseLib.iml new file mode 100644 index 00000000..16be3ced --- /dev/null +++ b/contributions/.idea/modules/javaParseLib/javaParseLib.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaParseLib/javaParseLib_main.iml b/contributions/.idea/modules/javaParseLib/javaParseLib_main.iml new file mode 100644 index 00000000..4d2c3dd4 --- /dev/null +++ b/contributions/.idea/modules/javaParseLib/javaParseLib_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaParseLib/javaParseLib_test.iml b/contributions/.idea/modules/javaParseLib/javaParseLib_test.iml new file mode 100644 index 00000000..adc12843 --- /dev/null +++ b/contributions/.idea/modules/javaParseLib/javaParseLib_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaParser/javaParser.iml b/contributions/.idea/modules/javaParser/javaParser.iml new file mode 100644 index 00000000..be3f0b69 --- /dev/null +++ b/contributions/.idea/modules/javaParser/javaParser.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaParser/javaParser_main.iml b/contributions/.idea/modules/javaParser/javaParser_main.iml new file mode 100644 index 00000000..eea8d2e4 --- /dev/null +++ b/contributions/.idea/modules/javaParser/javaParser_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaParser/javaParser_test.iml b/contributions/.idea/modules/javaParser/javaParser_test.iml new file mode 100644 index 00000000..60b00adf --- /dev/null +++ b/contributions/.idea/modules/javaParser/javaParser_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaReflection/javaReflection.iml b/contributions/.idea/modules/javaReflection/javaReflection.iml new file mode 100644 index 00000000..8470b575 --- /dev/null +++ b/contributions/.idea/modules/javaReflection/javaReflection.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaReflection/javaReflection_main.iml b/contributions/.idea/modules/javaReflection/javaReflection_main.iml new file mode 100644 index 00000000..12db3354 --- /dev/null +++ b/contributions/.idea/modules/javaReflection/javaReflection_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaReflection/javaReflection_test.iml b/contributions/.idea/modules/javaReflection/javaReflection_test.iml new file mode 100644 index 00000000..de7ae4c6 --- /dev/null +++ b/contributions/.idea/modules/javaReflection/javaReflection_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaScanner/javaScanner.iml b/contributions/.idea/modules/javaScanner/javaScanner.iml new file mode 100644 index 00000000..5eee19de --- /dev/null +++ b/contributions/.idea/modules/javaScanner/javaScanner.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaScanner/javaScanner_main.iml b/contributions/.idea/modules/javaScanner/javaScanner_main.iml new file mode 100644 index 00000000..9fc94196 --- /dev/null +++ b/contributions/.idea/modules/javaScanner/javaScanner_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaScanner/javaScanner_test.iml b/contributions/.idea/modules/javaScanner/javaScanner_test.iml new file mode 100644 index 00000000..bf382de2 --- /dev/null +++ b/contributions/.idea/modules/javaScanner/javaScanner_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaStatic/javaStatic.iml b/contributions/.idea/modules/javaStatic/javaStatic.iml new file mode 100644 index 00000000..d90d25d4 --- /dev/null +++ b/contributions/.idea/modules/javaStatic/javaStatic.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaStatic/javaStatic_main.iml b/contributions/.idea/modules/javaStatic/javaStatic_main.iml new file mode 100644 index 00000000..95acc3b2 --- /dev/null +++ b/contributions/.idea/modules/javaStatic/javaStatic_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaStatic/javaStatic_test.iml b/contributions/.idea/modules/javaStatic/javaStatic_test.iml new file mode 100644 index 00000000..ea5d89b0 --- /dev/null +++ b/contributions/.idea/modules/javaStatic/javaStatic_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml new file mode 100644 index 00000000..86e7a21a --- /dev/null +++ b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml new file mode 100644 index 00000000..133d1988 --- /dev/null +++ b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_main.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml new file mode 100644 index 00000000..bdbb3312 --- /dev/null +++ b/contributions/.idea/modules/javaStringTemplate/javaStringTemplate_test.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaSyb/javaSyb.iml b/contributions/.idea/modules/javaSyb/javaSyb.iml new file mode 100644 index 00000000..20ad7a70 --- /dev/null +++ b/contributions/.idea/modules/javaSyb/javaSyb.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaSyb/javaSyb_main.iml b/contributions/.idea/modules/javaSyb/javaSyb_main.iml new file mode 100644 index 00000000..26ec02b8 --- /dev/null +++ b/contributions/.idea/modules/javaSyb/javaSyb_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaSyb/javaSyb_test.iml b/contributions/.idea/modules/javaSyb/javaSyb_test.iml new file mode 100644 index 00000000..24a866a2 --- /dev/null +++ b/contributions/.idea/modules/javaSyb/javaSyb_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaTemplate/javaTemplate.iml b/contributions/.idea/modules/javaTemplate/javaTemplate.iml new file mode 100644 index 00000000..3894f4f8 --- /dev/null +++ b/contributions/.idea/modules/javaTemplate/javaTemplate.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaTemplate/javaTemplate_main.iml b/contributions/.idea/modules/javaTemplate/javaTemplate_main.iml new file mode 100644 index 00000000..1719f045 --- /dev/null +++ b/contributions/.idea/modules/javaTemplate/javaTemplate_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaTemplate/javaTemplate_test.iml b/contributions/.idea/modules/javaTemplate/javaTemplate_test.iml new file mode 100644 index 00000000..531cb318 --- /dev/null +++ b/contributions/.idea/modules/javaTemplate/javaTemplate_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaVisitor/javaVisitor.iml b/contributions/.idea/modules/javaVisitor/javaVisitor.iml new file mode 100644 index 00000000..320f7d63 --- /dev/null +++ b/contributions/.idea/modules/javaVisitor/javaVisitor.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaVisitor/javaVisitor_main.iml b/contributions/.idea/modules/javaVisitor/javaVisitor_main.iml new file mode 100644 index 00000000..35e5c4d8 --- /dev/null +++ b/contributions/.idea/modules/javaVisitor/javaVisitor_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/javaVisitor/javaVisitor_test.iml b/contributions/.idea/modules/javaVisitor/javaVisitor_test.iml new file mode 100644 index 00000000..92fc7bf4 --- /dev/null +++ b/contributions/.idea/modules/javaVisitor/javaVisitor_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbChoice/jaxbChoice.iml b/contributions/.idea/modules/jaxbChoice/jaxbChoice.iml new file mode 100644 index 00000000..26cf2f52 --- /dev/null +++ b/contributions/.idea/modules/jaxbChoice/jaxbChoice.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml b/contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml new file mode 100644 index 00000000..20ba4964 --- /dev/null +++ b/contributions/.idea/modules/jaxbChoice/jaxbChoice_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml b/contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml new file mode 100644 index 00000000..bf5c0ea0 --- /dev/null +++ b/contributions/.idea/modules/jaxbChoice/jaxbChoice_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbComposition/jaxbComposition.iml b/contributions/.idea/modules/jaxbComposition/jaxbComposition.iml new file mode 100644 index 00000000..b2ad6070 --- /dev/null +++ b/contributions/.idea/modules/jaxbComposition/jaxbComposition.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml b/contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml new file mode 100644 index 00000000..fce21331 --- /dev/null +++ b/contributions/.idea/modules/jaxbComposition/jaxbComposition_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml b/contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml new file mode 100644 index 00000000..bd969d14 --- /dev/null +++ b/contributions/.idea/modules/jaxbComposition/jaxbComposition_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbExtension/jaxbExtension.iml b/contributions/.idea/modules/jaxbExtension/jaxbExtension.iml new file mode 100644 index 00000000..b87b6981 --- /dev/null +++ b/contributions/.idea/modules/jaxbExtension/jaxbExtension.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml b/contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml new file mode 100644 index 00000000..2ee0fb4f --- /dev/null +++ b/contributions/.idea/modules/jaxbExtension/jaxbExtension_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml b/contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml new file mode 100644 index 00000000..454a66dd --- /dev/null +++ b/contributions/.idea/modules/jaxbExtension/jaxbExtension_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml new file mode 100644 index 00000000..d09ec928 --- /dev/null +++ b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml new file mode 100644 index 00000000..16633dc4 --- /dev/null +++ b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml new file mode 100644 index 00000000..5b730b5c --- /dev/null +++ b/contributions/.idea/modules/jaxbSubstitution/jaxbSubstitution_test.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jdom/jdom.iml b/contributions/.idea/modules/jdom/jdom.iml new file mode 100644 index 00000000..77e0679a --- /dev/null +++ b/contributions/.idea/modules/jdom/jdom.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jdom/jdom_main.iml b/contributions/.idea/modules/jdom/jdom_main.iml new file mode 100644 index 00000000..224e7c02 --- /dev/null +++ b/contributions/.idea/modules/jdom/jdom_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jdom/jdom_test.iml b/contributions/.idea/modules/jdom/jdom_test.iml new file mode 100644 index 00000000..c1282454 --- /dev/null +++ b/contributions/.idea/modules/jdom/jdom_test.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jdomHttp/jdomHttp.iml b/contributions/.idea/modules/jdomHttp/jdomHttp.iml new file mode 100644 index 00000000..ffb222f7 --- /dev/null +++ b/contributions/.idea/modules/jdomHttp/jdomHttp.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jdomHttp/jdomHttp_main.iml b/contributions/.idea/modules/jdomHttp/jdomHttp_main.iml new file mode 100644 index 00000000..d0b04bba --- /dev/null +++ b/contributions/.idea/modules/jdomHttp/jdomHttp_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jdomHttp/jdomHttp_test.iml b/contributions/.idea/modules/jdomHttp/jdomHttp_test.iml new file mode 100644 index 00000000..c818bba8 --- /dev/null +++ b/contributions/.idea/modules/jdomHttp/jdomHttp_test.iml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jxpath/jxpath.iml b/contributions/.idea/modules/jxpath/jxpath.iml new file mode 100644 index 00000000..2eb2c9f5 --- /dev/null +++ b/contributions/.idea/modules/jxpath/jxpath.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jxpath/jxpath_main.iml b/contributions/.idea/modules/jxpath/jxpath_main.iml new file mode 100644 index 00000000..627c8619 --- /dev/null +++ b/contributions/.idea/modules/jxpath/jxpath_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/jxpath/jxpath_test.iml b/contributions/.idea/modules/jxpath/jxpath_test.iml new file mode 100644 index 00000000..c2a15c81 --- /dev/null +++ b/contributions/.idea/modules/jxpath/jxpath_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/rxjava/rxjava.iml b/contributions/.idea/modules/rxjava/rxjava.iml new file mode 100644 index 00000000..6e117664 --- /dev/null +++ b/contributions/.idea/modules/rxjava/rxjava.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/rxjava/rxjava_main.iml b/contributions/.idea/modules/rxjava/rxjava_main.iml new file mode 100644 index 00000000..411289d2 --- /dev/null +++ b/contributions/.idea/modules/rxjava/rxjava_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/rxjava/rxjava_test.iml b/contributions/.idea/modules/rxjava/rxjava_test.iml new file mode 100644 index 00000000..51d5eda4 --- /dev/null +++ b/contributions/.idea/modules/rxjava/rxjava_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/sax/sax.iml b/contributions/.idea/modules/sax/sax.iml new file mode 100644 index 00000000..8b7d628b --- /dev/null +++ b/contributions/.idea/modules/sax/sax.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/sax/sax_main.iml b/contributions/.idea/modules/sax/sax_main.iml new file mode 100644 index 00000000..ff78e7dd --- /dev/null +++ b/contributions/.idea/modules/sax/sax_main.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/sax/sax_test.iml b/contributions/.idea/modules/sax/sax_test.iml new file mode 100644 index 00000000..67a3d462 --- /dev/null +++ b/contributions/.idea/modules/sax/sax_test.iml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/xom/xom.iml b/contributions/.idea/modules/xom/xom.iml new file mode 100644 index 00000000..4159b73d --- /dev/null +++ b/contributions/.idea/modules/xom/xom.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/xom/xom_main.iml b/contributions/.idea/modules/xom/xom_main.iml new file mode 100644 index 00000000..d9404c49 --- /dev/null +++ b/contributions/.idea/modules/xom/xom_main.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/xom/xom_test.iml b/contributions/.idea/modules/xom/xom_test.iml new file mode 100644 index 00000000..67c67b58 --- /dev/null +++ b/contributions/.idea/modules/xom/xom_test.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/xpathAPI/xpathAPI.iml b/contributions/.idea/modules/xpathAPI/xpathAPI.iml new file mode 100644 index 00000000..20fa00c0 --- /dev/null +++ b/contributions/.idea/modules/xpathAPI/xpathAPI.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/xpathAPI/xpathAPI_main.iml b/contributions/.idea/modules/xpathAPI/xpathAPI_main.iml new file mode 100644 index 00000000..12c35bcb --- /dev/null +++ b/contributions/.idea/modules/xpathAPI/xpathAPI_main.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/modules/xpathAPI/xpathAPI_test.iml b/contributions/.idea/modules/xpathAPI/xpathAPI_test.iml new file mode 100644 index 00000000..bf135c90 --- /dev/null +++ b/contributions/.idea/modules/xpathAPI/xpathAPI_test.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/contributions/.idea/vcs.xml b/contributions/.idea/vcs.xml new file mode 100644 index 00000000..6c0b8635 --- /dev/null +++ b/contributions/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/contributions/.idea/workspace.xml b/contributions/.idea/workspace.xml new file mode 100644 index 00000000..398e0f4f --- /dev/null +++ b/contributions/.idea/workspace.xml @@ -0,0 +1,7043 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + DEFINITION_ORDER + + + + + + + + + + Class structureJava + + + Code maturityJava + + + Google Web Toolkit + + + JUnitJava + + + Java + + + Java 5Java language level migration aidsJava + + + Java 7Java language level migration aidsJava + + + Java 8Java language level migration aidsJava + + + Java language level migration aidsJava + + + JavadocJava + + + Numeric issuesJava + + + PerformanceJava + + + Spring + + + Spring AOPSpring + + + TestNGJava + + + Threading issuesJava + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6610,7 +6522,7 @@ - + @@ -6625,6 +6537,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + - @@ -6762,7 +6785,7 @@ - + @@ -6798,13 +6821,6 @@ - - - - - - - @@ -6881,10 +6897,12 @@ - + - + + + @@ -6896,13 +6914,10 @@ - - - - - - - + + + + @@ -6913,13 +6928,6 @@ - - - - - - - @@ -6951,6 +6959,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contributions/javaJsonJava10/README.md b/contributions/javaJsonJava10/README.md index 3e97f9ab..96c50c0d 100644 --- a/contributions/javaJsonJava10/README.md +++ b/contributions/javaJsonJava10/README.md @@ -4,19 +4,17 @@ Process JSON data with Java's javax.json API ## Characteristics: -This contribution shows a way to read .json files with the javax.json API. -In combination with this it uses Java 11 standards such as lambda expressions and streams. -The advantages of using these technologies are that the code is more compact -and iterations over collections with streams are easier. +See Contribution:dom and Contribution:jdom for a general motivation for exercising in-memory XML processing. +The present contribution simply commits to JSON instead of XML. ## Illustration: -####Code snippet 1: +####Code snippet 1 (Lambda Expression): ``` obj.keySet().forEach(key -> cut(builder, key, obj.get(key))); ``` This snippet iterates over all keys of a key set and calls the cut method on each key. -####Code snippet 2: +####Code snippet 2 (Stream API + Fluent API): ``` sum += ((JsonArray) val1) .stream() @@ -28,11 +26,22 @@ applies the total method on each item of the stream. Starting with zero, the result of the total method is recursively added to the next item in the stream. The result is the sum of all values returned by the total method. +####Code snippet 3 (Parsing JSON file): +``` + public static JsonObject parseCompany(String file) throws IOException + { + JsonReader jsonReader = Json.createReader(new FileInputStream(file)); + JsonObject jsonObject = jsonReader.readObject(); + jsonReader.close(); + return jsonObject; + } +``` +This snippet creates a JsonReader and reads a given JSON file to create a JsonObject. + ## Relationships: -Similar methods are used in the javaJsonHttp contribution. -The only difference is that URLs are used to retrieve .json files instead of -having them locally saved. +Similar methods are used in the Contribution:javaJsonHttp. +Contribution:javaJsonHttp uses HTTP-based access to the input data instead of going through the file system. ## Architecture: The contribution is built with the gradle build system so it corresponds to its standard architecture. @@ -44,10 +53,16 @@ This contribution is built using Gradle, check [this](https://docs.gradle.org/cu When using an official Plugin, just download this repo and import the contribution with your IDE. ## Metadata: - Namespace:javaJson - Namespace:Java10 - Namespace:javax.json - Namespace:Lambda and Stream API + Cotribution:javaJson + Language:Java10 + Technology:javax.json + Technology:Lambda Expression + Technology:Stream API + Technology:Fluent API + Feature:Company + Feature:Total + Feature:Cut + Feature:Serialization See also: [javax.json documentation](https://docs.oracle.com/javaee/7/api/javax/json/package-summary.html), [java stream API documentation](https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html), [java lambda expressions tutorial](https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html)