diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml index b767a3113c..87234f98cb 100644 --- a/.idea/checkstyle-idea.xml +++ b/.idea/checkstyle-idea.xml @@ -1,7 +1,7 @@ - 10.14.2 + 10.23.0 JavaOnly true diff --git a/.idea/encodings.xml b/.idea/encodings.xml index f8b10f84d4..f8feab6f94 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -7,14 +7,10 @@ - - - - - - + + @@ -29,10 +25,6 @@ - - - - @@ -45,8 +37,6 @@ - - @@ -59,12 +49,12 @@ + + - - @@ -81,16 +71,14 @@ + + - - - - @@ -104,9 +92,11 @@ - - - - + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 9c69411050..0000000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index cfbbd38e55..54c93d6811 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -1,85 +1,30 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/jpa.xml b/.idea/jpa.xml deleted file mode 100644 index 898e07a675..0000000000 --- a/.idea/jpa.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/prettier.xml b/.idea/prettier.xml deleted file mode 100644 index b0c1c68fbb..0000000000 --- a/.idea/prettier.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/README.md b/README.md index 79b8986bb6..00f01d0d19 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ Java 代码使用的是 JDK 17。 请使用下面的联系方式和我们联系: -| 联系方式名称 | 联系方式 | -|--------|------------------------------------------------------| -| 电子邮件 | [service@ossez.com](mailto:service@ossez.com) | -| QQ 或微信 | 103899765 | -| QQ 交流群 | 15186112 | -| 社区论坛 | https://www.isharkfly.com/c/computer-program/java/15 | +| 联系方式名称 | 联系方式 | +|--------|-----------------------------------------------| +| 电子邮件 | [service@ossez.com](mailto:service@ossez.com) | +| QQ 或微信 | 103899765 | +| QQ 交流群 | 15186112 | +| 社区论坛 | https://www.ossez.com/c/open-source/java/15 | # 公众平台 diff --git a/core-java-modules/core-java-8-datetime/README.md b/core-java-modules/core-java-8-datetime/README.md index 03d2a9609d..4382b27240 100644 --- a/core-java-modules/core-java-8-datetime/README.md +++ b/core-java-modules/core-java-8-datetime/README.md @@ -1,15 +1,15 @@ -## Java 8+ Date and Time API +## Java 8+ Date 和 Time API -This module contains articles about the Date and Time API introduced with Java 8. +本模块中包含的内容有关 Java 8 中使用日期和时间的 API。 -### Relevant Articles: +### 相关文章: - [Introduction to the Java 8 Date/Time API](http://www.baeldung.com/java-8-date-time-intro) - [Migrating to the New Java 8 Date Time API](http://www.baeldung.com/migrating-to-java-8-date-time-api) - [Get the Current Date and Time in Java](https://www.baeldung.com/current-date-time-and-timestamp-in-java-8) - [TemporalAdjuster in Java](http://www.baeldung.com/java-temporal-adjuster) -- [ZoneOffset in Java](https://www.baeldung.com/java-zone-offset) +- [Java 中的 ZoneOffset](https://www.isharkfly.com/t/java-zoneoffset/16803) - [Differences Between ZonedDateTime and OffsetDateTime](https://www.baeldung.com/java-zoneddatetime-offsetdatetime) -- [Period and Duration in Java](http://www.baeldung.com/java-period-duration) +- [Java 中的 Period 和 Duration](https://www.isharkfly.com/t/java-period-duration/16809) - [How to Get the Start and the End of a Day using Java](http://www.baeldung.com/java-day-start-end) - [Set the Time Zone of a Date in Java](https://www.baeldung.com/java-set-date-time-zone) - [Comparing Dates in Java](https://www.baeldung.com/java-comparing-dates) diff --git a/core-java-modules/core-java-8-datetime/pom.xml b/core-java-modules/core-java-8-datetime/pom.xml index 8cf48fd467..01094bd688 100644 --- a/core-java-modules/core-java-8-datetime/pom.xml +++ b/core-java-modules/core-java-8-datetime/pom.xml @@ -8,9 +8,9 @@ core-java-8-datetime - com.baeldung.core-java-modules + com.ossez.core-java-modules core-java-modules - 0.0.1-SNAPSHOT + 0.0.2-SNAPSHOT diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/date/comparison/DateTimeComparisonUtils.java similarity index 97% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/date/comparison/DateTimeComparisonUtils.java index 4d732df795..9aff652b2a 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/date/comparison/DateTimeComparisonUtils.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/date/comparison/DateTimeComparisonUtils.java @@ -1,4 +1,4 @@ -package com.baeldung.date.comparison; +package com.ossez.date.comparison; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/date/comparison/LegacyDateComparisonUtils.java similarity index 91% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/date/comparison/LegacyDateComparisonUtils.java index 9519bc316a..447c0d2871 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/date/comparison/LegacyDateComparisonUtils.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/date/comparison/LegacyDateComparisonUtils.java @@ -1,4 +1,4 @@ -package com.baeldung.date.comparison; +package com.ossez.date.comparison; import org.apache.commons.lang3.time.DateUtils; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/CalendarUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/CalendarUtils.java new file mode 100644 index 0000000000..d0fb2c0147 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/CalendarUtils.java @@ -0,0 +1,14 @@ +package com.ossez.datetime; + +import java.text.ParseException; +import java.util.Calendar; +import java.util.Date; + +public class CalendarUtils { + public static Calendar getPlusDays(Date date, int amount) throws ParseException { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DAY_OF_YEAR, amount); + return calendar; + } +} diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/DateUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/DateUtils.java new file mode 100644 index 0000000000..703eefb4ce --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/DateUtils.java @@ -0,0 +1,19 @@ +package com.ossez.datetime; + +import java.text.SimpleDateFormat; +import java.text.ParseException; +import java.util.Date; +public class DateUtils { + + public static Date getNow() { + return new Date(); + } + + public static Date getDate(long millis) { + return new Date(millis); + } + + public static Date getDate(String dateAsString, String pattern) throws ParseException { + return new SimpleDateFormat(pattern).parse(dateAsString); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseDateTimeFormatter.java similarity index 95% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseDateTimeFormatter.java index 13a2ba6a1a..06cac2d8a7 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseDateTimeFormatter.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseDateTimeFormatter.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseDuration.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseDuration.java similarity index 92% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseDuration.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseDuration.java index a842be8153..b998fab9b2 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseDuration.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseDuration.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.Duration; import java.time.LocalTime; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalDate.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalDate.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalDate.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalDate.java index ec8dfa2fc4..b9484dcecb 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalDate.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalDate.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.DayOfWeek; import java.time.LocalDate; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalDateTime.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalDateTime.java similarity index 96% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalDateTime.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalDateTime.java index 267a9412eb..7a9cf4e9c3 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalDateTime.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalDateTime.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDateTime; import java.time.LocalTime; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalTime.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalTime.java similarity index 96% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalTime.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalTime.java index 876516e365..c18d8ea6f6 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseLocalTime.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseLocalTime.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalTime; import java.time.temporal.ChronoUnit; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseOffsetDateTime.java similarity index 90% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseOffsetDateTime.java index ed8499d6e0..e92d7bcead 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseOffsetDateTime.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseOffsetDateTime.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDateTime; import java.time.OffsetDateTime; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UsePeriod.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UsePeriod.java similarity index 91% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UsePeriod.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UsePeriod.java index 10bc6caec3..28b094db9d 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UsePeriod.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UsePeriod.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDate; import java.time.Period; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseSimpleDateFormat.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseSimpleDateFormat.java new file mode 100644 index 0000000000..9c2793a562 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseSimpleDateFormat.java @@ -0,0 +1,15 @@ +package com.ossez.datetime; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; + +public class UseSimpleDateFormat { + + public String useFormat() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z"); + sdf.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata")); + Date date = new Date(1725437542000L); + return sdf.format(date); + } +} diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseToInstant.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseToInstant.java similarity index 93% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseToInstant.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseToInstant.java index 1fa413bbf2..af9e59a3d5 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseToInstant.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseToInstant.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDateTime; import java.time.ZoneId; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseZonedDateTime.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseZonedDateTime.java similarity index 97% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseZonedDateTime.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseZonedDateTime.java index a8948e5ce1..a011ce5656 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/datetime/UseZonedDateTime.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/UseZonedDateTime.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/DateUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/DateUtils.java new file mode 100644 index 0000000000..787e485e2b --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/DateUtils.java @@ -0,0 +1,21 @@ +package com.ossez.datetime.sql; + +import java.sql.Date; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +public class DateUtils { + + public static Date getNow() { + return new Date(System.currentTimeMillis()); + } + + public static Date getDate(String dateAsString) { + return Date.valueOf(dateAsString); + } + + public static Date getDate(String dateAsString, String pattern) throws ParseException { + java.util.Date customUtilDate = new SimpleDateFormat(pattern).parse(dateAsString); + return new Date(customUtilDate.getTime()); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/TimeUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/TimeUtils.java new file mode 100644 index 0000000000..661f8348c7 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/TimeUtils.java @@ -0,0 +1,21 @@ +package com.ossez.datetime.sql; + +import java.sql.Time; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +public class TimeUtils { + + public static Time getNow() { + return new Time(System.currentTimeMillis()); + } + + public static Time getTime(String timeAsString) { + return Time.valueOf(timeAsString); + } + + public static Time getTime(String dateAsString, String pattern) throws ParseException { + java.util.Date customUtilDate = new SimpleDateFormat(pattern).parse(dateAsString); + return new Time(customUtilDate.getTime()); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/TimestampUtils.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/TimestampUtils.java new file mode 100644 index 0000000000..e1023b83e6 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/datetime/sql/TimestampUtils.java @@ -0,0 +1,21 @@ +package com.ossez.datetime.sql; + +import java.sql.Timestamp; +import java.text.ParseException; +import java.text.SimpleDateFormat; + +public class TimestampUtils { + + public static Timestamp getNow() { + return new Timestamp(System.currentTimeMillis()); + } + + public static Timestamp getTimestamp(String timestampAsString) { + return Timestamp.valueOf(timestampAsString); + } + + public static Timestamp getTimestamp(String dateAsString, String pattern) throws ParseException { + java.util.Date customUtilDate = new SimpleDateFormat(pattern).parse(dateAsString); + return new Timestamp(customUtilDate.getTime()); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/temporaladjuster/CustomTemporalAdjuster.java similarity index 94% rename from core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java rename to core-java-modules/core-java-8-datetime/src/main/java/com/ossez/temporaladjuster/CustomTemporalAdjuster.java index 5631616ea8..63b6bbe113 100644 --- a/core-java-modules/core-java-8-datetime/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java +++ b/core-java-modules/core-java-8-datetime/src/main/java/com/ossez/temporaladjuster/CustomTemporalAdjuster.java @@ -1,4 +1,4 @@ -package com.baeldung.temporaladjuster; +package com.ossez.temporaladjuster; import java.time.DayOfWeek; import java.time.temporal.ChronoField; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/DateTimeComparisonUtilsUnitTest.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/DateTimeComparisonUtilsUnitTest.java index 0db0d1e8d7..0f4b7f6a57 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/DateTimeComparisonUtilsUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/DateTimeComparisonUtilsUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.date.comparison; +package com.ossez.date.comparison; import org.junit.jupiter.api.Test; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java similarity index 99% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java index af72f9e58a..58b142c077 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/Java8DateTimeApiGeneralComparisonsUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.date.comparison; +package com.ossez.date.comparison; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/LegacyDateComparisonUtilsUnitTest.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/LegacyDateComparisonUtilsUnitTest.java index a501cb8888..451b1c4a94 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/date/comparison/LegacyDateComparisonUtilsUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/date/comparison/LegacyDateComparisonUtilsUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.date.comparison; +package com.ossez.date.comparison; import org.junit.jupiter.api.Test; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/ConversionExample.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/ConversionExample.java similarity index 96% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/ConversionExample.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/ConversionExample.java index a543c80eaf..d68201cdd6 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/ConversionExample.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/ConversionExample.java @@ -1,4 +1,4 @@ -package com.baeldung.dateapi; +package com.ossez.dateapi; import java.time.Instant; import java.time.ZoneId; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaDurationUnitTest.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaDurationUnitTest.java index d1bd77776a..fd6742d91a 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaDurationUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.dateapi; +package com.ossez.dateapi; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java similarity index 86% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java index 6dfbbe8c24..e0cb73be48 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.dateapi; +package com.ossez.dateapi; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; @@ -8,12 +8,14 @@ import java.time.Period; import java.time.temporal.ChronoUnit; -import org.apache.log4j.Logger; + import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class JavaPeriodUnitTest { - private static final Logger LOG = Logger.getLogger(JavaPeriodUnitTest.class); + private static final Logger logger = LoggerFactory.getLogger(JavaPeriodUnitTest.class); @Test public void givenADatePlus5Days_whenRequestingPeriod_thenExpectFive() { @@ -44,7 +46,7 @@ public void whenTestPeriod_thenOk() { Period period = Period.between(startDate, endDate); - LOG.info(String.format("Years:%d months:%d days:%d", period.getYears(), period.getMonths(), period.getDays())); + logger.info("Years:{} months:{} days:{}", period.getYears(), period.getMonths(), period.getDays()); assertFalse(period.isNegative()); assertEquals(56, period.plusDays(50) diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaUtilTimeUnitTest.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaUtilTimeUnitTest.java index e4753dbd5c..ded70f36d3 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaUtilTimeUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.dateapi; +package com.ossez.dateapi; import org.junit.Test; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/CalendarUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/CalendarUtilsUnitTest.java new file mode 100644 index 0000000000..1a15ff90cc --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/CalendarUtilsUnitTest.java @@ -0,0 +1,18 @@ +package com.ossez.datetime; + +import org.junit.Test; + +import java.text.ParseException; +import java.util.Date; + +import static org.junit.Assert.assertEquals; + +public class CalendarUtilsUnitTest { + + @Test + public void givenDateAndDaysToAdd_thenCalendarIsCorrectlyReturned() throws ParseException { + Date initialDate = DateUtils.getDate("2020/01/01", "yyyy/MM/dd"); + Date expectedDate= DateUtils.getDate("2020/01/11", "yyyy/MM/dd"); + assertEquals(expectedDate, CalendarUtils.getPlusDays(initialDate, 10).getTime()); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/DateTimeZoneUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/DateTimeZoneUnitTest.java new file mode 100644 index 0000000000..7e5988b1f0 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/DateTimeZoneUnitTest.java @@ -0,0 +1,36 @@ +package com.ossez.datetime; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; + +public class DateTimeZoneUnitTest { + private static final Logger logger = LoggerFactory.getLogger(DateTimeZoneUnitTest.class); + + @Test + public void zoneId_out() { + ZoneId zoneId = ZoneId.of("Asia/Shanghai"); + logger.debug("zoneId: {}", zoneId); + } + + + @Test + public void zoneOffset_out() { + LocalDateTime now = LocalDateTime.now(); + ZoneId zone = ZoneId.of("Asia/Shanghai"); + ZoneOffset zoneOffSet = zone.getRules().getOffset(now); + logger.debug("zoneOffSet: {}", zoneOffSet); + } + + @Test + public void ZonedDateTime_out() { + ZoneId zone = ZoneId.of("Asia/Shanghai"); + ZonedDateTime date = ZonedDateTime.now(zone); + logger.debug("date: {}", date); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/DateUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/DateUtilsUnitTest.java new file mode 100644 index 0000000000..b70cd2ad6b --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/DateUtilsUnitTest.java @@ -0,0 +1,15 @@ +package com.ossez.datetime; +import org.junit.Test; + +import java.text.ParseException; +import java.util.Date; + +import static org.junit.Assert.assertEquals; +public class DateUtilsUnitTest { + + @Test + public void givenDateAndPattern_thenDateIsCorrectlyReturned() throws ParseException { + long milliseconds = new Date(2020 - 1900, 0, 1).getTime(); + assertEquals(DateUtils.getDate(milliseconds), DateUtils.getDate("2020/01/01", "yyyy/MM/dd")); + } +} diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseDateTimeFormatterUnitTest.java similarity index 97% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseDateTimeFormatterUnitTest.java index 8ca0066a0d..220bee27da 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseDateTimeFormatterUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseDateTimeFormatterUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import static org.assertj.core.api.Assertions.assertThat; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalDateTimeUnitTest.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalDateTimeUnitTest.java index 2bbee16e25..ee58a8d2da 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalDateTimeUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalDateUnitTest.java similarity index 99% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalDateUnitTest.java index fd22be9260..55aa6ada84 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalDateUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalTimeUnitTest.java similarity index 97% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalTimeUnitTest.java index afee9126f9..6a868b04ea 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseLocalTimeUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalTime; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseOffsetDateTimeUnitTest.java similarity index 95% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseOffsetDateTimeUnitTest.java index 5b58dd3848..c4da8b7559 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseOffsetDateTimeUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseOffsetDateTimeUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import static org.assertj.core.api.Assertions.assertThat; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UsePeriodUnitTest.java similarity index 96% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UsePeriodUnitTest.java index 7c030c328a..faf616f2f0 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UsePeriodUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.time.LocalDate; import java.time.Period; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseSimpleDateFormatTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseSimpleDateFormatTest.java new file mode 100644 index 0000000000..394fa72c91 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseSimpleDateFormatTest.java @@ -0,0 +1,13 @@ +package com.ossez.datetime; + +import org.junit.Assert; +import org.junit.Test; + +public class UseSimpleDateFormatTest { + private UseSimpleDateFormat useSimpleDateFormat = new UseSimpleDateFormat(); + + @Test + public void givenValues_whenUsingFactoryOf_thenLocalTime() { + Assert.assertEquals("2024-09-04 13:42:22 +0530", useSimpleDateFormat.useFormat()); + } +} diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseTimeZoneUnitTest.java similarity index 98% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseTimeZoneUnitTest.java index 7e403ddcab..04c2b45a36 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseTimeZoneUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import java.text.SimpleDateFormat; import java.time.Instant; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseToInstantUnitTest.java similarity index 97% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseToInstantUnitTest.java index cb6e804284..4b720f46f9 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseToInstantUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseToInstantUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.datetime; +package com.ossez.datetime; import static org.assertj.core.api.Assertions.assertThat; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseZonedDateTimeUnitTest.java similarity index 93% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseZonedDateTimeUnitTest.java index 0ee0f72d78..27556aed64 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/UseZonedDateTimeUnitTest.java @@ -1,16 +1,12 @@ -package com.baeldung.datetime; +package com.ossez.datetime; -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Assert; +import org.junit.Test; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; +import java.time.*; import java.util.Set; -import org.junit.Assert; -import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; public class UseZonedDateTimeUnitTest { diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/DateUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/DateUtilsUnitTest.java new file mode 100644 index 0000000000..fe3285cfa9 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/DateUtilsUnitTest.java @@ -0,0 +1,20 @@ +package com.ossez.datetime.sql; + +import static org.junit.Assert.assertEquals; + +import java.text.ParseException; + +import org.junit.Test; + +public class DateUtilsUnitTest { + + @Test(expected = IllegalArgumentException.class) + public void givenDateAsString_whenPatternIsNotRespected_thenExceptionIsThrown() { + DateUtils.getDate("2020 01 01"); + } + + @Test + public void givenDateAndPattern_thenDateIsCorrectlyReturned() throws ParseException { + assertEquals(DateUtils.getDate("2020-01-01"), DateUtils.getDate("2020/01/01", "yyyy/MM/dd")); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/TimeUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/TimeUtilsUnitTest.java new file mode 100644 index 0000000000..2801c8fb5f --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/TimeUtilsUnitTest.java @@ -0,0 +1,20 @@ +package com.ossez.datetime.sql; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +import java.text.ParseException; + +public class TimeUtilsUnitTest { + + @Test(expected = IllegalArgumentException.class) + public void givenTimeAsString_whenPatternIsNotRespected_thenExceptionIsThrown() { + TimeUtils.getTime("10 11 12"); + } + + @Test + public void givenTimeAndPattern_thenTimeIsCorrectlyReturned() throws ParseException { + assertEquals(TimeUtils.getTime("10:11:12"), TimeUtils.getTime("10 11 12", "hh mm ss")); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/TimestampUtilsUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/TimestampUtilsUnitTest.java new file mode 100644 index 0000000000..93e1acbd46 --- /dev/null +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/datetime/sql/TimestampUtilsUnitTest.java @@ -0,0 +1,20 @@ +package com.ossez.datetime.sql; + +import org.junit.Test; + +import java.text.ParseException; + +import static org.junit.Assert.assertEquals; + +public class TimestampUtilsUnitTest { + + @Test(expected = IllegalArgumentException.class) + public void givenTimestampAsString_whenPatternIsNotRespected_thenExceptionIsThrown() { + TimestampUtils.getTimestamp("2020/01/01 10:11-12"); + } + + @Test + public void givenTimestampAndPattern_thenTimestampIsCorrectlyReturned() throws ParseException { + assertEquals(TimestampUtils.getTimestamp("2020-01-01 10:11:12"), TimestampUtils.getTimestamp("2020/01/01 10:11-12", "yyyy/MM/dd hh:mm-ss")); + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/temporaladjusters/CustomTemporalAdjusterUnitTest.java similarity index 92% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/temporaladjusters/CustomTemporalAdjusterUnitTest.java index 5ea0e840a2..c1516e7e12 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/temporaladjusters/CustomTemporalAdjusterUnitTest.java @@ -1,6 +1,6 @@ -package com.baeldung.temporaladjusters; +package com.ossez.temporaladjusters; -import com.baeldung.temporaladjuster.CustomTemporalAdjuster; +import com.ossez.temporaladjuster.CustomTemporalAdjuster; import org.junit.Test; import java.time.LocalDate; diff --git a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/temporaladjusters/TemporalAdjustersUnitTest.java similarity index 92% rename from core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java rename to core-java-modules/core-java-8-datetime/src/test/java/com/ossez/temporaladjusters/TemporalAdjustersUnitTest.java index 175964dd21..b2044cbe8f 100644 --- a/core-java-modules/core-java-8-datetime/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java +++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/temporaladjusters/TemporalAdjustersUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.temporaladjusters; +package com.ossez.temporaladjusters; import java.time.DayOfWeek; import java.time.LocalDate; diff --git a/core-java-modules/core-java-io/pom.xml b/core-java-modules/core-java-io/pom.xml index 51214fce4f..a35024924f 100644 --- a/core-java-modules/core-java-io/pom.xml +++ b/core-java-modules/core-java-io/pom.xml @@ -76,7 +76,7 @@ org.slf4j log4j-over-slf4j - ${version.slf4j} + ${slf4j.version} org.projectlombok diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml index f51d0308f1..1c517d7a77 100644 --- a/core-java-modules/pom.xml +++ b/core-java-modules/pom.xml @@ -17,6 +17,7 @@ core-java core-java-8 + core-java-8-datetime core-java-9 core-java-11 diff --git a/ethereum/.idea/.gitignore b/ethereum/.idea/.gitignore new file mode 100644 index 0000000000..7d9a8e5127 --- /dev/null +++ b/ethereum/.idea/.gitignore @@ -0,0 +1,12 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Environment-dependent path to Maven home directory +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Zeppelin ignored files +/ZeppelinRemoteNotebooks/ diff --git a/ethereum/.idea/checkstyle-idea.xml b/ethereum/.idea/checkstyle-idea.xml new file mode 100644 index 0000000000..87234f98cb --- /dev/null +++ b/ethereum/.idea/checkstyle-idea.xml @@ -0,0 +1,16 @@ + + + + 10.23.0 + JavaOnly + true + + + \ No newline at end of file diff --git a/ethereum/.idea/compiler.xml b/ethereum/.idea/compiler.xml new file mode 100644 index 0000000000..6e45650062 --- /dev/null +++ b/ethereum/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/ethereum/.idea/encodings.xml b/ethereum/.idea/encodings.xml new file mode 100644 index 0000000000..aa00ffab78 --- /dev/null +++ b/ethereum/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/ethereum/.idea/jarRepositories.xml b/ethereum/.idea/jarRepositories.xml new file mode 100644 index 0000000000..5f0d631852 --- /dev/null +++ b/ethereum/.idea/jarRepositories.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ethereum/.idea/misc.xml b/ethereum/.idea/misc.xml new file mode 100644 index 0000000000..28488fdb82 --- /dev/null +++ b/ethereum/.idea/misc.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ethereum/.idea/vcs.xml b/ethereum/.idea/vcs.xml new file mode 100644 index 0000000000..6c0b863585 --- /dev/null +++ b/ethereum/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ethereum/pom.xml b/ethereum/pom.xml index 52f1d32d41..b1986e46fa 100644 --- a/ethereum/pom.xml +++ b/ethereum/pom.xml @@ -3,15 +3,14 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung.ethereum + com.ossez.ethereum ethereum ethereum - com.baeldung - parent-spring-5 - 0.0.1-SNAPSHOT - ../parent-spring-5 + com.ossez + parent-modules + 0.0.2-SNAPSHOT @@ -76,14 +75,15 @@ - javax.servlet - jstl - ${jstl.version} + jakarta.servlet.jsp.jstl + jakarta.servlet.jsp.jstl-api + 3.0.2 - javax.servlet - javax.servlet-api - ${javax.servlet-api.version} + jakarta.servlet + jakarta.servlet-api + 6.1.0 + provided javax.servlet.jsp.jstl @@ -91,9 +91,10 @@ ${jstl.version} - javax.servlet.jsp - javax.servlet.jsp-api - ${javax.servlet.jsp-api.version} + jakarta.servlet.jsp + jakarta.servlet.jsp-api + 4.0.0 + provided @@ -113,19 +114,19 @@ org.springframework spring-context - ${spring.version} + 7.0.0-M4 org.springframework spring-test - ${spring.version} + 7.0.0-M4 test org.mockito mockito-core - ${mockito.version} + 5.17.0 org.hamcrest @@ -170,15 +171,16 @@ - - Ethereum - Ethereum - https://dl.bintray.com/ethereum/maven/ - + + + + + - 1.5.0-RELEASE + 7.0.0-M4 + 1.9.0-RELEASE 3.3.1 1.5.6.RELEASE 2.8.0 diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/ApplicationMain.java b/ethereum/src/main/java/com/isharkfly/ethereumj/ApplicationMain.java similarity index 83% rename from ethereum/src/main/java/com/baeldung/ethereumj/ApplicationMain.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/ApplicationMain.java index 4735548bd1..a77964a07d 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/ApplicationMain.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/ApplicationMain.java @@ -1,4 +1,4 @@ -package com.baeldung.ethereumj; +package com.isharkfly.ethereumj; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -8,7 +8,7 @@ @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) @SpringBootApplication -public class ApplicationMain extends SpringBootServletInitializer { +public abstract class ApplicationMain extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(ApplicationMain.class, args); diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/Constants.java b/ethereum/src/main/java/com/isharkfly/ethereumj/Constants.java similarity index 87% rename from ethereum/src/main/java/com/baeldung/ethereumj/Constants.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/Constants.java index 919958be35..da230ac0a8 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/Constants.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/Constants.java @@ -1,4 +1,4 @@ -package com.baeldung.ethereumj; +package com.isharkfly.ethereumj; public class Constants { diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/beans/EthBean.java b/ethereum/src/main/java/com/isharkfly/ethereumj/beans/EthBean.java similarity index 86% rename from ethereum/src/main/java/com/baeldung/ethereumj/beans/EthBean.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/beans/EthBean.java index 7680473c6e..47783803d2 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/beans/EthBean.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/beans/EthBean.java @@ -1,6 +1,6 @@ -package com.baeldung.ethereumj.beans; +package com.isharkfly.ethereumj.beans; -import com.baeldung.ethereumj.listeners.EthListener; +import com.isharkfly.ethereumj.listeners.EthListener; import org.ethereum.core.Block; import org.ethereum.facade.Ethereum; import org.ethereum.facade.EthereumFactory; diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/config/EthConfig.java b/ethereum/src/main/java/com/isharkfly/ethereumj/config/EthConfig.java similarity index 81% rename from ethereum/src/main/java/com/baeldung/ethereumj/config/EthConfig.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/config/EthConfig.java index 8180cc3ce2..c9e8b3782b 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/config/EthConfig.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/config/EthConfig.java @@ -1,6 +1,6 @@ -package com.baeldung.ethereumj.config; +package com.isharkfly.ethereumj.config; -import com.baeldung.ethereumj.beans.EthBean; +import com.isharkfly.ethereumj.beans.EthBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/controllers/EthController.java b/ethereum/src/main/java/com/isharkfly/ethereumj/controllers/EthController.java similarity index 86% rename from ethereum/src/main/java/com/baeldung/ethereumj/controllers/EthController.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/controllers/EthController.java index 8240d60e30..64c3af49a3 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/controllers/EthController.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/controllers/EthController.java @@ -1,8 +1,8 @@ -package com.baeldung.ethereumj.controllers; +package com.isharkfly.ethereumj.controllers; -import com.baeldung.ethereumj.Constants; -import com.baeldung.ethereumj.beans.EthBean; -import com.baeldung.ethereumj.transfer.EthResponse; +import com.isharkfly.ethereumj.Constants; +import com.isharkfly.ethereumj.beans.EthBean; +import com.isharkfly.ethereumj.transfer.EthResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/listeners/EthListener.java b/ethereum/src/main/java/com/isharkfly/ethereumj/listeners/EthListener.java similarity index 98% rename from ethereum/src/main/java/com/baeldung/ethereumj/listeners/EthListener.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/listeners/EthListener.java index c3a5143fdb..e53ea5d367 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/listeners/EthListener.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/listeners/EthListener.java @@ -1,4 +1,4 @@ -package com.baeldung.ethereumj.listeners; +package com.isharkfly.ethereumj.listeners; import org.ethereum.core.Block; import org.ethereum.core.TransactionReceipt; diff --git a/ethereum/src/main/java/com/baeldung/ethereumj/transfer/EthResponse.java b/ethereum/src/main/java/com/isharkfly/ethereumj/transfer/EthResponse.java similarity index 83% rename from ethereum/src/main/java/com/baeldung/ethereumj/transfer/EthResponse.java rename to ethereum/src/main/java/com/isharkfly/ethereumj/transfer/EthResponse.java index e8cfb3113b..5c352dd99b 100644 --- a/ethereum/src/main/java/com/baeldung/ethereumj/transfer/EthResponse.java +++ b/ethereum/src/main/java/com/isharkfly/ethereumj/transfer/EthResponse.java @@ -1,4 +1,4 @@ -package com.baeldung.ethereumj.transfer; +package com.isharkfly.ethereumj.transfer; public class EthResponse { diff --git a/ethereum/src/main/java/com/baeldung/web3j/Template.java b/ethereum/src/main/java/com/isharkfly/web3j/Template.java similarity index 94% rename from ethereum/src/main/java/com/baeldung/web3j/Template.java rename to ethereum/src/main/java/com/isharkfly/web3j/Template.java index 7d4867bf21..f9c1e80ad0 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/Template.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/Template.java @@ -1,6 +1,6 @@ -package com.baeldung.web3j; +package com.isharkfly.web3j; -import com.baeldung.web3j.contracts.Greeting; +import com.isharkfly.web3j.contracts.Greeting; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.web3j.crypto.Credentials; diff --git a/ethereum/src/main/java/com/baeldung/web3j/config/AppConfig.java b/ethereum/src/main/java/com/isharkfly/web3j/config/AppConfig.java similarity index 96% rename from ethereum/src/main/java/com/baeldung/web3j/config/AppConfig.java rename to ethereum/src/main/java/com/isharkfly/web3j/config/AppConfig.java index 75ef948f7a..7d17bd0f5e 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/config/AppConfig.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/config/AppConfig.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.config; +package com.isharkfly.web3j.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -18,7 +18,7 @@ @Configuration @EnableWebMvc @EnableAsync -@ComponentScan("com.baeldung.web3j") +@ComponentScan("com.isharkfly.web3j") public class AppConfig implements WebMvcConfigurer { public void addViewControllers(ViewControllerRegistry registry) { diff --git a/ethereum/src/main/java/com/baeldung/web3j/config/WebAppInitializer.java b/ethereum/src/main/java/com/isharkfly/web3j/config/WebAppInitializer.java similarity index 94% rename from ethereum/src/main/java/com/baeldung/web3j/config/WebAppInitializer.java rename to ethereum/src/main/java/com/isharkfly/web3j/config/WebAppInitializer.java index 8a9a8cf8c1..7e22633830 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/config/WebAppInitializer.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/config/WebAppInitializer.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.config; +package com.isharkfly.web3j.config; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; diff --git a/ethereum/src/main/java/com/baeldung/web3j/constants/Constants.java b/ethereum/src/main/java/com/isharkfly/web3j/constants/Constants.java similarity index 94% rename from ethereum/src/main/java/com/baeldung/web3j/constants/Constants.java rename to ethereum/src/main/java/com/isharkfly/web3j/constants/Constants.java index 005e4263cd..09c17f4ae2 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/constants/Constants.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/constants/Constants.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.constants; +package com.isharkfly.web3j.constants; public class Constants { diff --git a/ethereum/src/main/java/com/baeldung/web3j/contracts/Example.java b/ethereum/src/main/java/com/isharkfly/web3j/contracts/Example.java similarity index 98% rename from ethereum/src/main/java/com/baeldung/web3j/contracts/Example.java rename to ethereum/src/main/java/com/isharkfly/web3j/contracts/Example.java index 6909ca3e0c..75922829c9 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/contracts/Example.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/contracts/Example.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.contracts; +package com.isharkfly.web3j.contracts; import java.math.BigInteger; import java.util.Arrays; diff --git a/ethereum/src/main/java/com/baeldung/web3j/contracts/Greeting.java b/ethereum/src/main/java/com/isharkfly/web3j/contracts/Greeting.java similarity index 99% rename from ethereum/src/main/java/com/baeldung/web3j/contracts/Greeting.java rename to ethereum/src/main/java/com/isharkfly/web3j/contracts/Greeting.java index f4f4f90760..59b94b0a9c 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/contracts/Greeting.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/contracts/Greeting.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.contracts; +package com.isharkfly.web3j.contracts; import java.math.BigInteger; import java.util.Arrays; diff --git a/ethereum/src/main/java/com/baeldung/web3j/controllers/EthereumRestController.java b/ethereum/src/main/java/com/isharkfly/web3j/controllers/EthereumRestController.java similarity index 92% rename from ethereum/src/main/java/com/baeldung/web3j/controllers/EthereumRestController.java rename to ethereum/src/main/java/com/isharkfly/web3j/controllers/EthereumRestController.java index 3238a19ff9..f65e01768a 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/controllers/EthereumRestController.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/controllers/EthereumRestController.java @@ -1,9 +1,9 @@ -package com.baeldung.web3j.controllers; +package com.isharkfly.web3j.controllers; -import com.baeldung.web3j.constants.Constants; -import com.baeldung.web3j.helpers.TimeHelper; -import com.baeldung.web3j.services.Web3Service; -import com.baeldung.web3j.transfers.ResponseTransfer; +import com.isharkfly.web3j.constants.Constants; +import com.isharkfly.web3j.helpers.TimeHelper; +import com.isharkfly.web3j.services.Web3Service; +import com.isharkfly.web3j.transfers.ResponseTransfer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -17,7 +17,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.Future; -import static com.baeldung.web3j.constants.Constants.GENERIC_EXCEPTION; +import static com.isharkfly.web3j.constants.Constants.GENERIC_EXCEPTION; @RestController public class EthereumRestController { diff --git a/ethereum/src/main/java/com/baeldung/web3j/helpers/TimeHelper.java b/ethereum/src/main/java/com/isharkfly/web3j/helpers/TimeHelper.java similarity index 88% rename from ethereum/src/main/java/com/baeldung/web3j/helpers/TimeHelper.java rename to ethereum/src/main/java/com/isharkfly/web3j/helpers/TimeHelper.java index 360fe088ba..7bdef5b776 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/helpers/TimeHelper.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/helpers/TimeHelper.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.helpers; +package com.isharkfly.web3j.helpers; import java.time.Duration; import java.time.Instant; diff --git a/ethereum/src/main/java/com/baeldung/web3j/services/Web3Service.java b/ethereum/src/main/java/com/isharkfly/web3j/services/Web3Service.java similarity index 93% rename from ethereum/src/main/java/com/baeldung/web3j/services/Web3Service.java rename to ethereum/src/main/java/com/isharkfly/web3j/services/Web3Service.java index 4b7d01e52b..441e74a520 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/services/Web3Service.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/services/Web3Service.java @@ -1,6 +1,6 @@ -package com.baeldung.web3j.services; +package com.isharkfly.web3j.services; -import com.baeldung.web3j.contracts.Example; +import com.isharkfly.web3j.contracts.Example; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.web3j.abi.FunctionEncoder; @@ -22,11 +22,10 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.CompletableFuture; -import static com.baeldung.web3j.constants.Constants.DEFAULT_ADDRESS; -import static com.baeldung.web3j.constants.Constants.GENERIC_EXCEPTION; -import static com.baeldung.web3j.constants.Constants.PLEASE_SUPPLY_REAL_DATA; +import static com.isharkfly.web3j.constants.Constants.DEFAULT_ADDRESS; +import static com.isharkfly.web3j.constants.Constants.GENERIC_EXCEPTION; +import static com.isharkfly.web3j.constants.Constants.PLEASE_SUPPLY_REAL_DATA; @Service public class Web3Service { diff --git a/ethereum/src/main/java/com/baeldung/web3j/transfers/ResponseTransfer.java b/ethereum/src/main/java/com/isharkfly/web3j/transfers/ResponseTransfer.java similarity index 92% rename from ethereum/src/main/java/com/baeldung/web3j/transfers/ResponseTransfer.java rename to ethereum/src/main/java/com/isharkfly/web3j/transfers/ResponseTransfer.java index 9c5d1799ff..c8fb4c5ddc 100644 --- a/ethereum/src/main/java/com/baeldung/web3j/transfers/ResponseTransfer.java +++ b/ethereum/src/main/java/com/isharkfly/web3j/transfers/ResponseTransfer.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.transfers; +package com.isharkfly.web3j.transfers; import java.time.Duration; diff --git a/ethereum/src/test/java/com/baeldung/ethereumj/controllers/EthControllerLiveTest.java b/ethereum/src/test/java/com/isharkfly/ethereumj/controllers/EthControllerLiveTest.java similarity index 93% rename from ethereum/src/test/java/com/baeldung/ethereumj/controllers/EthControllerLiveTest.java rename to ethereum/src/test/java/com/isharkfly/ethereumj/controllers/EthControllerLiveTest.java index 7676b99224..f6fae941f1 100644 --- a/ethereum/src/test/java/com/baeldung/ethereumj/controllers/EthControllerLiveTest.java +++ b/ethereum/src/test/java/com/isharkfly/ethereumj/controllers/EthControllerLiveTest.java @@ -1,4 +1,4 @@ -package com.baeldung.ethereumj.controllers; +package com.isharkfly.ethereumj.controllers; import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertNotNull; @@ -17,9 +17,9 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.client.RestTemplate; -import com.baeldung.ethereumj.ApplicationMain; -import com.baeldung.ethereumj.Constants; -import com.baeldung.ethereumj.transfer.EthResponse; +import com.isharkfly.ethereumj.ApplicationMain; +import com.isharkfly.ethereumj.Constants; +import com.isharkfly.ethereumj.transfer.EthResponse; @RunWith(SpringRunner.class) @SpringBootTest(classes = ApplicationMain.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT) diff --git a/ethereum/src/test/java/com/baeldung/web3j/controllers/EthereumRestControllerIntegrationTest.java b/ethereum/src/test/java/com/isharkfly/web3j/controllers/EthereumRestControllerIntegrationTest.java similarity index 94% rename from ethereum/src/test/java/com/baeldung/web3j/controllers/EthereumRestControllerIntegrationTest.java rename to ethereum/src/test/java/com/isharkfly/web3j/controllers/EthereumRestControllerIntegrationTest.java index ee78ab17c2..12b94a2441 100644 --- a/ethereum/src/test/java/com/baeldung/web3j/controllers/EthereumRestControllerIntegrationTest.java +++ b/ethereum/src/test/java/com/isharkfly/web3j/controllers/EthereumRestControllerIntegrationTest.java @@ -1,8 +1,8 @@ -package com.baeldung.web3j.controllers; +package com.isharkfly.web3j.controllers; -import com.baeldung.web3j.config.AppConfig; -import com.baeldung.web3j.constants.Constants; +import com.isharkfly.web3j.config.AppConfig; +import com.isharkfly.web3j.constants.Constants; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/ethereum/src/test/java/com/baeldung/web3j/controllers/EthereumRestControllerUnitTest.java b/ethereum/src/test/java/com/isharkfly/web3j/controllers/EthereumRestControllerUnitTest.java similarity index 93% rename from ethereum/src/test/java/com/baeldung/web3j/controllers/EthereumRestControllerUnitTest.java rename to ethereum/src/test/java/com/isharkfly/web3j/controllers/EthereumRestControllerUnitTest.java index 4ceed870f8..dc2b1cdedc 100644 --- a/ethereum/src/test/java/com/baeldung/web3j/controllers/EthereumRestControllerUnitTest.java +++ b/ethereum/src/test/java/com/isharkfly/web3j/controllers/EthereumRestControllerUnitTest.java @@ -1,7 +1,7 @@ -package com.baeldung.web3j.controllers; +package com.isharkfly.web3j.controllers; -import com.baeldung.web3j.constants.Constants; -import com.baeldung.web3j.services.Web3Service; +import com.isharkfly.web3j.constants.Constants; +import com.isharkfly.web3j.services.Web3Service; import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/ethereum/src/test/java/com/baeldung/web3j/services/EthereumContractUnitTest.java b/ethereum/src/test/java/com/isharkfly/web3j/services/EthereumContractUnitTest.java similarity index 93% rename from ethereum/src/test/java/com/baeldung/web3j/services/EthereumContractUnitTest.java rename to ethereum/src/test/java/com/isharkfly/web3j/services/EthereumContractUnitTest.java index ff02659bd5..30028ca27b 100644 --- a/ethereum/src/test/java/com/baeldung/web3j/services/EthereumContractUnitTest.java +++ b/ethereum/src/test/java/com/isharkfly/web3j/services/EthereumContractUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.web3j.services; +package com.isharkfly.web3j.services; import org.junit.After; import org.junit.Before; diff --git a/jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java b/jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java index 77940df60b..4ae4b2edc1 100644 --- a/jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java +++ b/jackson-simple/src/test/java/com/baeldung/jackson/objectmapper/JavaReadWriteJsonExampleUnitTest.java @@ -7,6 +7,7 @@ import static org.junit.Assert.assertThat; import java.io.File; +import java.net.URI; import java.net.URL; import java.util.List; import java.util.Map; @@ -103,7 +104,7 @@ public void wheReadFromFile_thanCorrect() throws Exception { @Test public void wheReadFromUrl_thanCorrect() throws Exception { - URL resource = new URL("file:src/test/resources/json_car.json"); + URL resource = new URI("file:src/test/resources/json_car.json").toURL(); ObjectMapper objectMapper = new ObjectMapper(); Car fromFile = objectMapper.readValue(resource, Car.class); diff --git a/libraries-jackson/jackson-conversions/pom.xml b/libraries-jackson/jackson-conversions/pom.xml index 1953d42b73..d84b60dc15 100644 --- a/libraries-jackson/jackson-conversions/pom.xml +++ b/libraries-jackson/jackson-conversions/pom.xml @@ -6,6 +6,10 @@ jackson-conversions 0.0.1-SNAPSHOT jackson-conversions + + 17 + 17 + com.ossez diff --git a/libraries-jackson/jackson/src/test/java/com/ossez/jackson/optionalwithjackson/OptionalTypeUnitTest.java b/libraries-jackson/jackson/src/test/java/com/ossez/jackson/optionalwithjackson/OptionalTypeUnitTest.java index 6cd6590fd8..89611a74d0 100644 --- a/libraries-jackson/jackson/src/test/java/com/ossez/jackson/optionalwithjackson/OptionalTypeUnitTest.java +++ b/libraries-jackson/jackson/src/test/java/com/ossez/jackson/optionalwithjackson/OptionalTypeUnitTest.java @@ -1,23 +1,19 @@ package com.ossez.jackson.optionalwithjackson; import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; - import static io.restassured.path.json.JsonPath.from; - import java.io.IOException; import java.util.Optional; - import static org.assertj.core.api.Assertions.assertThat; - import org.junit.Test; public class OptionalTypeUnitTest { ObjectMapper mapper = new ObjectMapper().registerModule(new Jdk8Module()); + @Test public void givenPresentOptional_whenSerializing_thenValueInJson() throws JsonProcessingException { String subTitle = "The Parish Boy's Progress"; @@ -30,12 +26,6 @@ public void givenPresentOptional_whenSerializing_thenValueInJson() throws JsonPr assertThat(from(result).getString("subTitle")).isEqualTo(subTitle); } - @Test - public void givenFieldWithValue_whenDeserializing_thenThrowExceptio() throws JsonProcessingException { - String bookJson = "{ \"title\": \"Oliver Twist\", \"subTitle\": \"foo\" }"; - Book result = mapper.readValue(bookJson, Book.class); - } - @Test public void givenEmptyOptional_whenSerializing_thenNullValue() throws JsonProcessingException { diff --git a/libraries-jackson/pom.xml b/libraries-jackson/pom.xml index 2c02e050bd..f9680e1a91 100644 --- a/libraries-jackson/pom.xml +++ b/libraries-jackson/pom.xml @@ -16,7 +16,7 @@ jackson - jackson-annotations + jackson-conversions jackson-conversions-2 jackson-custom-conversions diff --git a/lucene/pom.xml b/lucene/pom.xml index 0f08abaee9..54faac61fc 100644 --- a/lucene/pom.xml +++ b/lucene/pom.xml @@ -9,9 +9,9 @@ An Apache Lucene demo application - com.baeldung + com.ossez parent-modules - 1.0.0-SNAPSHOT + 0.0.2-SNAPSHOT @@ -33,7 +33,7 @@ - 7.4.0 + 8.0.0 \ No newline at end of file diff --git a/lucene/src/main/java/com/baeldung/lucene/MyCustomAnalyzer.java b/lucene/src/main/java/com/baeldung/lucene/MyCustomAnalyzer.java index 609e2d09d3..097fde5e2e 100644 --- a/lucene/src/main/java/com/baeldung/lucene/MyCustomAnalyzer.java +++ b/lucene/src/main/java/com/baeldung/lucene/MyCustomAnalyzer.java @@ -4,10 +4,10 @@ import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; +import org.apache.lucene.analysis.en.EnglishAnalyzer; import org.apache.lucene.analysis.en.PorterStemFilter; import org.apache.lucene.analysis.miscellaneous.CapitalizationFilter; -import org.apache.lucene.analysis.standard.StandardAnalyzer; -import org.apache.lucene.analysis.standard.StandardFilter; +import org.apache.lucene.analysis.standard.ClassicFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; public class MyCustomAnalyzer extends Analyzer{ @@ -15,9 +15,9 @@ public class MyCustomAnalyzer extends Analyzer{ @Override protected TokenStreamComponents createComponents(String fieldName) { final StandardTokenizer src = new StandardTokenizer(); - TokenStream result = new StandardFilter(src); + TokenStream result = new ClassicFilter(src); result = new LowerCaseFilter(result); - result = new StopFilter(result, StandardAnalyzer.STOP_WORDS_SET); + result = new StopFilter(result, EnglishAnalyzer.ENGLISH_STOP_WORDS_SET); result = new PorterStemFilter(result); result = new CapitalizationFilter(result); return new TokenStreamComponents(src, result); diff --git a/lucene/src/test/java/com/baeldung/lucene/LuceneAnalyzerIntegrationTest.java b/lucene/src/test/java/com/baeldung/lucene/LuceneAnalyzerIntegrationTest.java index 28a87bba8c..3e4273d4bf 100644 --- a/lucene/src/test/java/com/baeldung/lucene/LuceneAnalyzerIntegrationTest.java +++ b/lucene/src/test/java/com/baeldung/lucene/LuceneAnalyzerIntegrationTest.java @@ -42,7 +42,7 @@ public void whenUseStandardAnalyzer_thenAnalyzed() throws IOException { @Test public void whenUseStopAnalyzer_thenAnalyzed() throws IOException { - List result = analyze(SAMPLE_TEXT, new StopAnalyzer()); + List result = analyze(SAMPLE_TEXT, new StopAnalyzer(EnglishAnalyzer.ENGLISH_STOP_WORDS_SET)); assertThat(result, contains("baeldung", "com", "lucene", "analyzers", "test")); } diff --git a/persistence-modules/activejdbc/pom.xml b/persistence-modules/activejdbc/pom.xml index e71ca17755..3b96608957 100644 --- a/persistence-modules/activejdbc/pom.xml +++ b/persistence-modules/activejdbc/pom.xml @@ -34,7 +34,7 @@ org.slf4j slf4j-simple - ${version.slf4j} + ${slf4j.version} diff --git a/pom.xml b/pom.xml index c0ee250fd5..e2d58f5205 100644 --- a/pom.xml +++ b/pom.xml @@ -41,9 +41,12 @@ apache core-java-modules + ethereum + image-compressing image-processing libraries-jackson + lucene parent-boot-2 @@ -51,7 +54,9 @@ persistence-modules testing-modules toolkits - + xml + xml-2 + xstream @@ -61,9 +66,9 @@ UTF-8 - 1.7.36 + 2.0.0 1.2.17 - 2.0.7 + 2.0.17 2.18.0 @@ -75,8 +80,6 @@ 1.4 2.11.0 - - 31.1-jre 1.18.28 @@ -84,6 +87,7 @@ 1.2.0 3.0.3 5.0.9 + 1.2 3.2.0-M2 @@ -131,6 +135,8 @@ 3.13.0 3.6.3 3.4.0 + 17 + 17 @@ -139,6 +145,12 @@ + + org.slf4j + slf4j-api + ${slf4j.version} + + ch.qos.logback logback-classic diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Dog.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Dog.java deleted file mode 100644 index 6c049e1a10..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Dog.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.baeldung.assertj; - -public class Dog { - private String name; - private Float weight; - - public Dog(String name, Float weight) { - this.name = name; - this.weight = weight; - } - - public String getName() { - return name; - } - - public Float getWeight() { - return weight; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Member.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Member.java deleted file mode 100644 index baf3c2df52..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Member.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.baeldung.assertj; - -public class Member { - private String name; - private int age; - - public Member(String name, int age) { - this.name = name; - this.age = age; - } - - public String getName() { - return name; - } - - public int getAge() { - return age; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Person.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Person.java deleted file mode 100644 index 09b16b4f5b..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/Person.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.baeldung.assertj; - -public class Person { - private String name; - private Integer age; - - public Person(String name, Integer age) { - this.name = name; - this.age = age; - } - - public String getName() { - return name; - } - - public Integer getAge() { - return age; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/custom/Person.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/custom/Person.java deleted file mode 100644 index 5506a56b51..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/custom/Person.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.baeldung.assertj.custom; - -import java.util.ArrayList; -import java.util.List; - -public class Person { - private String fullName; - private int age; - private List nicknames; - - public Person(String fullName, int age) { - this.fullName = fullName; - this.age = age; - this.nicknames = new ArrayList<>(); - } - - public void addNickname(String nickname) { - nicknames.add(nickname); - } - - public String getFullName() { - return fullName; - } - - public int getAge() { - return age; - } - - public List getNicknames() { - return nicknames; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/exceptions/CityNotFoundException.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/exceptions/CityNotFoundException.java deleted file mode 100644 index e233ee737a..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/exceptions/CityNotFoundException.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.baeldung.assertj.exceptions; - -public class CityNotFoundException extends RuntimeException { - - private String city; - private String message; - - CityNotFoundException(String city, String message) { - this.city = city; - this.message = message; - } - - public String getCity() { - return city; - } - - @Override - public String getMessage() { - return message; - } - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/exceptions/CityUtils.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/exceptions/CityUtils.java deleted file mode 100644 index 9e9544a2a1..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/exceptions/CityUtils.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.baeldung.assertj.exceptions; - -import java.util.Arrays; -import java.util.List; - -public final class CityUtils { - - private static final List CITIES = Arrays.asList("Tamassint", "London", "Madrid", "New york"); - - public static String search(String searchedCity) { - return CITIES.stream() - .filter(searchedCity::equals) - .findFirst() - .orElseThrow(() -> new CityNotFoundException(searchedCity, "The specified city is not found")); - } - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/Address.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/Address.java deleted file mode 100644 index aa6ee85351..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/Address.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.baeldung.assertj.extracting; - -class Address { - private String street; - private String city; - private ZipCode zipCode; - - Address(String street, String city, ZipCode zipCode) { - this.street = street; - this.city = city; - this.zipCode = zipCode; - } - - public String getStreet() { - return street; - } - - public String getCity() { - return city; - } - - public ZipCode getZipCode() { - return zipCode; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/Person.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/Person.java deleted file mode 100644 index b8a987cf09..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/Person.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.baeldung.assertj.extracting; - -class Person { - private String firstName; - private String lastName; - private Address address; - - Person(String firstName, String lastName, Address address) { - this.firstName = firstName; - this.lastName = lastName; - this.address = address; - } - - public String getFirstName() { - return firstName; - } - - public String getLastName() { - return lastName; - } - - public Address getAddress() { - return address; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/ZipCode.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/ZipCode.java deleted file mode 100644 index 1523ef7144..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/assertj/extracting/ZipCode.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.baeldung.assertj.extracting; - -class ZipCode { - private long zipcode; - - ZipCode(long zipcode) { - this.zipcode = zipcode; - } - - public long getZipcode() { - return zipcode; - } -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Animal.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Animal.java deleted file mode 100644 index efb4c62bde..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Animal.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.baeldung.jspec; - -public abstract class Animal { - - protected String name; - - public Animal(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - Animal other = (Animal) obj; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - return true; - } - - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Cage.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Cage.java deleted file mode 100644 index 73ea343600..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Cage.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.baeldung.jspec; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -public class Cage { - - private Set animals = new HashSet<>(); - - public void put(Animal animal) { - animals.add(animal); - } - - public void put(Animal... animals) { - this.animals.addAll(Arrays.asList(animals)); - } - - public Animal release(Animal animal) { - return animals.remove(animal) ? animal : null; - } - - public void open() { - animals.clear(); - } - - public boolean hasAnimals() { - return animals.size() > 0; - } - - public boolean isEmpty() { - return animals.isEmpty(); - } - - public Set getAnimals() { - return this.animals; - } - - public int size() { - return animals.size(); - } - - @Override - public String toString() { - return "Cage [animals=" + animals + "]"; - } - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Cat.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Cat.java deleted file mode 100644 index 5021a1481c..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Cat.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.baeldung.jspec; - -public class Cat extends Animal { - - public Cat(String name) { - super(name); - } - - @Override - public String toString() { - return "Cat [name=" + name + "]"; - } - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Dog.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Dog.java deleted file mode 100644 index 43626941e3..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/jspec/Dog.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.baeldung.jspec; - -public class Dog extends Animal { - - public Dog(String name) { - super(name); - } - - @Override - public String toString() { - return "Dog [name=" + name + "]"; - } - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/truth/User.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/truth/User.java deleted file mode 100644 index 2b5ffde19f..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/truth/User.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.baeldung.truth; - -import java.util.Arrays; -import java.util.List; -import java.util.Objects; - -public class User implements Comparable { - private String name = "John Doe"; - private List emails = Arrays.asList("contact@baeldung.com", "staff@baeldung.com"); - - public User() { - } - - public User(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getEmails() { - return emails; - } - - public void setEmails(List emails) { - this.emails = emails; - } - - @Override - public int hashCode() { - int hash = 5; - hash = 37 * hash + Objects.hashCode(this.name); - return hash; - } - - @Override - public boolean equals(Object obj) { - if (obj == null || getClass() != obj.getClass()) { - return false; - } - - final User other = (User) obj; - return Objects.equals(this.name, other.name); - } - - @Override - public int compareTo(User o) { - return this.getName() - .compareToIgnoreCase(o.getName()); - } - -} diff --git a/testing-modules/assertion-libraries/src/main/java/com/baeldung/truth/UserSubject.java b/testing-modules/assertion-libraries/src/main/java/com/baeldung/truth/UserSubject.java deleted file mode 100644 index b478043ad8..0000000000 --- a/testing-modules/assertion-libraries/src/main/java/com/baeldung/truth/UserSubject.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.baeldung.truth; - -import com.google.common.truth.ComparableSubject; -import com.google.common.truth.FailureStrategy; -import com.google.common.truth.IterableSubject; -import com.google.common.truth.SubjectFactory; -import com.google.common.truth.Truth; - -public class UserSubject extends ComparableSubject { - - private UserSubject(FailureStrategy failureStrategy, User target) { - super(failureStrategy, target); - } - - private static final SubjectFactory USER_SUBJECT_FACTORY = new SubjectFactory() { - @Override - public UserSubject getSubject(FailureStrategy failureStrategy, User target) { - return new UserSubject(failureStrategy, target); - } - }; - - public static UserSubject assertThat(User user) { - return Truth.assertAbout(USER_SUBJECT_FACTORY) - .that(user); - } - - // Our API begins here - public void hasName(String name) { - if (!actual().getName() - .equals(name)) { - fail("has name", name); - } - } - - public void hasNameIgnoringCase(String name) { - if (!actual().getName() - .equalsIgnoreCase(name)) { - fail("has name ignoring case", name); - } - } - - public IterableSubject emails() { - return Truth.assertThat(actual().getEmails()); - } - -} \ No newline at end of file diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJConditionUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJConditionUnitTest.java deleted file mode 100644 index 4ed7fc3ee0..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJConditionUnitTest.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.baeldung.assertj; - -import static org.assertj.core.api.Assertions.allOf; -import static org.assertj.core.api.Assertions.anyOf; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.not; -import static org.junit.Assert.fail; - -import java.util.ArrayList; -import java.util.List; - -import org.assertj.core.api.Condition; -import org.junit.Test; - -public class AssertJConditionUnitTest { - private Condition senior = new Condition<>(m -> m.getAge() >= 60, "senior"); - private Condition nameJohn = new Condition<>(m -> m.getName().equalsIgnoreCase("John"), "name John"); - - @Test - public void whenUsingMemberAgeCondition_thenCorrect() { - Member member = new Member("John", 65); - assertThat(member).is(senior); - - try { - assertThat(member).isNot(senior); - fail(); - } catch (AssertionError e) { - assertThat(e).hasMessageContaining("not to be senior"); - } - } - - @Test - public void whenUsingMemberNameCondition_thenCorrect() { - Member member = new Member("Jane", 60); - assertThat(member).doesNotHave(nameJohn); - - try { - assertThat(member).has(nameJohn); - fail(); - } catch (AssertionError e) { - assertThat(e).hasMessageContaining("name John"); - } - } - - @Test - public void whenCollectionConditionsAreSatisfied_thenCorrect() { - List members = new ArrayList<>(); - members.add(new Member("Alice", 50)); - members.add(new Member("Bob", 60)); - - assertThat(members).haveExactly(1, senior); - assertThat(members).doNotHave(nameJohn); - } - - @Test - public void whenCombiningAllOfConditions_thenCorrect() { - Member john = new Member("John", 60); - Member jane = new Member("Jane", 50); - - assertThat(john).is(allOf(senior, nameJohn)); - assertThat(jane).is(allOf(not(nameJohn), not(senior))); - } - - @Test - public void whenCombiningAnyOfConditions_thenCorrect() { - Member john = new Member("John", 50); - Member jane = new Member("Jane", 60); - - assertThat(john).is(anyOf(senior, nameJohn)); - assertThat(jane).is(anyOf(nameJohn, senior)); - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJCoreUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJCoreUnitTest.java deleted file mode 100644 index 73b9b373a1..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJCoreUnitTest.java +++ /dev/null @@ -1,117 +0,0 @@ -package com.baeldung.assertj; - -import org.assertj.core.util.Maps; -import org.junit.Ignore; -import org.junit.Test; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.InputStream; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; - -import static org.assertj.core.api.Assertions.*; - -public class AssertJCoreUnitTest { - - @Test - public void whenComparingReferences_thenNotEqual() throws Exception { - Dog fido = new Dog("Fido", 5.15f); - Dog fidosClone = new Dog("Fido", 5.15f); - - assertThat(fido).isNotEqualTo(fidosClone); - } - - @Test - public void whenComparingFields_thenEqual() throws Exception { - Dog fido = new Dog("Fido", 5.15f); - Dog fidosClone = new Dog("Fido", 5.15f); - - assertThat(fido).isEqualToComparingFieldByFieldRecursively(fidosClone); - } - - @Test - public void whenCheckingForElement_thenContains() throws Exception { - List list = Arrays.asList("1", "2", "3"); - - assertThat(list).contains("1"); - } - - @Test - public void whenCheckingForElement_thenMultipleAssertions() throws Exception { - List list = Arrays.asList("1", "2", "3"); - - assertThat(list).isNotEmpty(); - assertThat(list).startsWith("1"); - assertThat(list).doesNotContainNull(); - - assertThat(list).isNotEmpty().contains("1").startsWith("1").doesNotContainNull().containsSequence("2", "3"); - } - - @Test - public void whenCheckingRunnable_thenIsInterface() throws Exception { - assertThat(Runnable.class).isInterface(); - } - - @Test - public void whenCheckingCharacter_thenIsUnicode() throws Exception { - char someCharacter = 'c'; - - assertThat(someCharacter).isNotEqualTo('a').inUnicode().isGreaterThanOrEqualTo('b').isLowerCase(); - } - - @Test - public void whenAssigningNSEExToException_thenIsAssignable() throws Exception { - assertThat(Exception.class).isAssignableFrom(NoSuchElementException.class); - } - - @Test - public void whenComparingWithOffset_thenEquals() throws Exception { - assertThat(5.1).isEqualTo(5, withPrecision(1d)); - } - - @Test - public void whenCheckingString_then() throws Exception { - assertThat("".isEmpty()).isTrue(); - } - - @Test - public void whenCheckingFile_then() throws Exception { - final File someFile = File.createTempFile("aaa", "bbb"); - someFile.deleteOnExit(); - - assertThat(someFile).exists().isFile().canRead().canWrite(); - } - - @Test - public void whenCheckingIS_then() throws Exception { - InputStream given = new ByteArrayInputStream("foo".getBytes()); - InputStream expected = new ByteArrayInputStream("foo".getBytes()); - - assertThat(given).hasSameContentAs(expected); - } - - @Test - public void whenGivenMap_then() throws Exception { - Map map = Maps.newHashMap(2, "a"); - - assertThat(map).isNotEmpty().containsKey(2).doesNotContainKeys(10).contains(entry(2, "a")); - } - - @Test - public void whenGivenException_then() throws Exception { - Exception ex = new Exception("abc"); - - assertThat(ex).hasNoCause().hasMessageEndingWith("c"); - } - - @Ignore // IN ORDER TO TEST, REMOVE THIS LINE - @Test - public void whenRunningAssertion_thenDescribed() throws Exception { - Person person = new Person("Alex", 34); - - assertThat(person.getAge()).as("%s's age should be equal to 100").isEqualTo(100); - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJGuavaUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJGuavaUnitTest.java deleted file mode 100644 index 6a552aee78..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJGuavaUnitTest.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.baeldung.assertj; - -import com.google.common.base.Optional; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.HashBasedTable; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; -import com.google.common.collect.Range; -import com.google.common.collect.Table; -import com.google.common.collect.TreeRangeMap; -import com.google.common.io.Files; -import org.assertj.guava.data.MapEntry; -import org.junit.Test; - -import java.io.File; -import java.util.HashMap; -import java.util.HashSet; - -import static org.assertj.guava.api.Assertions.assertThat; -import static org.assertj.guava.api.Assertions.entry; - -public class AssertJGuavaUnitTest { - - @Test - public void givenTwoEmptyFiles_whenComparingContent_thenEqual() throws Exception { - final File temp1 = File.createTempFile("bael", "dung1"); - final File temp2 = File.createTempFile("bael", "dung2"); - - assertThat(Files.asByteSource(temp1)).hasSize(0).hasSameContentAs(Files.asByteSource(temp2)); - } - - @Test - public void givenMultimap_whenVerifying_thenCorrect() throws Exception { - final Multimap mmap = ArrayListMultimap.create(); - mmap.put(1, "one"); - mmap.put(1, "1"); - - assertThat(mmap).hasSize(2).containsKeys(1).contains(entry(1, "one")).contains(entry(1, "1")); - } - - @Test - public void givenMultimaps_whenVerifyingContent_thenCorrect() throws Exception { - final Multimap mmap1 = ArrayListMultimap.create(); - mmap1.put(1, "one"); - mmap1.put(1, "1"); - mmap1.put(2, "two"); - mmap1.put(2, "2"); - - final Multimap mmap1_clone = Multimaps.newSetMultimap(new HashMap<>(), HashSet::new); - mmap1_clone.put(1, "one"); - mmap1_clone.put(1, "1"); - mmap1_clone.put(2, "two"); - mmap1_clone.put(2, "2"); - - final Multimap mmap2 = Multimaps.newSetMultimap(new HashMap<>(), HashSet::new); - mmap2.put(1, "one"); - mmap2.put(1, "1"); - - assertThat(mmap1).containsAllEntriesOf(mmap2).containsAllEntriesOf(mmap1_clone).hasSameEntriesAs(mmap1_clone); - } - - @Test - public void givenOptional_whenVerifyingContent_thenShouldBeEqual() throws Exception { - final Optional something = Optional.of("something"); - - assertThat(something).isPresent().extractingValue().isEqualTo("something"); - } - - @Test - public void givenRange_whenVerifying_thenShouldBeCorrect() throws Exception { - final Range range = Range.openClosed("a", "g"); - - assertThat(range).hasOpenedLowerBound().isNotEmpty().hasClosedUpperBound().contains("b"); - } - - @Test - public void givenRangeMap_whenVerifying_thenShouldBeCorrect() throws Exception { - final TreeRangeMap map = TreeRangeMap.create(); - - map.put(Range.closed(0, 60), "F"); - map.put(Range.closed(61, 70), "D"); - - assertThat(map).isNotEmpty().containsKeys(0).contains(MapEntry.entry(34, "F")); - } - - @Test - public void givenTable_whenVerifying_thenShouldBeCorrect() throws Exception { - final Table table = HashBasedTable.create(2, 2); - - table.put(1, "A", "PRESENT"); - table.put(1, "B", "ABSENT"); - - assertThat(table).hasRowCount(1).containsValues("ABSENT").containsCell(1, "B", "ABSENT"); - } - -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJJava8UnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJJava8UnitTest.java deleted file mode 100644 index a2f58d677d..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/AssertJJava8UnitTest.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.baeldung.assertj; - -import org.junit.Test; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; -import java.util.function.Predicate; - -import static java.time.LocalDate.ofYearDay; -import static java.util.Arrays.asList; -import static org.assertj.core.api.Assertions.assertThat; - -public class AssertJJava8UnitTest { - - @Test - public void givenOptional_shouldAssert() throws Exception { - final Optional givenOptional = Optional.of("something"); - - assertThat(givenOptional).isPresent().hasValue("something"); - } - - @Test - public void givenPredicate_shouldAssert() throws Exception { - final Predicate predicate = s -> s.length() > 4; - - assertThat(predicate).accepts("aaaaa", "bbbbb").rejects("a", "b").acceptsAll(asList("aaaaa", "bbbbb")).rejectsAll(asList("a", "b")); - } - - @Test - public void givenLocalDate_shouldAssert() throws Exception { - final LocalDate givenLocalDate = LocalDate.of(2016, 7, 8); - final LocalDate todayDate = LocalDate.now(); - - assertThat(givenLocalDate).isBefore(LocalDate.of(2020, 7, 8)).isAfterOrEqualTo(LocalDate.of(1989, 7, 8)); - - assertThat(todayDate).isAfter(LocalDate.of(1989, 7, 8)).isToday(); - } - - @Test - public void givenLocalDateTime_shouldAssert() throws Exception { - final LocalDateTime givenLocalDate = LocalDateTime.of(2016, 7, 8, 12, 0); - - assertThat(givenLocalDate).isBefore(LocalDateTime.of(2020, 7, 8, 11, 2)); - } - - @Test - public void givenLocalTime_shouldAssert() throws Exception { - final LocalTime givenLocalTime = LocalTime.of(12, 15); - - assertThat(givenLocalTime).isAfter(LocalTime.of(1, 0)).hasSameHourAs(LocalTime.of(12, 0)); - } - - @Test - public void givenList_shouldAssertFlatExtracting() throws Exception { - final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6)); - - assertThat(givenList).flatExtracting(LocalDate::getYear).contains(2015); - } - - @Test - public void givenList_shouldAssertFlatExtractingLeapYear() throws Exception { - final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6)); - - assertThat(givenList).flatExtracting(LocalDate::isLeapYear).contains(true); - } - - @Test - public void givenList_shouldAssertFlatExtractingClass() throws Exception { - final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6)); - - assertThat(givenList).flatExtracting(Object::getClass).contains(LocalDate.class); - } - - @Test - public void givenList_shouldAssertMultipleFlatExtracting() throws Exception { - final List givenList = asList(ofYearDay(2016, 5), ofYearDay(2015, 6)); - - assertThat(givenList).flatExtracting(LocalDate::getYear, LocalDate::getDayOfMonth).contains(2015, 6); - } - - @Test - public void givenString_shouldSatisfy() throws Exception { - final String givenString = "someString"; - - assertThat(givenString).satisfies(s -> { - assertThat(s).isNotEmpty(); - assertThat(s).hasSize(10); - }); - } - - @Test - public void givenString_shouldMatch() throws Exception { - final String emptyString = ""; - - assertThat(emptyString).matches(String::isEmpty); - } - - @Test - public void givenList_shouldHasOnlyOneElementSatisfying() throws Exception { - final List givenList = Arrays.asList(""); - - assertThat(givenList).hasOnlyOneElementSatisfying(s -> assertThat(s).isEmpty()); - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/AssertJCustomAssertionsUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/AssertJCustomAssertionsUnitTest.java deleted file mode 100644 index 98f50568a8..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/AssertJCustomAssertionsUnitTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.baeldung.assertj.custom; - -import static com.baeldung.assertj.custom.Assertions.assertThat; -import static org.junit.Assert.fail; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -public class AssertJCustomAssertionsUnitTest { - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void whenPersonNameMatches_thenCorrect() { - Person person = new Person("John Doe", 20); - assertThat(person).hasFullName("John Doe"); - } - - @Test - public void whenPersonAgeLessThanEighteen_thenNotAdult() { - Person person = new Person("Jane Roe", 16); - - try { - assertThat(person).isAdult(); - fail(); - } catch (AssertionError e) { - org.assertj.core.api.Assertions.assertThat(e).hasMessage("Expected person to be adult"); - } - } - - @Test - public void whenPersonDoesNotHaveAMatchingNickname_thenIncorrect() { - Person person = new Person("John Doe", 20); - person.addNickname("Nick"); - - try { - assertThat(person).hasNickname("John"); - fail(); - } catch (AssertionError e) { - org.assertj.core.api.Assertions.assertThat(e).hasMessage("Expected person to have nickname John"); - } - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/Assertions.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/Assertions.java deleted file mode 100644 index 3e1021851e..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/Assertions.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.baeldung.assertj.custom; - -public class Assertions { - public static PersonAssert assertThat(Person actual) { - return new PersonAssert(actual); - } - - // static factory methods of other assertion classes -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/PersonAssert.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/PersonAssert.java deleted file mode 100644 index 5be093644a..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/custom/PersonAssert.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.baeldung.assertj.custom; - -import org.assertj.core.api.AbstractAssert; - -public class PersonAssert extends AbstractAssert { - - public PersonAssert(Person actual) { - super(actual, PersonAssert.class); - } - - public static PersonAssert assertThat(Person actual) { - return new PersonAssert(actual); - } - - public PersonAssert hasFullName(String fullName) { - isNotNull(); - if (!actual.getFullName().equals(fullName)) { - failWithMessage("Expected person to have full name %s but was %s", fullName, actual.getFullName()); - } - return this; - } - - public PersonAssert isAdult() { - isNotNull(); - if (actual.getAge() < 18) { - failWithMessage("Expected person to be adult"); - } - return this; - } - - public PersonAssert hasNickname(String nickName) { - isNotNull(); - if (!actual.getNicknames().contains(nickName)) { - failWithMessage("Expected person to have nickname %s", nickName); - } - return this; - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java7StyleAssertions.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java7StyleAssertions.java deleted file mode 100644 index ab93f8eac7..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java7StyleAssertions.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.baeldung.assertj.exceptions; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; -import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown; - -import org.junit.Test; - -public class Java7StyleAssertions { - - @Test - public void whenDividingByZero_thenArithmeticException() { - try { - int numerator = 10; - int denominator = 0; - int quotient = numerator / denominator; - fail("ArithmeticException expected because dividing by zero yields an ArithmeticException."); - failBecauseExceptionWasNotThrown(ArithmeticException.class); - } catch (Exception e) { - assertThat(e).hasMessage("/ by zero"); - assertThat(e).isInstanceOf(ArithmeticException.class); - } - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java8StyleAssertions.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java8StyleAssertions.java deleted file mode 100644 index 54e41edf92..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/exceptions/Java8StyleAssertions.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.baeldung.assertj.exceptions; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.assertj.core.api.Assertions.catchThrowable; -import static org.assertj.core.api.Assertions.catchThrowableOfType; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; - -import org.junit.Test; - -public class Java8StyleAssertions { - - @Test - public void whenGettingOutOfBoundsItem_thenIndexOutOfBoundsException() { - assertThatThrownBy(() -> { - ArrayList myStringList = new ArrayList(Arrays.asList("Strine one", "String two")); - myStringList.get(2); - }).isInstanceOf(IndexOutOfBoundsException.class) - .hasMessageStartingWith("Index: 2") - .hasMessageContaining("2") - .hasMessageEndingWith("Size: 2") - .hasMessageContaining("Index: 2, Size: 2") - .hasMessage("Index: %s, Size: %s", 2, 2) - .hasMessageMatching("Index: \\d+, Size: \\d+") - .hasNoCause(); - } - - @Test - public void whenWrappingException_thenCauseInstanceOfWrappedExceptionType() { - assertThatThrownBy(() -> { - try { - throw new IOException(); - } catch (IOException e) { - throw new RuntimeException(e); - } - }).isInstanceOf(RuntimeException.class) - .hasCauseInstanceOf(IOException.class) - .hasStackTraceContaining("IOException"); - } - - @Test - public void whenDividingByZero_thenArithmeticException() { - assertThatExceptionOfType(ArithmeticException.class).isThrownBy(() -> { - int numerator = 10; - int denominator = 0; - int quotient = numerator / denominator; - }) - .withMessageContaining("/ by zero"); - - // Alternatively: - - // when - Throwable thrown = catchThrowable(() -> { - int numerator = 10; - int denominator = 0; - int quotient = numerator / denominator; - }); - - // then - assertThat(thrown).isInstanceOf(ArithmeticException.class) - .hasMessageContaining("/ by zero"); - - } - - @Test - public void whenUsingCatchThrowableOfType_thenAssertField() { - String givenCity = "Paris"; - CityNotFoundException exception = catchThrowableOfType(() -> CityUtils.search(givenCity), CityNotFoundException.class); - - assertThat(exception.getCity()).isEqualTo(givenCity); - assertThat(exception.getMessage()).isEqualTo("The specified city is not found"); - } - - @Test - public void whenUsingAssertThatThrownBy_thenAssertField() { - String givenCity = "Geneva"; - assertThatThrownBy(() -> CityUtils.search(givenCity)).isInstanceOf(CityNotFoundException.class) - .extracting("city") - .isEqualTo(givenCity); - } - -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/extracting/AssertJExtractingUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/extracting/AssertJExtractingUnitTest.java deleted file mode 100644 index aae4f8a041..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/assertj/extracting/AssertJExtractingUnitTest.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.baeldung.assertj.extracting; - -import org.assertj.core.api.InstanceOfAssertFactories; -import org.junit.jupiter.api.Test; - -import java.util.ArrayList; -import java.util.List; - -import static org.assertj.core.api.Assertions.as; -import static org.assertj.core.api.Assertions.assertThat; - -class AssertJExtractingUnitTest { - static final List
RESTRICTED_ADDRESSES = new ArrayList<>(); - - @Test - void whenUsingRegularAssertionFlow_thenCorrect() { - - // Given - Person person = new Person("aName", "aLastName", new Address("aStreet", "aCity", new ZipCode(90210))); - - // Then - Address address = person.getAddress(); - assertThat(address).isNotNull() - .isNotIn(RESTRICTED_ADDRESSES); - ZipCode zipCode = address.getZipCode(); - assertThat(zipCode).isNotNull(); - assertThat(zipCode.getZipcode()).isBetween(1000L, 100_000L); - } - - @Test - void whenUsingExtractingAssertionFlow_thenCorrect() { - - // Given - Person person = new Person("aName", "aLastName", new Address("aStreet", "aCity", new ZipCode(90210))); - - // Then - assertThat(person) - .extracting(Person::getAddress) - .isNotNull() - .isNotIn(RESTRICTED_ADDRESSES) - .extracting(Address::getZipCode) - .isNotNull() - .extracting(ZipCode::getZipcode, as(InstanceOfAssertFactories.LONG)) - .isBetween(1_000L, 100_000L); - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/jgotesting/JGoTestingUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/jgotesting/JGoTestingUnitTest.java deleted file mode 100644 index 650fb3e5c5..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/jgotesting/JGoTestingUnitTest.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.baeldung.testing.jgotesting; - -import java.io.File; -import static org.hamcrest.Matchers.equalToIgnoringCase; -import static org.hamcrest.Matchers.is; -import org.jgotesting.rule.JGoTestRule; -import static org.jgotesting.Assert.*; // same methods as org.junit.Assert.* -import static org.jgotesting.Check.*; // ditto, with different names -import static org.jgotesting.Testing.*; -import org.jgotesting.Checker; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; - -public class JGoTestingUnitTest { - @Rule - public final JGoTestRule test = new JGoTestRule(); - - @Test - public void whenComparingIntegers_thenEqual() { - int anInt = 10; - - assertEquals(anInt, 10); - checkEquals(anInt, 10); - } - - @Ignore - @Test - public void whenComparingNumbers_thenLoggedMessage() { - log("There was something wrong when comparing numbers"); - - int anInt = 10; - int anotherInt = 10; - - checkEquals(anInt, 10); - checkTrue("First number should be bigger", 10 > anotherInt); - checkSame(anInt, anotherInt); - } - - @Ignore - @Test - public void whenComparingNumbers_thenFormattedMessage() { - int anInt = 10; - int anotherInt = 10; - - logf("There was something wrong when comparing numbers %d and %d", anInt, anotherInt); - - checkEquals(anInt, 10); - checkTrue("First number should be bigger", 10 > anotherInt); - checkSame(anInt, anotherInt); - } - - @Test - public void whenComparingStrings_thenMultipleAssertions() { - String aString = "This is a string"; - String anotherString = "This Is A String"; - - test.check(aString, equalToIgnoringCase(anotherString)) - .check(aString.length() == 16) - .check(aString.startsWith("This")); - } - - @Ignore - @Test - public void whenComparingStrings_thenMultipleFailingAssertions() { - String aString = "the test string"; - String anotherString = "The Test String"; - - checkEquals("Strings are not equal!", aString, anotherString); - checkTrue("String is longer than one character", aString.length() == 1); - checkSame("Strings are not the same", aString, anotherString); - } - - @Ignore - @Test - public void givenFile_whenDoesnotExists_thenTerminated() throws Exception { - File aFile = new File("a_dummy_file.txt"); - terminateIf(aFile.exists(), is(false)); - - // This doesn't get executed - checkEquals(aFile.getName(), "a_dummy_file.txt"); - } - - @Test - public void givenChecker_whenComparingStrings_thenEqual() throws Exception { - Checker aChecker = s -> s.matches("\\d+"); - - String aString = "1235"; - test.check(aString, aChecker); - } - -} - diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/jspec/CageUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/jspec/CageUnitTest.java deleted file mode 100644 index 33ef986588..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/jspec/CageUnitTest.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.baeldung.jspec; - -import static org.javalite.test.jspec.JSpec.$; -import static org.javalite.test.jspec.JSpec.expect; -import static org.javalite.test.jspec.JSpec.the; - -import java.util.Set; - -import org.javalite.test.jspec.DifferenceExpectation; -import org.junit.Test; - -public class CageUnitTest { - - Cat tomCat = new Cat("Tom"); - Cat felixCat = new Cat("Felix"); - Dog boltDog = new Dog("Bolt"); - Cage cage = new Cage(); - - - @Test - public void puttingAnimals_shouldIncreaseCageSize() { - // When - cage.put(tomCat, boltDog); - - // Then - the(cage.size()).shouldEqual(2); - } - - @Test - public void releasingAnimals_shouldDecreaseCageSize() { - // When - cage.put(tomCat, boltDog); - cage.release(tomCat); - - // Then - the(cage.size()).shouldEqual(1); - } - - @Test - public void puttingAnimals_shouldLeaveThemInsideTheCage() { - // When - cage.put(tomCat, boltDog); - - // Then - the(cage).shouldHave("animals"); - } - - @Test - public void openingTheCage_shouldReleaseAllAnimals() { - // When - cage.put(tomCat, boltDog); - - // Then - the(cage).shouldNotBe("empty"); - - // When - cage.open(); - - // Then - the(cage).shouldBe("empty"); - the(cage.isEmpty()).shouldBeTrue(); - } - - @Test - public void comparingTwoDogs() { - // When - Dog firstDog = new Dog("Rex"); - Dog secondDog = new Dog("Rex"); - - // Then - $(firstDog).shouldEqual(secondDog); - $(firstDog).shouldNotBeTheSameAs(secondDog); - } - - @Test - public void puttingCatsOnly_shouldLetCageAnimalsToContainCats() { - // When - cage.put(tomCat, felixCat); - - // Then - Set animals = cage.getAnimals(); - the(animals).shouldContain(tomCat); - the(animals).shouldContain(felixCat); - the(animals).shouldNotContain(boltDog); - } - - @Test - public void puttingCatsOnly_shouldLetCageToContainCats() { - // When - cage.put(tomCat, felixCat); - - // Then - // Check with toString of the tested objects - the(cage).shouldContain(tomCat); - the(cage).shouldContain(felixCat); - the(cage).shouldNotContain(boltDog); - } - - @Test - public void puttingMoreAnimals_shouldChangeSize() { - // When - cage.put(tomCat, boltDog); - - // Then - expect( new DifferenceExpectation(cage.size()) { - - @Override - public Integer exec() { - cage.release(tomCat); - return cage.size(); - } - } ); - } - - - @Test - public void releasingTheDog_shouldReleaseAnAnimalOfDogType() { - // When - cage.put(boltDog); - Animal releasedAnimal = cage.release(boltDog); - - // Then - the(releasedAnimal).shouldNotBeNull(); - the(releasedAnimal).shouldBeA(Dog.class); - } -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/jspec/JSpecUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/jspec/JSpecUnitTest.java deleted file mode 100644 index 0e35e26728..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/jspec/JSpecUnitTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.baeldung.jspec; - -import static org.javalite.test.jspec.JSpec.$; -import static org.javalite.test.jspec.JSpec.a; -import static org.javalite.test.jspec.JSpec.expect; -import static org.javalite.test.jspec.JSpec.it; -import static org.javalite.test.jspec.JSpec.the; - -import java.util.Arrays; -import java.util.List; - -import org.javalite.test.jspec.ExceptionExpectation; -import org.junit.Test; - -public class JSpecUnitTest { - - @Test - public void onePlusTwo_shouldEqualThree() { - $(1 + 2).shouldEqual(3); - a(1 + 2).shouldEqual(3); - the(1 + 2).shouldEqual(3); - it(1 + 2).shouldEqual(3); - } - - @Test - public void messageShouldContainJSpec() { - String message = "Welcome to JSpec demo"; - // The message should not be empty - the(message).shouldNotBe("empty"); - // The message should contain JSpec - the(message).shouldContain("JSpec"); - } - - public void colorsListShouldContainRed() { - List colorsList = Arrays.asList("red", "green", "blue"); - $(colorsList).shouldContain("red"); - } - - public void guessedNumberShouldEqualHiddenNumber() { - Integer guessedNumber = 11; - Integer hiddenNumber = 11; - - $(guessedNumber).shouldEqual(hiddenNumber); - $(guessedNumber).shouldNotBeTheSameAs(hiddenNumber); - } - - @Test - public void dividingByThero_shouldThrowArithmeticException() { - expect(new ExceptionExpectation(ArithmeticException.class) { - @Override - public void exec() throws ArithmeticException { - System.out.println(1 / 0); - } - } ); - } - -} diff --git a/testing-modules/assertion-libraries/src/test/java/com/baeldung/truth/GoogleTruthUnitTest.java b/testing-modules/assertion-libraries/src/test/java/com/baeldung/truth/GoogleTruthUnitTest.java deleted file mode 100644 index b7919a29ca..0000000000 --- a/testing-modules/assertion-libraries/src/test/java/com/baeldung/truth/GoogleTruthUnitTest.java +++ /dev/null @@ -1,561 +0,0 @@ -package com.baeldung.truth; - -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.Multimap; -import com.google.common.collect.Range; -import com.google.common.collect.Table; -import com.google.common.collect.TreeBasedTable; -import com.google.common.collect.TreeMultiset; -import static com.baeldung.truth.UserSubject.*; -import static com.google.common.truth.Truth.*; -import static com.google.common.truth.Truth8.*; -import java.math.BigDecimal; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.regex.Pattern; -import java.util.stream.IntStream; -import java.util.stream.Stream; -import org.junit.Ignore; -import org.junit.Test; - -public class GoogleTruthUnitTest { - - @Test - public void whenComparingInteger_thenEqual() { - int anInt = 10; - - assertThat(anInt).isEqualTo(10); - } - - @Test - public void whenComparingFloat_thenIsBigger() { - float aFloat = 10.0f; - - assertThat(aFloat).isGreaterThan(1.0f); - } - - @Test - public void whenComparingDouble_thenIsSmaller() { - double aDouble = 10.0f; - - assertThat(aDouble).isLessThan(20.0); - } - - @Test - public void whenComparingFloat_thenWithinPrecision() { - float aFloat = 23.04f; - - assertThat(aFloat).isWithin(1.3f) - .of(23.3f); - } - - @Test - public void whenComparingFloat_thenNotWithinPrecision() { - float aFloat = 23.04f; - - assertThat(aFloat).isNotWithin(1.3f) - .of(100f); - } - - @Test - public void whenComparingDouble_thenWithinPrecision() { - double aDouble = 22.18; - - assertThat(aDouble).isWithin(2) - .of(23d); - } - - @Test - public void whenComparingDouble_thenNotWithinPrecision() { - double aDouble = 22.08; - - assertThat(aDouble).isNotWithin(2) - .of(100); - } - - @Test - public void whenComparingBigDecimal_thenEqualIgnoringScale() { - BigDecimal aBigDecimal = BigDecimal.valueOf(1000, 3); - - assertThat(aBigDecimal).isEqualToIgnoringScale(new BigDecimal(1.0)); - } - - @Test - public void whenCheckingBoolean_thenTrue() { - boolean aBoolean = true; - - assertThat(aBoolean).isTrue(); - } - - @Test - public void whenCheckingBoolean_thenFalse() { - boolean aBoolean = false; - - assertThat(aBoolean).isFalse(); - } - - @Test - public void whenComparingArrays_thenEqual() { - String[] firstArrayOfStrings = { "one", "two", "three" }; - String[] secondArrayOfStrings = { "one", "two", "three" }; - - assertThat(firstArrayOfStrings).isEqualTo(secondArrayOfStrings); - } - - @Test - public void whenComparingArrays_thenNotEqual() { - String[] firstArrayOfStrings = { "one", "two", "three" }; - String[] secondArrayOfStrings = { "three", "two", "one" }; - - assertThat(firstArrayOfStrings).isNotEqualTo(secondArrayOfStrings); - } - - @Test - public void whenCheckingArray_thenEmpty() { - Object[] anArray = {}; - - assertThat(anArray).isEmpty(); - } - - @Test - public void whenCheckingArray_thenNotEmpty() { - String[] arrayOfStrings = { "One String " }; - - assertThat(arrayOfStrings).isNotEmpty(); - } - - @Test - public void whenCheckingArrayOfDoubles_thenWithinPrecision() { - double[] arrayOfDoubles = { 1, 2, 3, 4, 5 }; - - assertThat(arrayOfDoubles).hasValuesWithin(5) - .of(6, 7, 8, 9, 10); - } - - @Test - public void whenComparingUsers_thenEqual() { - User aUser = new User("John Doe"); - User anotherUser = new User("John Doe"); - - assertThat(aUser).isEqualTo(anotherUser); - } - - @Test - public void whenComparingUser_thenIsNull() { - User aUser = null; - - assertThat(aUser).isNull(); - } - - @Test - public void whenComparingUser_thenNotNull() { - User aUser = new User(); - - assertThat(aUser).isNotNull(); - } - - @Test - public void whenComparingUser_thenInstanceOf() { - User aUser = new User(); - - assertThat(aUser).isInstanceOf(User.class); - } - - @Test - public void whenComparingUser_thenInList() { - User aUser = new User(); - - assertThat(aUser).isIn(Arrays.asList(1, 3, aUser, null)); - } - - @Test - public void whenComparingUser_thenNotInList() { - User aUser = new User(); - - assertThat(aUser).isNotIn(Arrays.asList(1, 3, "Three")); - } - - @Test - public void whenComparingNullUser_thenInList() { - User aUser = null; - User anotherUser = new User(); - - assertThat(aUser).isIn(Arrays.asList(1, 3, anotherUser, null)); - } - - @Test - public void whenCheckingString_thenStartsWithString() { - String aString = "This is a string"; - - assertThat(aString).startsWith("This"); - } - - @Test - public void whenCheckingString_thenContainsString() { - String aString = "This is a string"; - - assertThat(aString).contains("is a"); - } - - @Test - public void whenCheckingString_thenEndsWithString() { - String aString = "This is a string"; - - assertThat(aString).endsWith("string"); - } - - @Test - public void whenCheckingString_thenExpectedLength() { - String aString = "This is a string"; - - assertThat(aString).hasLength(16); - } - - @Test - public void whenCheckingString_thenEmpty() { - String aString = ""; - - assertThat(aString).isEmpty(); - } - - @Test - public void whenCheckingString_thenMatches() { - String aString = "The string to match"; - - assertThat(aString).matches(Pattern.compile("[a-zA-Z\\s]+")); - } - - @Test - public void whenCheckingComparable_thenAtLeast() { - Comparable aComparable = 5; - - assertThat(aComparable).isAtLeast(1); - } - - @Test - public void whenCheckingComparable_thenAtMost() { - Comparable aComparable = 5; - - assertThat(aComparable).isAtMost(10); - } - - @Test - public void whenCheckingComparable_thenInList() { - Comparable aComparable = 5; - - assertThat(aComparable).isIn(Arrays.asList(4, 5, 6)); - } - - @Test - public void whenCheckingComparable_thenInRange() { - Comparable aComparable = 5; - - assertThat(aComparable).isIn(Range.closed(1, 10)); - } - - @Test - public void whenCheckingComparable_thenNotInRange() { - Comparable aComparable = 5; - - assertThat(aComparable).isNotIn(Range.closed(10, 15)); - } - - @Test - public void whenComparingUsers_thenEquivalent() { - User aUser = new User(); - aUser.setName("John Doe"); - - User anotherUser = new User(); - anotherUser.setName("john doe"); - - assertThat(aUser).isEquivalentAccordingToCompareTo(anotherUser); - } - - @Test - public void whenCheckingIterable_thenContains() { - List aList = Arrays.asList(4, 5, 6); - - assertThat(aList).contains(5); - } - - @Test - public void whenCheckingIterable_thenDoesNotContains() { - List aList = Arrays.asList(4, 5, 6); - - assertThat(aList).doesNotContain(9); - } - - @Test - public void whenCheckingIterable_thenContainsAny() { - List aList = Arrays.asList(4, 5, 6); - - assertThat(aList).containsAnyOf(0, 5, 10); - } - - @Test - public void whenCheckingIterable_thenContainsAnyInList() { - List aList = Arrays.asList(1, 2, 3); - - assertThat(aList).containsAnyIn(Arrays.asList(1, 5, 10)); - } - - @Test - public void whenCheckingIterable_thenNoDuplicates() { - List aList = Arrays.asList(-2, -1, 0, 1, 2); - - assertThat(aList).containsNoDuplicates(); - } - - @Test - public void whenCheckingIterable_thenContainsNoneOf() { - List aList = Arrays.asList(4, 5, 6); - - assertThat(aList).containsNoneOf(9, 8, 7); - } - - @Test - public void whenCheckingIterable_thenContainsNoneIn() { - List aList = Arrays.asList(4, 5, 6); - - assertThat(aList).containsNoneIn(Arrays.asList(9, 10, 11)); - } - - @Test - public void whenCheckingIterable_thenContainsExactElements() { - List aList = Arrays.asList("10", "20", "30"); - List anotherList = Arrays.asList("10", "20", "30"); - - assertThat(aList).containsExactlyElementsIn(anotherList) - .inOrder(); - } - - @Test - public void whenCheckingIterable_thenOrdered() { - Set aSet = new LinkedHashSet<>(Arrays.asList("one", "three", "two")); - - assertThat(aSet).isOrdered(); - } - - @Test - public void givenComparator_whenCheckingIterable_thenOrdered() { - Comparator aComparator = (a, b) -> new Float(a).compareTo(new Float(b)); - - List aList = Arrays.asList("1", "012", "0020", "100"); - - assertThat(aList).isOrdered(aComparator); - } - - @Test - public void whenCheckingMap_thenContainsEntry() { - Map aMap = new HashMap<>(); - aMap.put("one", 1L); - - assertThat(aMap).containsEntry("one", 1L); - } - - @Test - public void whenCheckingMap_thenContainsKey() { - Map map = new HashMap<>(); - map.put("one", 1L); - - assertThat(map).containsKey("one"); - } - - @Test - public void whenCheckingMap_thenContainsEntries() { - Map aMap = new HashMap<>(); - aMap.put("first", 1L); - aMap.put("second", 2.0); - aMap.put("third", 3f); - - Map anotherMap = new HashMap<>(aMap); - - assertThat(aMap).containsExactlyEntriesIn(anotherMap); - } - - @Test - public void whenCheckingException_thenInstanceOf() { - Exception anException = new IllegalArgumentException(new NumberFormatException()); - - assertThat(anException).hasCauseThat() - .isInstanceOf(NumberFormatException.class); - } - - @Test - public void whenCheckingException_thenCauseMessageIsKnown() { - Exception anException = new IllegalArgumentException("Bad value"); - - assertThat(anException).hasMessageThat() - .startsWith("Bad"); - } - - @Test - public void whenCheckingClass_thenIsAssignable() { - Class aClass = Double.class; - - assertThat(aClass).isAssignableTo(Number.class); - } - - // Java 8 Tests - @Test - public void whenCheckingJavaOptional_thenHasValue() { - Optional anOptional = Optional.of(1); - - assertThat(anOptional).hasValue(1); - } - - @Test - public void whenCheckingJavaOptional_thenPresent() { - Optional anOptional = Optional.of("Baeldung"); - - assertThat(anOptional).isPresent(); - } - - @Test - public void whenCheckingJavaOptional_thenEmpty() { - Optional anOptional = Optional.empty(); - - assertThat(anOptional).isEmpty(); - } - - @Test - public void whenCheckingStream_thenContainsInOrder() { - Stream anStream = Stream.of(1, 2, 3); - - assertThat(anStream).containsAllOf(1, 2, 3) - .inOrder(); - } - - @Test - public void whenCheckingStream_thenDoesNotContain() { - Stream anStream = IntStream.range(1, 100) - .boxed(); - - assertThat(anStream).doesNotContain(0); - } - - // Guava Tests - @Test - public void whenCheckingGuavaOptional_thenIsAbsent() { - com.google.common.base.Optional anOptional = com.google.common.base.Optional.absent(); - - assertThat(anOptional).isAbsent(); - } - - @Test - public void whenCheckingGuavaMultimap_thenExpectedSize() { - Multimap aMultimap = ArrayListMultimap.create(); - aMultimap.put("one", 1L); - aMultimap.put("one", 2.0); - - assertThat(aMultimap).valuesForKey("one") - .hasSize(2); - } - - @Test - public void whenCheckingGuavaMultiset_thenExpectedCount() { - TreeMultiset aMultiset = TreeMultiset.create(); - aMultiset.add("baeldung", 10); - - assertThat(aMultiset).hasCount("baeldung", 10); - } - - @Test - public void whenCheckingGuavaTable_thenContains() { - Table aTable = getDummyGuavaTable(); - - assertThat(aTable).contains("firstRow", "firstColumn"); - } - - @Test - public void whenCheckingGuavaTable_thenContainsCell() { - Table aTable = getDummyGuavaTable(); - - assertThat(aTable).containsCell("firstRow", "firstColumn", "baeldung"); - } - - @Test - public void whenCheckingGuavaTable_thenContainsRow() { - Table aTable = getDummyGuavaTable(); - - assertThat(aTable).containsRow("firstRow"); - } - - @Test - public void whenCheckingGuavaTable_thenContainsColumn() { - Table aTable = getDummyGuavaTable(); - - assertThat(aTable).containsColumn("firstColumn"); - } - - @Test - public void whenCheckingGuavaTable_thenContainsValue() { - Table aTable = getDummyGuavaTable(); - - assertThat(aTable).containsValue("baeldung"); - } - - @Ignore - @Test - public void whenFailingAssertion_thenMessagePrefix() { - User aUser = new User(); - - assertThat(aUser).named("User [%s]", aUser.getName()) - .isNull(); - } - - @Ignore - @Test - public void whenFailingAssertion_thenCustomMessage() { - User aUser = new User(); - - assertWithMessage("TEST-985: Secret user subject was NOT null!").that(aUser) - .isNull(); - } - - @Ignore - @Test - public void whenFailingAssertion_thenCustomMessageAndPrefix() { - User aUser = new User(); - - assertWithMessage("TEST-985: Secret user subject was NOT null!").that(aUser) - .named("User [%s]", aUser.getName()) - .isNull(); - } - - private Table getDummyGuavaTable() { - Table aTable = TreeBasedTable.create(); - aTable.put("firstRow", "firstColumn", "baeldung"); - return aTable; - } - - // Custom User type - @Test - public void whenCheckingUser_thenHasName() { - User aUser = new User(); - - assertThat(aUser).hasName("John Doe"); - } - - @Test - public void whenCheckingUser_thenHasNameIgnoringCase() { - User aUser = new User(); - - assertThat(aUser).hasNameIgnoringCase("john doe"); - } - - @Test - public void givenUser_whenCheckingEmails_thenExpectedSize() { - User aUser = new User(); - - assertThat(aUser).emails() - .hasSize(2); - } - -} diff --git a/toolkits/discourse/pom.xml b/toolkits/discourse/pom.xml index ab4642b1a5..0288a9b03b 100644 --- a/toolkits/discourse/pom.xml +++ b/toolkits/discourse/pom.xml @@ -52,14 +52,6 @@ ${java.version} - - org.apache.maven.plugins - maven-compiler-plugin - - 11 - 11 - - diff --git a/xml-2/README.md b/xml-2/README.md index 6040137dc1..f54ed9f55f 100644 --- a/xml-2/README.md +++ b/xml-2/README.md @@ -4,12 +4,15 @@ This module contains articles about eXtensible Markup Language (XML) ### Relevant Articles: -- [Pretty-Print XML in Java](https://www.baeldung.com/java-pretty-print-xml) -- [Validate an XML File Against an XSD File](https://www.baeldung.com/java-validate-xml-xsd) -- [Converting JSON to XML in Java](https://www.baeldung.com/java-convert-json-to-xml) -- [Convert an XML Object to a String in Java](https://www.baeldung.com/java-convert-xml-object-string) - [Convert String Containing XML to org.w3c.dom.Document](https://www.baeldung.com/java-convert-string-xml-dom) - [How to Parse XML to HashMap in Java](https://www.baeldung.com/java-xml-read-into-hashmap) - [Convert an XML File to CSV File](https://www.baeldung.com/java-convert-xml-csv) - [Invalid Characters in XML](https://www.baeldung.com/java-xml-invalid-characters) +- [How to Convert XML to PDF](https://www.baeldung.com/java-xml-pdf-conversion) +- [How to Convert org.w3c.dom.Document to String in Java](https://www.baeldung.com/java-convert-org-w3c-dom-document-string) +- [Introduction to JiBX](https://www.baeldung.com/jibx) +- [Write an org.w3.dom.Document to a File](https://www.baeldung.com/java-write-xml-document-file) +- [Modifying an XML Attribute in Java](https://www.baeldung.com/java-modify-xml-attribute) +- [Convert XML to HTML in Java](https://www.baeldung.com/java-convert-xml-to-html) + - - More articles: [[prev -->]](../xml) diff --git a/xml-2/pom.xml b/xml-2/pom.xml index e8c4079f59..fa5d91f740 100644 --- a/xml-2/pom.xml +++ b/xml-2/pom.xml @@ -1,16 +1,16 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 xml-2 0.1-SNAPSHOT xml-2 - com.baeldung + com.ossez parent-modules - 1.0.0-SNAPSHOT + 0.0.2-SNAPSHOT @@ -26,16 +26,6 @@ ${junit-jupiter.version} test - - org.json - json - ${json.version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} - com.fasterxml.jackson.dataformat jackson-dataformat-xml @@ -51,15 +41,97 @@ xstream ${xstream.version} + + org.apache.xmlgraphics + fop + ${fop.version} + + + com.itextpdf + itextpdf + ${itextpdf.version} + + + org.jibx + jibx-run + ${jibx-version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.xmlunit + xmlunit-assertj + ${xmlunit-assertj.version} + test + + + org.jooq + joox-java-6 + ${joox.version} + + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-generator.version} + + + jaxen + jaxen + ${jaxen.version} + + + org.freemarker + freemarker + ${freemarker.version} + + + jakarta.xml.bind + jakarta.xml.bind-api + ${jakarta.xml.bind-api.version} + + + com.github.spullara.mustache.java + compiler + ${mustache.version} + com.sun.xml.bind jaxb-impl - ${jaxb.version} + ${jaxb-impl.version} - org.apache.xmlbeans - xmlbeans - ${xmlbeans.version} + org.glassfish.jaxb + jaxb-runtime + ${jaxb-runtime.version} + + + com.sun.xml.bind + jaxb-core + ${jaxb-core.version} + + + net.htmlparser.jericho + jericho-html + ${jericho.version} + + + net.sourceforge.htmlcleaner + htmlcleaner + ${htmlcleaner.version} + + + org.jsoup + jsoup + ${jsoup.version} @@ -71,6 +143,14 @@ true + + + + org.jibx + maven-jibx-plugin + + + org.apache.maven.plugins @@ -79,18 +159,228 @@ org.apache.maven.plugins maven-surefire-plugin + ${maven-surefire-plugin.version} + + + org.jibx + maven-jibx-plugin + ${maven-jibx-plugin.version} + + src/main/resources + + *-binding.xml + + + template-binding.xml + + src/main/resources + + *-binding.xml + + true + + + + process-classes + process-classes + + bind + + + + process-test-classes + process-test-classes + + test-bind + + + + + + org.apache.bcel + bcel + ${bcel.version} + + + + + schemaGen + + + + org.jibx + maven-jibx-plugin + ${maven-jibx-plugin.version} + + + generate-java-code-from-schema + + schema-codegen + + + src/main/resources + + Order.xsd + + true + + + + compile-binding + + bind + + + target/generated-sources + true + true + + true + + + + generate-test-code-from-schema + generate-test-sources + + test-schema-codegen + + + + compile-test-binding + process-test-classes + + test-bind + + + target/generated-test-sources + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + CustomerTest.java + + + + + + + + bindGen + + + + + org.jibx + maven-jibx-plugin + + + + + + org.jibx + maven-jibx-plugin + ${maven-jibx-plugin.version} + + src/main/resources + + *-binding.xml + + + template-binding.xml + + src/main/resources + + *-binding.xml + + true + + + + process-classes + process-classes + + bind + + + + process-test-classes + process-test-classes + + test-bind + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + + maven-assembly-plugin + + ${project.basedir} + + + jar-with-dependencies + + + + + + com.baeldung.xml.jibx.JiBXDemoApplication + + + + + + + make-assembly + package + + attached + + + + + + + + + 2.1.3 - 20240303 1.89 1.4.18 - 2.3.3 - 5.0.2 - 2.12.4 + 2.9 + 5.5.13.3 + 1.2.4.5 + 6.7.0 + 1.3.1 + 3.14.0 + 2.6.3 + 1.6.2 + 1.2.0 + 2.3.29 + 4.0.2 + 0.9.6 + 2.3.0.1 + 4.0.4 + 4.0.3 + 3.4 + 2.25 + 1.17.2 diff --git a/xml-2/src/main/java/com/baeldung/xml/prettyprint/XmlPrettyPrinter.java b/xml-2/src/main/java/com/baeldung/xml/prettyprint/XmlPrettyPrinter.java deleted file mode 100644 index 85fd751325..0000000000 --- a/xml-2/src/main/java/com/baeldung/xml/prettyprint/XmlPrettyPrinter.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.baeldung.xml.prettyprint; - -import org.dom4j.DocumentHelper; -import org.dom4j.io.OutputFormat; -import org.dom4j.io.XMLWriter; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; -import java.io.*; - -public class XmlPrettyPrinter { - - public static String prettyPrintByTransformer(String xmlString, int indent, boolean ignoreDeclaration) { - - try { - final InputSource src = new InputSource(new StringReader(xmlString)); - final Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(src); - - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - transformerFactory.setAttribute("indent-number", indent); - Transformer transformer = transformerFactory.newTransformer(new StreamSource(new StringReader(readPrettyPrintXslt()))); - // Using the default transformer will create empty lines in Java9+ -// Transformer transformer = transformerFactory.newTransformer(); - transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); - transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, ignoreDeclaration ? "yes" : "no"); - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); - // Alternatively, we can set indent-size on the transformer object - // transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", String.valueOf(indent)); - Writer out = new StringWriter(); - transformer.transform(new DOMSource(document), new StreamResult(out)); - return out.toString(); - } catch (Exception e) { - throw new RuntimeException("Error occurs when pretty-printing xml:\n" + xmlString, e); - } - } - - - public static String prettyPrintByDom4j(String xmlString, int indent, boolean skipDeclaration) { - try { - final OutputFormat format = OutputFormat.createPrettyPrint(); - format.setEncoding("UTF-8"); - format.setIndentSize(indent); - format.setSuppressDeclaration(skipDeclaration); - - final org.dom4j.Document document = DocumentHelper.parseText(xmlString); - final StringWriter sw = new StringWriter(); - final XMLWriter writer = new XMLWriter(sw, format); - writer.write(document); - return sw.toString(); - } catch (Exception e) { - throw new RuntimeException("Error occurs when pretty-printing xml:\n" + xmlString, e); - } - } - - public static void main(String[] args) throws IOException { - InputStream inputStream = XmlPrettyPrinter.class.getResourceAsStream("/xml/emails.xml"); - String xmlString = readFromInputStream(inputStream); - System.out.println("Pretty printing by Transformer"); - System.out.println("============================================="); - System.out.println(prettyPrintByTransformer(xmlString, 2, true)); - System.out.println("============================================="); - System.out.println("Pretty printing by Dom4j"); - System.out.println("============================================="); - System.out.println(prettyPrintByDom4j(xmlString, 8, false)); - System.out.println("============================================="); - } - - - private static String readPrettyPrintXslt() throws IOException { - InputStream inputStream = XmlPrettyPrinter.class.getResourceAsStream("/xml/prettyprint.xsl"); - return readFromInputStream(inputStream); - } - - private static String readFromInputStream(InputStream inputStream) throws IOException { - StringBuilder resultStringBuilder = new StringBuilder(); - try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream))) { - String line; - while ((line = br.readLine()) != null) { - resultStringBuilder.append(line).append("\n"); - } - } - return resultStringBuilder.toString(); - } -} diff --git a/xml-2/src/main/java/com/baeldung/xml/validation/XmlErrorHandler.java b/xml-2/src/main/java/com/baeldung/xml/validation/XmlErrorHandler.java deleted file mode 100644 index 2a4651a029..0000000000 --- a/xml-2/src/main/java/com/baeldung/xml/validation/XmlErrorHandler.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.baeldung.xml.validation; - -import org.xml.sax.ErrorHandler; -import org.xml.sax.SAXParseException; - -import java.util.ArrayList; -import java.util.List; - -public class XmlErrorHandler implements ErrorHandler { - - private List exceptions; - - public XmlErrorHandler() { - this.exceptions = new ArrayList<>(); - } - - public List getExceptions() { - return exceptions; - } - - @Override - public void warning(SAXParseException exception) { - exceptions.add(exception); - } - - @Override - public void error(SAXParseException exception) { - exceptions.add(exception); - } - - @Override - public void fatalError(SAXParseException exception) { - exceptions.add(exception); - } -} diff --git a/xml-2/src/main/java/com/baeldung/xml/validation/XmlValidator.java b/xml-2/src/main/java/com/baeldung/xml/validation/XmlValidator.java deleted file mode 100644 index 57eccab193..0000000000 --- a/xml-2/src/main/java/com/baeldung/xml/validation/XmlValidator.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.baeldung.xml.validation; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -import javax.xml.XMLConstants; -import javax.xml.transform.Source; -import javax.xml.transform.stream.StreamSource; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; -import javax.xml.validation.Validator; -import java.io.File; -import java.io.IOException; -import java.util.List; - -public class XmlValidator { - - private static final Logger LOGGER = LoggerFactory.getLogger(XmlValidator.class); - - private String xsdPath; - private String xmlPath; - - public XmlValidator(String xsdPath, String xmlPath) { - this.xsdPath = xsdPath; - this.xmlPath = xmlPath; - } - - public boolean isValid() throws IOException, SAXException { - Validator validator = initValidator(xsdPath); - try { - validator.validate(new StreamSource(getFile(xmlPath))); - return true; - } catch (SAXException e) { - return false; - } - } - - public List listParsingExceptions() throws IOException, SAXException { - XmlErrorHandler xsdErrorHandler = new XmlErrorHandler(); - Validator validator = initValidator(xsdPath); - validator.setErrorHandler(xsdErrorHandler); - try { - validator.validate(new StreamSource(getFile(xmlPath))); - } catch (SAXParseException e) {} - xsdErrorHandler.getExceptions().forEach(e -> LOGGER.info(String.format("Line number: %s, Column number: %s. %s", e.getLineNumber(), e.getColumnNumber(), e.getMessage()))); - return xsdErrorHandler.getExceptions(); - } - - private Validator initValidator(String xsdPath) throws SAXException { - SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - Source schemaFile = new StreamSource(getFile(xsdPath)); - Schema schema = factory.newSchema(schemaFile); - return schema.newValidator(); - } - - private File getFile(String location) { - return new File(getClass().getClassLoader().getResource(location).getFile()); - } - -} diff --git a/xml/src/main/java/com/baeldung/xml/XMLDocumentWriter.java b/xml-2/src/main/java/com/isharkfly/xml/XMLDocumentWriter.java similarity index 84% rename from xml/src/main/java/com/baeldung/xml/XMLDocumentWriter.java rename to xml-2/src/main/java/com/isharkfly/xml/XMLDocumentWriter.java index e33fc5fe1d..6cb21d1a71 100644 --- a/xml/src/main/java/com/baeldung/xml/XMLDocumentWriter.java +++ b/xml-2/src/main/java/com/isharkfly/xml/XMLDocumentWriter.java @@ -1,18 +1,13 @@ -package com.baeldung.xml; +package com.isharkfly.xml; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; +import org.w3c.dom.Document; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; +import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; - -import org.w3c.dom.Document; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; public class XMLDocumentWriter { diff --git a/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java b/xml-2/src/main/java/com/isharkfly/xml/attribute/Dom4jTransformer.java similarity index 94% rename from xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java rename to xml-2/src/main/java/com/isharkfly/xml/attribute/Dom4jTransformer.java index d4fdeb0d58..25020ef50d 100644 --- a/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xml/attribute/Dom4jTransformer.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.attribute; +package com.isharkfly.xml.attribute; import org.dom4j.*; import org.dom4j.io.DocumentSource; @@ -27,7 +27,7 @@ public Dom4jTransformer(String resourcePath) throws DocumentException, SAXExcept this.input = xmlReader.read(resourcePath); } - public String modifyAttribute(String attribute, String oldValue, String newValue) throws TransformerException { + public String modifyAttribute(String attribute, String oldValue, String newValue) throws TransformerException, TransformerException { // 2- Locate the node(s) with xpath, we can use index and iterator too. String expr = String.format("//*[contains(@%s, '%s')]", attribute, oldValue); XPath xpath = DocumentHelper.createXPath(expr); diff --git a/xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java b/xml-2/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java similarity index 85% rename from xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java rename to xml-2/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java index a55b00950c..f7ae242cf1 100644 --- a/xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java @@ -1,28 +1,23 @@ -package com.baeldung.xml.attribute; +package com.isharkfly.xml.attribute; -import java.io.IOException; -import java.io.StringWriter; -import java.io.Writer; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerFactoryConfigurationError; +import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; public class JaxpTransformer { @@ -37,7 +32,8 @@ public JaxpTransformer(String resourcePath) throws SAXException, IOException, Pa .parse(resourcePath); } - public String modifyAttribute(String attribute, String oldValue, String newValue) throws XPathExpressionException, TransformerFactoryConfigurationError, TransformerException { + public String modifyAttribute(String attribute, String oldValue, String newValue) + throws XPathExpressionException, TransformerFactoryConfigurationError, TransformerException, TransformerConfigurationException { // 2- Locate the node(s) with xpath XPath xpath = XPathFactory.newInstance() .newXPath(); diff --git a/xml/src/main/java/com/baeldung/xml/attribute/JooxTransformer.java b/xml-2/src/main/java/com/isharkfly/xml/attribute/JooxTransformer.java similarity index 96% rename from xml/src/main/java/com/baeldung/xml/attribute/JooxTransformer.java rename to xml-2/src/main/java/com/isharkfly/xml/attribute/JooxTransformer.java index d36d60ec59..e1ffcbb39e 100644 --- a/xml/src/main/java/com/baeldung/xml/attribute/JooxTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xml/attribute/JooxTransformer.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.attribute; +package com.isharkfly.xml.attribute; import org.joox.JOOX; import org.joox.Match; diff --git a/xml/src/main/java/com/ossez/xml/attribute/jmh/AttributeBenchMark.java b/xml-2/src/main/java/com/isharkfly/xml/attribute/jmh/AttributeBenchMark.java similarity index 78% rename from xml/src/main/java/com/ossez/xml/attribute/jmh/AttributeBenchMark.java rename to xml-2/src/main/java/com/isharkfly/xml/attribute/jmh/AttributeBenchMark.java index 6b4df2948b..f785de395b 100644 --- a/xml/src/main/java/com/ossez/xml/attribute/jmh/AttributeBenchMark.java +++ b/xml-2/src/main/java/com/isharkfly/xml/attribute/jmh/AttributeBenchMark.java @@ -1,28 +1,21 @@ -package com.ossez.xml.attribute.jmh; +package com.isharkfly.xml.attribute.jmh; -import java.io.IOException; -import java.util.concurrent.TimeUnit; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.xpath.XPathExpressionException; - -import com.ossez.xml.attribute.JaxpTransformer; +import com.isharkfly.xml.attribute.Dom4jTransformer; +import com.isharkfly.xml.attribute.JaxpTransformer; +import com.isharkfly.xml.attribute.JooxTransformer; import org.dom4j.DocumentException; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.RunnerException; import org.openjdk.jmh.runner.options.Options; import org.openjdk.jmh.runner.options.OptionsBuilder; import org.xml.sax.SAXException; -import com.ossez.xml.attribute.Dom4jTransformer; -import com.ossez.xml.attribute.JooxTransformer; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.xpath.XPathExpressionException; +import java.io.IOException; +import java.util.concurrent.TimeUnit; @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MILLISECONDS) @@ -63,7 +56,8 @@ public String jooxBenchmark() throws IOException, SAXException { } @Benchmark - public String jaxpBenchmark() throws TransformerException, ParserConfigurationException, SAXException, IOException, XPathExpressionException { + public String jaxpBenchmark() + throws TransformerException, ParserConfigurationException, SAXException, IOException, XPathExpressionException { String path = this.getClass() .getResource("/xml/attribute.xml") .toString(); diff --git a/xml/src/main/java/com/baeldung/xml/jibx/Customer.java b/xml-2/src/main/java/com/isharkfly/xml/jibx/Customer.java similarity index 96% rename from xml/src/main/java/com/baeldung/xml/jibx/Customer.java rename to xml-2/src/main/java/com/isharkfly/xml/jibx/Customer.java index a660451080..f5e19a5b05 100644 --- a/xml/src/main/java/com/baeldung/xml/jibx/Customer.java +++ b/xml-2/src/main/java/com/isharkfly/xml/jibx/Customer.java @@ -4,7 +4,7 @@ * Copyright 2008 Stefan Jäger * */ -package com.baeldung.xml.jibx; +package com.isharkfly.xml.jibx; import org.apache.commons.lang3.builder.ToStringBuilder; diff --git a/xml/src/main/java/com/ossez/xml/jibx/Identity.java b/xml-2/src/main/java/com/isharkfly/xml/jibx/Identity.java similarity index 85% rename from xml/src/main/java/com/ossez/xml/jibx/Identity.java rename to xml-2/src/main/java/com/isharkfly/xml/jibx/Identity.java index 5ced94b355..026addfca7 100644 --- a/xml/src/main/java/com/ossez/xml/jibx/Identity.java +++ b/xml-2/src/main/java/com/isharkfly/xml/jibx/Identity.java @@ -1,4 +1,4 @@ -package com.ossez.xml.jibx; +package com.isharkfly.xml.jibx; public class Identity { diff --git a/xml/src/main/java/com/baeldung/xml/jibx/Person.java b/xml-2/src/main/java/com/isharkfly/xml/jibx/Person.java similarity index 92% rename from xml/src/main/java/com/baeldung/xml/jibx/Person.java rename to xml-2/src/main/java/com/isharkfly/xml/jibx/Person.java index 43af659319..9d30a8f180 100644 --- a/xml/src/main/java/com/baeldung/xml/jibx/Person.java +++ b/xml-2/src/main/java/com/isharkfly/xml/jibx/Person.java @@ -4,7 +4,7 @@ * Copyright 2008 Stefan Jäger * */ -package com.baeldung.xml.jibx; +package com.isharkfly.xml.jibx; import org.apache.commons.lang3.builder.ToStringBuilder; diff --git a/xml/src/main/java/com/baeldung/xml/jibx/Phone.java b/xml-2/src/main/java/com/isharkfly/xml/jibx/Phone.java similarity index 83% rename from xml/src/main/java/com/baeldung/xml/jibx/Phone.java rename to xml-2/src/main/java/com/isharkfly/xml/jibx/Phone.java index 783f2ee6fb..eec95fcc75 100644 --- a/xml/src/main/java/com/baeldung/xml/jibx/Phone.java +++ b/xml-2/src/main/java/com/isharkfly/xml/jibx/Phone.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.jibx; +package com.isharkfly.xml.jibx; public class Phone { diff --git a/xml-2/src/main/java/com/baeldung/xml/tohashmap/Employee.java b/xml-2/src/main/java/com/isharkfly/xml/tohashmap/Employee.java similarity index 93% rename from xml-2/src/main/java/com/baeldung/xml/tohashmap/Employee.java rename to xml-2/src/main/java/com/isharkfly/xml/tohashmap/Employee.java index c9c40e743a..b9dfa7f037 100644 --- a/xml-2/src/main/java/com/baeldung/xml/tohashmap/Employee.java +++ b/xml-2/src/main/java/com/isharkfly/xml/tohashmap/Employee.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.tohashmap; +package com.isharkfly.xml.tohashmap; public class Employee { private String id; diff --git a/xml-2/src/main/java/com/baeldung/xml/tohashmap/Employees.java b/xml-2/src/main/java/com/isharkfly/xml/tohashmap/Employees.java similarity index 72% rename from xml-2/src/main/java/com/baeldung/xml/tohashmap/Employees.java rename to xml-2/src/main/java/com/isharkfly/xml/tohashmap/Employees.java index d2f2276e5c..00d132b608 100644 --- a/xml-2/src/main/java/com/baeldung/xml/tohashmap/Employees.java +++ b/xml-2/src/main/java/com/isharkfly/xml/tohashmap/Employees.java @@ -1,9 +1,10 @@ -package com.baeldung.xml.tohashmap; +package com.isharkfly.xml.tohashmap; + +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.List; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "employees") public class Employees { diff --git a/xml-2/src/main/java/com/baeldung/xml/tohashmap/XmlToHashMap.java b/xml-2/src/main/java/com/isharkfly/xml/tohashmap/XmlToHashMap.java similarity index 97% rename from xml-2/src/main/java/com/baeldung/xml/tohashmap/XmlToHashMap.java rename to xml-2/src/main/java/com/isharkfly/xml/tohashmap/XmlToHashMap.java index ec651486ac..45b91d1748 100644 --- a/xml-2/src/main/java/com/baeldung/xml/tohashmap/XmlToHashMap.java +++ b/xml-2/src/main/java/com/isharkfly/xml/tohashmap/XmlToHashMap.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.tohashmap; +package com.isharkfly.xml.tohashmap; import java.io.IOException; import java.io.StringReader; @@ -9,9 +9,6 @@ import java.util.function.Function; import java.util.stream.Collectors; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -21,6 +18,9 @@ import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Unmarshaller; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; diff --git a/xml-2/src/main/java/com/baeldung/xml/xml2csv/Xml2CsvExample.java b/xml-2/src/main/java/com/isharkfly/xml/xml2csv/Xml2CsvExample.java similarity index 99% rename from xml-2/src/main/java/com/baeldung/xml/xml2csv/Xml2CsvExample.java rename to xml-2/src/main/java/com/isharkfly/xml/xml2csv/Xml2CsvExample.java index 84098b33f8..7149971a40 100644 --- a/xml-2/src/main/java/com/baeldung/xml/xml2csv/Xml2CsvExample.java +++ b/xml-2/src/main/java/com/isharkfly/xml/xml2csv/Xml2CsvExample.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.xml2csv; +package com.isharkfly.xml.xml2csv; import java.io.BufferedWriter; import java.io.File; diff --git a/xml-2/src/main/java/com/isharkfly/xml/xml2pdf/XmlToPdfConverter.java b/xml-2/src/main/java/com/isharkfly/xml/xml2pdf/XmlToPdfConverter.java new file mode 100644 index 0000000000..2cb02c0b06 --- /dev/null +++ b/xml-2/src/main/java/com/isharkfly/xml/xml2pdf/XmlToPdfConverter.java @@ -0,0 +1,55 @@ +package com.isharkfly.xml.xml2pdf; + +import com.itextpdf.text.Document; +import com.itextpdf.text.Paragraph; +import com.itextpdf.text.pdf.PdfWriter; +import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.apps.Fop; +import org.apache.fop.apps.FopFactory; +import org.apache.fop.apps.MimeConstants; + +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.sax.SAXResult; +import javax.xml.transform.stream.StreamSource; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Paths; + +public class XmlToPdfConverter { + + public static void convertXMLtoPDFUsingFop(String xmlFilePath, String xsltFilePath, String pdfFilePath) throws Exception { + // Initialize FOP + FopFactory fopFactory = FopFactory.newInstance(new File(".").toURI()); + FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); + + // Specify output stream for PDF + try (OutputStream out = new BufferedOutputStream(Files.newOutputStream(new File(pdfFilePath).toPath()))) { + Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, out); + // Create Transformer from XSLT + TransformerFactory factory = TransformerFactory.newInstance(); + Transformer transformer = factory.newTransformer(new StreamSource(new File(xsltFilePath))); + // Apply transformation + Source src = new StreamSource(new File(xmlFilePath)); + Result res = new SAXResult(fop.getDefaultHandler()); + transformer.transform(src, res); + } + } + + public static void convertXMLtoPDFUsingIText(String xmlFilePath, String pdfFilePath) throws Exception { + try (FileOutputStream outputStream = new FileOutputStream(pdfFilePath)) { + Document document = new Document(); + PdfWriter.getInstance(document, outputStream); + document.open(); + // Read XML content and add it to the Document + String xmlContent = new String(Files.readAllBytes(Paths.get(xmlFilePath))); + document.add(new Paragraph(xmlContent)); + document.close(); + } + } +} diff --git a/xml/src/main/java/com/ossez/xmlhtml/Application.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/Application.java similarity index 58% rename from xml/src/main/java/com/ossez/xmlhtml/Application.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/Application.java index 012c6fd783..3216b208cc 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/Application.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/Application.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml; +package com.isharkfly.xmlhtml; -import com.ossez.xmlhtml.helpers.XMLRunner; +import com.isharkfly.xmlhtml.helpers.XMLRunner; public class Application { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/Constants.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/Constants.java similarity index 96% rename from xml/src/main/java/com/baeldung/xmlhtml/Constants.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/Constants.java index 88fc5637df..2df0a7c2ef 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/Constants.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/Constants.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml; +package com.isharkfly.xmlhtml; public class Constants { diff --git a/xml/src/main/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformer.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformer.java similarity index 94% rename from xml/src/main/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformer.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformer.java index e5d5cb673b..0e635f8170 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformer.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.freemarker; +package com.isharkfly.xmlhtml.freemarker; -import com.ossez.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; diff --git a/xml/src/main/java/com/ossez/xmlhtml/helpers/XMLRunner.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/helpers/XMLRunner.java similarity index 52% rename from xml/src/main/java/com/ossez/xmlhtml/helpers/XMLRunner.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/helpers/XMLRunner.java index 22678df4a7..98a712a4a0 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/helpers/XMLRunner.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/helpers/XMLRunner.java @@ -1,7 +1,7 @@ -package com.ossez.xmlhtml.helpers; +package com.isharkfly.xmlhtml.helpers; -import com.ossez.xmlhtml.helpers.jaxb.JAXBHelper; +import com.isharkfly.xmlhtml.helpers.jaxb.JAXBHelper; public class XMLRunner { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/helpers/jaxb/JAXBHelper.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java similarity index 79% rename from xml/src/main/java/com/baeldung/xmlhtml/helpers/jaxb/JAXBHelper.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java index 715f963f2e..485e92e910 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/helpers/jaxb/JAXBHelper.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java @@ -1,19 +1,18 @@ -package com.baeldung.xmlhtml.helpers.jaxb; +package com.isharkfly.xmlhtml.helpers.jaxb; -import com.baeldung.xmlhtml.pojo.jaxb.html.ExampleHTML; -import com.baeldung.xmlhtml.pojo.jaxb.html.elements.Body; -import com.baeldung.xmlhtml.pojo.jaxb.html.elements.CustomElement; -import com.baeldung.xmlhtml.pojo.jaxb.html.elements.Meta; -import com.baeldung.xmlhtml.pojo.jaxb.html.elements.NestedElement; -import com.baeldung.xmlhtml.pojo.jaxb.xml.XMLExample; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; +import com.isharkfly.xmlhtml.pojo.jaxb.html.ExampleHTML; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Body; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.CustomElement; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Meta; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.NestedElement; +import com.isharkfly.xmlhtml.pojo.jaxb.xml.XMLExample; +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; import java.io.File; -import static com.baeldung.xmlhtml.Constants.*; +import static com.isharkfly.xmlhtml.Constants.*; public class JAXBHelper { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/jaxp/JaxpTransformer.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformer.java similarity index 99% rename from xml/src/main/java/com/baeldung/xmlhtml/jaxp/JaxpTransformer.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformer.java index 3c288122a3..83d3aef2a8 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/jaxp/JaxpTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformer.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.jaxp; +package com.isharkfly.xmlhtml.jaxp; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/xml/src/main/java/com/ossez/xmlhtml/mustache/MustacheTransformer.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/mustache/MustacheTransformer.java similarity index 90% rename from xml/src/main/java/com/ossez/xmlhtml/mustache/MustacheTransformer.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/mustache/MustacheTransformer.java index cba7da8abe..41c9b5f43b 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/mustache/MustacheTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/mustache/MustacheTransformer.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.mustache; +package com.isharkfly.xmlhtml.mustache; -import com.ossez.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import com.github.mustachejava.DefaultMustacheFactory; import com.github.mustachejava.Mustache; import com.github.mustachejava.MustacheFactory; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/ExampleHTML.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java similarity index 75% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/ExampleHTML.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java index 7452e2e8f8..5971c27106 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/ExampleHTML.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java @@ -1,9 +1,9 @@ -package com.ossez.xmlhtml.pojo.jaxb.html; +package com.isharkfly.xmlhtml.pojo.jaxb.html; -import com.ossez.xmlhtml.pojo.jaxb.html.elements.Body; -import com.ossez.xmlhtml.pojo.jaxb.html.elements.Meta; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Body; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Meta; +import jakarta.xml.bind.annotation.*; -import javax.xml.bind.annotation.*; import java.util.ArrayList; import java.util.List; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Body.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Body.java similarity index 84% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Body.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Body.java index 2396a2d599..0fcdd47c9c 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Body.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Body.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class Body { diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/CustomElement.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/CustomElement.java similarity index 67% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/CustomElement.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/CustomElement.java index 2356cf06c2..2d9e2116d4 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/CustomElement.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/CustomElement.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; -import javax.xml.bind.annotation.XmlValue; +import jakarta.xml.bind.annotation.XmlValue; public class CustomElement { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/Meta.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java similarity index 72% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/Meta.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java index 11b6b86c05..e074b09030 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/Meta.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java @@ -1,7 +1,7 @@ -package com.baeldung.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlValue; +import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlValue; public class Meta { diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/NestedElement.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java similarity index 74% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/NestedElement.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java index 58b7a694ad..ef1ec422b5 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/NestedElement.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class NestedElement { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/XMLExample.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/XMLExample.java similarity index 58% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/XMLExample.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/XMLExample.java index 587cf69223..4dbd324a32 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/XMLExample.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/XMLExample.java @@ -1,9 +1,8 @@ -package com.baeldung.xmlhtml.pojo.jaxb.xml; +package com.isharkfly.xmlhtml.pojo.jaxb.xml; -import com.baeldung.xmlhtml.pojo.jaxb.xml.elements.Ancestor; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import com.isharkfly.xmlhtml.pojo.jaxb.xml.elements.Ancestor; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "xmlexample") public class XMLExample { diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java similarity index 85% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java index 9608a9d8ec..3309a401a9 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class Ancestor { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java similarity index 68% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java index 50624cb9fa..31c3e5b96f 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; -import javax.xml.bind.annotation.XmlValue; +import jakarta.xml.bind.annotation.XmlValue; public class DescendantOne { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java similarity index 68% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java index 7c3ce9b6f7..1b9fc16c50 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; -import javax.xml.bind.annotation.XmlValue; +import jakarta.xml.bind.annotation.XmlValue; public class DescendantThree { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java similarity index 76% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java index 1ca989560b..7aa200d8a8 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class DescendantTwo { diff --git a/xml/src/main/java/com/ossez/xmlhtml/stax/StaxTransformer.java b/xml-2/src/main/java/com/isharkfly/xmlhtml/stax/StaxTransformer.java similarity index 99% rename from xml/src/main/java/com/ossez/xmlhtml/stax/StaxTransformer.java rename to xml-2/src/main/java/com/isharkfly/xmlhtml/stax/StaxTransformer.java index 02c5cc2fac..7343da363f 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/stax/StaxTransformer.java +++ b/xml-2/src/main/java/com/isharkfly/xmlhtml/stax/StaxTransformer.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.stax; +package com.isharkfly.xmlhtml.stax; import javax.xml.stream.*; import java.io.FileInputStream; diff --git a/xml-2/src/main/resources/customer-binding.xml b/xml-2/src/main/resources/customer-binding.xml new file mode 100644 index 0000000000..f99be2deaa --- /dev/null +++ b/xml-2/src/main/resources/customer-binding.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/attribute.xml b/xml-2/src/main/resources/xml/attribute.xml new file mode 100644 index 0000000000..c8fa3f1071 --- /dev/null +++ b/xml-2/src/main/resources/xml/attribute.xml @@ -0,0 +1,5 @@ + + + john@email.com + mary@email.com + \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/attribute_expected.xml b/xml-2/src/main/resources/xml/attribute_expected.xml new file mode 100644 index 0000000000..1d5d7b0cea --- /dev/null +++ b/xml-2/src/main/resources/xml/attribute_expected.xml @@ -0,0 +1,5 @@ + + + john@email.com + mary@email.com + \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/in.xml b/xml-2/src/main/resources/xml/in.xml new file mode 100644 index 0000000000..6fcb404012 --- /dev/null +++ b/xml-2/src/main/resources/xml/in.xml @@ -0,0 +1,11 @@ + + + + Yo + + + DustyOrb + + + + \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/jaxb.html b/xml-2/src/main/resources/xml/jaxb.html new file mode 100644 index 0000000000..80b894cff7 --- /dev/null +++ b/xml-2/src/main/resources/xml/jaxb.html @@ -0,0 +1,14 @@ + + + + + + +

descendantOne: Yo

+
+

descendantThree: + DustyOrb +

+
+ + diff --git a/xml-2/src/main/resources/xml/jaxp.html b/xml-2/src/main/resources/xml/jaxp.html new file mode 100644 index 0000000000..5392eef509 --- /dev/null +++ b/xml-2/src/main/resources/xml/jaxp.html @@ -0,0 +1,13 @@ + + + + + +

descendantOne: Yo

+
+

descendantThree: + DustyOrb +

+
+ + diff --git a/xml-2/src/main/resources/xml/prettyprint.xsl b/xml-2/src/main/resources/xml/prettyprint.xsl deleted file mode 100644 index 3941269f40..0000000000 --- a/xml-2/src/main/resources/xml/prettyprint.xsl +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/stax.html b/xml-2/src/main/resources/xml/stax.html new file mode 100644 index 0000000000..01951dc7de --- /dev/null +++ b/xml-2/src/main/resources/xml/stax.html @@ -0,0 +1,15 @@ + + + + + +

descendantOne: Yo

+
+

+ descendantThree: + DustyOrb + +

+
+ + \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/validation/baeldung.xml b/xml-2/src/main/resources/xml/validation/baeldung.xml deleted file mode 100644 index 31ae4b4aa6..0000000000 --- a/xml-2/src/main/resources/xml/validation/baeldung.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - Baeldung -
- 00001 - New York -
-
\ No newline at end of file diff --git a/xml-2/src/main/resources/xml/validation/full-person.xsd b/xml-2/src/main/resources/xml/validation/full-person.xsd deleted file mode 100644 index ea268c3a47..0000000000 --- a/xml-2/src/main/resources/xml/validation/full-person.xsd +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/xml-2/src/main/resources/xml/validation/person.xsd b/xml-2/src/main/resources/xml/validation/person.xsd deleted file mode 100644 index 22c41b6a22..0000000000 --- a/xml-2/src/main/resources/xml/validation/person.xsd +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/xml-2/src/main/resources/xmltopdf/data-input.xml b/xml-2/src/main/resources/xmltopdf/data-input.xml new file mode 100644 index 0000000000..385fcf661c --- /dev/null +++ b/xml-2/src/main/resources/xmltopdf/data-input.xml @@ -0,0 +1,26 @@ + + + + + + Death and the Penguin + Andrey Kurkov + 10.99 + + + Kobzar + Taras Shevchenko + 8.50 + + + + + + + Voroshilovgrad + Serhiy Zhadan + 12.99 + + + + diff --git a/xml-2/src/main/resources/xmltopdf/style.xsl b/xml-2/src/main/resources/xmltopdf/style.xsl new file mode 100644 index 0000000000..a0c5fbb49a --- /dev/null +++ b/xml-2/src/main/resources/xmltopdf/style.xsl @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + Bookstore Inventory + + + + + + + + + + Bookstore ID + + + Book ID + + + Title + + + Author + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xml-2/src/test/java/com/baeldung/xml/json2xml/JsonToXmlUnitTest.java b/xml-2/src/test/java/com/baeldung/xml/json2xml/JsonToXmlUnitTest.java deleted file mode 100644 index 275a734b28..0000000000 --- a/xml-2/src/test/java/com/baeldung/xml/json2xml/JsonToXmlUnitTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.baeldung.xml.json2xml; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; -import com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator; -import com.github.underscore.U; -import org.json.JSONObject; -import org.json.XML; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -public class JsonToXmlUnitTest { - - @Test - public void givenJsonString_whenConvertToXMLUsingJsonJava_thenConverted() { - String jsonString = "{\"name\":\"John\", \"age\":20, \"address\":{\"street\":\"Wall Street\", \"city\":\"New York\"}}"; - JSONObject jsonObject = new JSONObject(jsonString); - String xmlString = XML.toString(jsonObject); - Assertions.assertEquals("
New YorkWall Street
John20", xmlString); - } - - @Test - public void givenJsonString_whenConvertToXMLUsingJackson_thenConverted() throws JsonProcessingException { - String jsonString = "{\"name\":\"John\", \"age\":20, \"address\":{\"street\":\"Wall Street\", \"city\":\"New York\"}}"; - ObjectMapper objectMapper = new ObjectMapper(); - JsonNode jsonNode = objectMapper.readTree(jsonString); - String xmlString = new XmlMapper().writeValueAsString(jsonNode); - Assertions.assertEquals("John20
Wall StreetNew York
", xmlString); - } - - @Test - public void givenJsonString_whenConvertToXMLUsingJacksonWithXMLDeclarationAndRoot_thenConverted() throws JsonProcessingException { - String jsonString = "{\"name\":\"John\", \"age\":20, \"address\":{\"street\":\"Wall Street\", \"city\":\"New York\"}}"; - ObjectMapper objectMapper = new ObjectMapper(); - JsonNode jsonNode = objectMapper.readTree(jsonString); - XmlMapper xmlMapper = new XmlMapper(); - xmlMapper.configure(SerializationFeature.INDENT_OUTPUT, true); - xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true); - xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_1_1, true); - String xmlString = xmlMapper.writer().withRootName("root").withDefaultPrettyPrinter().writeValueAsString(jsonNode); - Assertions.assertEquals("" + System.lineSeparator() + - "" + System.lineSeparator() + - " John" + System.lineSeparator() + - " 20" + System.lineSeparator() + - "
" + System.lineSeparator() + - " Wall Street" + System.lineSeparator() + - " New York" + System.lineSeparator() + - "
" + System.lineSeparator() + - "
" + System.lineSeparator(), xmlString); - } - - @Test - public void givenJsonString_whenConvertToXMLUsingUnderscoreJava_thenConverted() { - String jsonString = "{\"name\":\"John\", \"age\":20}"; - String xmlString = U.jsonToXml(jsonString); - Assertions.assertEquals("\n" + - "\n" + - " John\n" + - " 20\n" + - "", xmlString); - } - - @Test - public void givenJsonString_whenConvertToXMLUsingUnderscoreJavaWithoutAttributes_thenConverted() { - String jsonString = "{\"name\":\"John\", \"age\":20}"; - String xmlString = U.jsonToXml(jsonString, U.JsonToXmlMode.REMOVE_ATTRIBUTES); - Assertions.assertEquals("\n" + - "\n" + - " John\n" + - " 20\n" + - "", xmlString); - } -} - diff --git a/xml-2/src/test/java/com/baeldung/xml/validation/XmlValidatorUnitTest.java b/xml-2/src/test/java/com/baeldung/xml/validation/XmlValidatorUnitTest.java deleted file mode 100644 index 2eb20a9bf2..0000000000 --- a/xml-2/src/test/java/com/baeldung/xml/validation/XmlValidatorUnitTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.baeldung.xml.validation; - -import org.junit.jupiter.api.Test; -import org.xml.sax.SAXException; -import java.io.IOException; - -import static org.junit.jupiter.api.Assertions.*; - -class XmlValidatorUnitTest { - - private static final String BAELDUNG_XML_PATH = "xml/validation/baeldung.xml"; - private static final String PERSON_XSD_PATH = "xml/validation/person.xsd"; - private static final String FULL_PERSON_XSD_PATH = "xml/validation/full-person.xsd"; - - @Test - public void givenValidXML_WhenIsValid_ThenTrue() throws IOException, SAXException { - assertTrue(new XmlValidator(PERSON_XSD_PATH, BAELDUNG_XML_PATH).isValid()); - } - - @Test - public void givenInvalidXML_WhenIsValid_ThenFalse() throws IOException, SAXException { - assertFalse(new XmlValidator(FULL_PERSON_XSD_PATH, BAELDUNG_XML_PATH).isValid()); - } - - @Test - public void givenValidXML_WhenListParsingExceptions_ThenNone() throws IOException, SAXException { - assertEquals(0, new XmlValidator(PERSON_XSD_PATH, BAELDUNG_XML_PATH).listParsingExceptions().size()); - } - - @Test - public void givenInvalidXML_WhenListParsingExceptions_ThenHasThree() throws IOException, SAXException { - assertEquals(3, new XmlValidator(FULL_PERSON_XSD_PATH, BAELDUNG_XML_PATH).listParsingExceptions().size()); - } - -} diff --git a/xml-2/src/test/java/com/baeldung/xml/xml2string/XMLObjectToStringUnitTest.java b/xml-2/src/test/java/com/baeldung/xml/xml2string/XMLObjectToStringUnitTest.java deleted file mode 100644 index 0afa3424f3..0000000000 --- a/xml-2/src/test/java/com/baeldung/xml/xml2string/XMLObjectToStringUnitTest.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.baeldung.xml2string; - -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlObject; -import org.apache.xmlbeans.XmlOptions; -import org.junit.Test; -import org.junit.Before; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import java.io.StringWriter; - -import static org.junit.Assert.assertTrue; - -public class XMLObjectToStringUnitTest { - private Document document; - - @Before - public void setup() throws ParserConfigurationException { -// Create a DocumentBuilder - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - -// Create a new Document - document = builder.newDocument(); - -// Create the root element - Element rootElement = document.createElement("root"); - document.appendChild(rootElement); - -// Create child elements - Element childElement1 = document.createElement("child1"); - Element childElement2 = document.createElement("child2"); - -// Add text content to the child elements - childElement1.appendChild(document.createTextNode("This is child element 1")); - childElement2.appendChild(document.createTextNode("This is child element 2")); - -// Append child elements to the root element - rootElement.appendChild(childElement1); - rootElement.appendChild(childElement2); - } - - @Test - public void givenXMLDocument_whenUsingTransformer_thenConvertXMLToString() throws TransformerException { - TransformerFactory transformerFactory = TransformerFactory.newInstance(); - Transformer transformer = transformerFactory.newTransformer(); - StringWriter stringWriter = new StringWriter(); - transformer.transform(new DOMSource(document), new StreamResult(stringWriter)); - String result = stringWriter.toString(); - - assertTrue(result.contains("")); - assertTrue(result.contains("This is child element 1")); - assertTrue(result.contains("This is child element 2")); - } - - @Test - public void givenXMLDocument_whenUsingXmlBeans_thenConvertXMLToString() { - try { - - XmlObject xmlObject = XmlObject.Factory.parse(document); - - XmlOptions options = new XmlOptions(); - options.setSavePrettyPrint(); - options.setUseDefaultNamespace(); - options.setSaveAggressiveNamespaces(); - - String xmlString = xmlObject.xmlText(options); - - xmlString = "" + xmlString; - - assertTrue(xmlString.contains("")); - assertTrue(xmlString.contains("This is child element 1")); - assertTrue(xmlString.contains("This is child element 2")); - } catch (XmlException e) { - e.printStackTrace(); - } - } -} diff --git a/xml/src/test/java/com/baeldung/xml/XMLDocumentWriterUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/XMLDocumentWriterUnitTest.java similarity index 96% rename from xml/src/test/java/com/baeldung/xml/XMLDocumentWriterUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/XMLDocumentWriterUnitTest.java index 68f787a054..7322ee061b 100644 --- a/xml/src/test/java/com/baeldung/xml/XMLDocumentWriterUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/XMLDocumentWriterUnitTest.java @@ -1,15 +1,15 @@ -package com.baeldung.xml; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; +package com.isharkfly.xml; +import com.isharkfly.xml.XMLDocumentWriter; import org.apache.commons.io.FileUtils; import org.junit.After; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.Element; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; import java.io.File; public class XMLDocumentWriterUnitTest { diff --git a/xml/src/test/java/com/ossez/xml/attribute/Dom4jProcessorUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/attribute/Dom4jProcessorUnitTest.java similarity index 96% rename from xml/src/test/java/com/ossez/xml/attribute/Dom4jProcessorUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/attribute/Dom4jProcessorUnitTest.java index f270b721a0..467a26efe0 100644 --- a/xml/src/test/java/com/ossez/xml/attribute/Dom4jProcessorUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/attribute/Dom4jProcessorUnitTest.java @@ -1,5 +1,6 @@ -package com.ossez.xml.attribute; +package com.isharkfly.xml.attribute; +import com.isharkfly.xml.attribute.Dom4jTransformer; import org.dom4j.DocumentException; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; @@ -8,7 +9,6 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.xpath.XPathExpressionException; - import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Files; diff --git a/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/attribute/JaxpProcessorUnitTest.java similarity index 94% rename from xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/attribute/JaxpProcessorUnitTest.java index 8d814783e0..04d6cb2b47 100644 --- a/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/attribute/JaxpProcessorUnitTest.java @@ -1,18 +1,18 @@ -package com.baeldung.xml.attribute; +package com.isharkfly.xml.attribute; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.xmlunit.assertj.XmlAssert.assertThat; - -import java.io.IOException; +import com.isharkfly.xml.attribute.JaxpTransformer; +import org.junit.jupiter.api.Test; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.xpath.XPathExpressionException; +import java.io.IOException; -import org.junit.jupiter.api.Test; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.xmlunit.assertj.XmlAssert.assertThat; /** * Unit test for {@link JaxpTransformer}. diff --git a/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/attribute/JooxProcessorUnitTest.java similarity index 96% rename from xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/attribute/JooxProcessorUnitTest.java index 0fdfcfeb52..3dc5a13343 100644 --- a/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/attribute/JooxProcessorUnitTest.java @@ -1,5 +1,6 @@ -package com.baeldung.xml.attribute; +package com.isharkfly.xml.attribute; +import com.isharkfly.xml.attribute.JooxTransformer; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; @@ -8,7 +9,6 @@ import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.xpath.XPathExpressionException; - import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Files; diff --git a/xml-2/src/test/java/com/baeldung/xml/invalidcharacters/InvalidCharactersUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/invalidcharacters/InvalidCharactersUnitTest.java similarity index 98% rename from xml-2/src/test/java/com/baeldung/xml/invalidcharacters/InvalidCharactersUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/invalidcharacters/InvalidCharactersUnitTest.java index 7878e72f97..3ca4036855 100644 --- a/xml-2/src/test/java/com/baeldung/xml/invalidcharacters/InvalidCharactersUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/invalidcharacters/InvalidCharactersUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.invalidcharacters; +package com.isharkfly.xml.invalidcharacters; import org.w3c.dom.Document; import org.xml.sax.InputSource; diff --git a/xml/src/test/java/com/baeldung/xml/jibx/CustomerUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/jibx/CustomerUnitTest.java similarity index 96% rename from xml/src/test/java/com/baeldung/xml/jibx/CustomerUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/jibx/CustomerUnitTest.java index 9a4b5bc14b..58af978645 100644 --- a/xml/src/test/java/com/baeldung/xml/jibx/CustomerUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/jibx/CustomerUnitTest.java @@ -1,5 +1,6 @@ -package com.baeldung.xml.jibx; +package com.isharkfly.xml.jibx; +import com.isharkfly.xml.jibx.Customer; import org.jibx.runtime.BindingDirectory; import org.jibx.runtime.IBindingFactory; import org.jibx.runtime.IUnmarshallingContext; diff --git a/xml-2/src/test/java/com/baeldung/xml/tohashmap/XmlToHashMapUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/tohashmap/XmlToHashMapUnitTest.java similarity index 92% rename from xml-2/src/test/java/com/baeldung/xml/tohashmap/XmlToHashMapUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/tohashmap/XmlToHashMapUnitTest.java index 5e05dd3ccb..234a180f3f 100644 --- a/xml-2/src/test/java/com/baeldung/xml/tohashmap/XmlToHashMapUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/tohashmap/XmlToHashMapUnitTest.java @@ -1,13 +1,13 @@ -package com.baeldung.xml.tohashmap; +package com.isharkfly.xml.tohashmap; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.ArrayList; import java.util.Map; -import javax.xml.bind.JAXBException; - +import com.isharkfly.xml.tohashmap.Employee; +import com.isharkfly.xml.tohashmap.XmlToHashMap; +import jakarta.xml.bind.JAXBException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/xml-2/src/test/java/com/baeldung/xml/xml2csv/Xml2CsvExampleUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/xml2csv/Xml2CsvExampleUnitTest.java similarity index 98% rename from xml-2/src/test/java/com/baeldung/xml/xml2csv/Xml2CsvExampleUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/xml2csv/Xml2CsvExampleUnitTest.java index 181d284b2d..7bdfac403e 100644 --- a/xml-2/src/test/java/com/baeldung/xml/xml2csv/Xml2CsvExampleUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/xml2csv/Xml2CsvExampleUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.xml2csv; +package com.isharkfly.xml.xml2csv; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -18,6 +18,7 @@ import javax.xml.transform.TransformerException; +import com.isharkfly.xml.xml2csv.Xml2CsvExample; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; diff --git a/xml-2/src/test/java/com/baeldung/xml/xml2document/XMLStringToDocumentObjectUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/xml2document/XMLStringToDocumentObjectUnitTest.java similarity index 95% rename from xml-2/src/test/java/com/baeldung/xml/xml2document/XMLStringToDocumentObjectUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xml/xml2document/XMLStringToDocumentObjectUnitTest.java index f573e1c96d..2d1b6cce3c 100644 --- a/xml-2/src/test/java/com/baeldung/xml/xml2document/XMLStringToDocumentObjectUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xml/xml2document/XMLStringToDocumentObjectUnitTest.java @@ -1,37 +1,37 @@ -package com.baeldung.xml2document; - -import org.junit.Test; -import org.w3c.dom.*; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import java.io.IOException; -import java.io.StringReader; - -import static org.junit.Assert.assertEquals; - -public class XMLStringToDocumentObjectUnitTest { - @Test - public void givenValidXMLString_whenParsing_thenDocumentIsCorrect() throws ParserConfigurationException { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder = factory.newDocumentBuilder(); - String xmlString = "XML Parsing Example"; - InputSource is = new InputSource(new StringReader(xmlString)); - Document xmlDoc = null; - try { - xmlDoc = builder.parse(is); - } catch (SAXException e) { - throw new RuntimeException(e); - } catch (IOException e) { - throw new RuntimeException(e); - } - - assertEquals("root", xmlDoc.getDocumentElement().getNodeName()); - assertEquals("element", xmlDoc.getDocumentElement().getElementsByTagName("element").item(0).getNodeName()); - assertEquals("XML Parsing Example", xmlDoc.getDocumentElement().getElementsByTagName("element").item(0).getTextContent()); - } -} +package com.isharkfly.xml.xml2document; + +import org.junit.Test; +import org.w3c.dom.*; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import java.io.IOException; +import java.io.StringReader; + +import static org.junit.Assert.assertEquals; + +public class XMLStringToDocumentObjectUnitTest { + @Test + public void givenValidXMLString_whenParsing_thenDocumentIsCorrect() throws ParserConfigurationException { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = factory.newDocumentBuilder(); + String xmlString = "XML Parsing Example"; + InputSource is = new InputSource(new StringReader(xmlString)); + Document xmlDoc = null; + try { + xmlDoc = builder.parse(is); + } catch (SAXException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + + assertEquals("root", xmlDoc.getDocumentElement().getNodeName()); + assertEquals("element", xmlDoc.getDocumentElement().getElementsByTagName("element").item(0).getNodeName()); + assertEquals("XML Parsing Example", xmlDoc.getDocumentElement().getElementsByTagName("element").item(0).getTextContent()); + } +} diff --git a/xml-2/src/test/java/com/isharkfly/xml/xml2pdf/XmlToPdfConverterUnitTest.java b/xml-2/src/test/java/com/isharkfly/xml/xml2pdf/XmlToPdfConverterUnitTest.java new file mode 100644 index 0000000000..cb77f43b3c --- /dev/null +++ b/xml-2/src/test/java/com/isharkfly/xml/xml2pdf/XmlToPdfConverterUnitTest.java @@ -0,0 +1,48 @@ +package com.isharkfly.xml.xml2pdf; + +import com.isharkfly.xml.xml2pdf.XmlToPdfConverter; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +import java.io.File; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class XmlToPdfConverterUnitTest { + + private static final String BASE_PATH = "src/main/resources/xmltopdf/"; + + private static final String STYLE_XSL = BASE_PATH + "style.xsl"; + private static final String DATA_XML_INPUT = BASE_PATH + "data-input.xml"; + private static final String DATA_PDF_OUTPUT = BASE_PATH + "data-output.pdf"; + + // Comment out this method if you need to keep the outputted PDF file. + @AfterEach + public void teardown() { + new File(DATA_PDF_OUTPUT).delete(); + } + + @Test + public void givenXmlFile_whenConvertToPdfUsingFop_thenPdfGenerated() throws Exception { + // Execute XML to PDF conversion + XmlToPdfConverter.convertXMLtoPDFUsingFop(DATA_XML_INPUT, STYLE_XSL, DATA_PDF_OUTPUT); + // Check if PDF file was created + File pdfFile = new File(DATA_PDF_OUTPUT); + assertTrue(pdfFile.exists()); + assertTrue(pdfFile.isFile()); + assertTrue(pdfFile.length() > 0); + + } + + @Test + public void givenXmlFile_whenConvertToPdfUsingIText_thenPdfGenerated() throws Exception { + // Execute XML to PDF conversion + XmlToPdfConverter.convertXMLtoPDFUsingIText(DATA_XML_INPUT, DATA_PDF_OUTPUT); + // Check if PDF file was created + File pdfFile = new File(DATA_PDF_OUTPUT); + assertTrue(pdfFile.exists()); + assertTrue(pdfFile.isFile()); + assertTrue(pdfFile.length() > 0); + } + +} diff --git a/xml/src/test/java/com/baeldung/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java b/xml-2/src/test/java/com/isharkfly/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java similarity index 98% rename from xml/src/test/java/com/baeldung/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java rename to xml-2/src/test/java/com/isharkfly/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java index b05123cbdc..0e746bb447 100644 --- a/xml/src/test/java/com/baeldung/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java +++ b/xml-2/src/test/java/com/isharkfly/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.delhtmltags; +package com.isharkfly.xmlhtml.delhtmltags; import net.htmlparser.jericho.Renderer; import net.htmlparser.jericho.Segment; diff --git a/xml/src/test/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java b/xml-2/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java similarity index 87% rename from xml/src/test/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java index 29d7445303..a2e31bedfc 100644 --- a/xml/src/test/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java @@ -1,6 +1,7 @@ -package com.ossez.xmlhtml.freemarker; +package com.isharkfly.xmlhtml.freemarker; -import com.ossez.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.freemarker.FreemarkerTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import freemarker.template.TemplateException; import org.junit.jupiter.api.Test; diff --git a/xml/src/test/java/com/ossez/xmlhtml/jaxp/JaxpTransformerUnitTest.java b/xml-2/src/test/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformerUnitTest.java similarity index 92% rename from xml/src/test/java/com/ossez/xmlhtml/jaxp/JaxpTransformerUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformerUnitTest.java index f6831e803c..517315f103 100644 --- a/xml/src/test/java/com/ossez/xmlhtml/jaxp/JaxpTransformerUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformerUnitTest.java @@ -1,5 +1,6 @@ -package com.ossez.xmlhtml.jaxp; +package com.isharkfly.xmlhtml.jaxp; +import com.isharkfly.xmlhtml.jaxp.JaxpTransformer; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; diff --git a/xml/src/test/java/com/baeldung/xmlhtml/mustache/MustacheTransformerUnitTest.java b/xml-2/src/test/java/com/isharkfly/xmlhtml/mustache/MustacheTransformerUnitTest.java similarity index 86% rename from xml/src/test/java/com/baeldung/xmlhtml/mustache/MustacheTransformerUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xmlhtml/mustache/MustacheTransformerUnitTest.java index b53a23d4fb..795bd14b98 100644 --- a/xml/src/test/java/com/baeldung/xmlhtml/mustache/MustacheTransformerUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xmlhtml/mustache/MustacheTransformerUnitTest.java @@ -1,6 +1,7 @@ -package com.baeldung.xmlhtml.mustache; +package com.isharkfly.xmlhtml.mustache; -import com.baeldung.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.mustache.MustacheTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import org.junit.jupiter.api.Test; import javax.xml.stream.XMLStreamException; diff --git a/xml/src/test/java/com/baeldung/xmlhtml/stax/StaxTransformerUnitTest.java b/xml-2/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java similarity index 84% rename from xml/src/test/java/com/baeldung/xmlhtml/stax/StaxTransformerUnitTest.java rename to xml-2/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java index 0c7329e899..8b8de029e8 100644 --- a/xml/src/test/java/com/baeldung/xmlhtml/stax/StaxTransformerUnitTest.java +++ b/xml-2/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java @@ -1,5 +1,7 @@ -package com.baeldung.xmlhtml.stax; +package com.isharkfly.xmlhtml.stax; +import com.isharkfly.xmlhtml.stax.StaxTransformer; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import javax.xml.stream.XMLStreamException; @@ -12,6 +14,7 @@ public class StaxTransformerUnitTest { + @Disabled // JAVA-39223 @Test public void givenXml_whenTransform_thenGetHtml() throws IOException, URISyntaxException, XMLStreamException { String path = "src/test/resources/xmlhtml/notification.xml"; diff --git a/xml-2/src/test/resources/Customer1.xml b/xml-2/src/test/resources/Customer1.xml new file mode 100644 index 0000000000..7f4fbc79af --- /dev/null +++ b/xml-2/src/test/resources/Customer1.xml @@ -0,0 +1,16 @@ + + + + 12345 + Stefan Jaeger + + + 234678 + + + + 234678 + + Davos Dorf + + \ No newline at end of file diff --git a/xml-2/src/test/resources/templates/freemarker.html b/xml-2/src/test/resources/templates/freemarker.html new file mode 100644 index 0000000000..15ec7f9fff --- /dev/null +++ b/xml-2/src/test/resources/templates/freemarker.html @@ -0,0 +1,11 @@ + + + + +${heading} + + +

${from}

+

${content}

+ + diff --git a/xml-2/src/test/resources/templates/template.mustache b/xml-2/src/test/resources/templates/template.mustache new file mode 100644 index 0000000000..8c209843e1 --- /dev/null +++ b/xml-2/src/test/resources/templates/template.mustache @@ -0,0 +1,11 @@ + + + + +{{heading}} + + +

{{from}}

+

{{content}}

+ + diff --git a/xml-2/src/test/resources/xml/attribute.xml b/xml-2/src/test/resources/xml/attribute.xml new file mode 100644 index 0000000000..c8fa3f1071 --- /dev/null +++ b/xml-2/src/test/resources/xml/attribute.xml @@ -0,0 +1,5 @@ + + + john@email.com + mary@email.com + \ No newline at end of file diff --git a/xml-2/src/test/resources/xml/attribute_expected.xml b/xml-2/src/test/resources/xml/attribute_expected.xml new file mode 100644 index 0000000000..1d5d7b0cea --- /dev/null +++ b/xml-2/src/test/resources/xml/attribute_expected.xml @@ -0,0 +1,5 @@ + + + john@email.com + mary@email.com + \ No newline at end of file diff --git a/xml-2/src/test/resources/xml/xee_attribute.xml b/xml-2/src/test/resources/xml/xee_attribute.xml new file mode 100644 index 0000000000..2e98df076b --- /dev/null +++ b/xml-2/src/test/resources/xml/xee_attribute.xml @@ -0,0 +1,9 @@ + + ]> + + &xxe; + + john@email.com + mary@email.com + \ No newline at end of file diff --git a/xml-2/src/test/resources/xmlhtml/delhtmltags/example1.html b/xml-2/src/test/resources/xmlhtml/delhtmltags/example1.html new file mode 100644 index 0000000000..43f3a22ef4 --- /dev/null +++ b/xml-2/src/test/resources/xmlhtml/delhtmltags/example1.html @@ -0,0 +1,15 @@ + + + + This is the page title + + +

+ If the application X doesn't start, the possible causes could be:
+ 1. Maven is not installed.
+ 2. Not enough disk space.
+ 3. Not enough memory. +

+ + \ No newline at end of file diff --git a/xml-2/src/test/resources/xmlhtml/delhtmltags/example2.html b/xml-2/src/test/resources/xmlhtml/delhtmltags/example2.html new file mode 100644 index 0000000000..532eadc101 --- /dev/null +++ b/xml-2/src/test/resources/xmlhtml/delhtmltags/example2.html @@ -0,0 +1,22 @@ + + + + This is the page title + + + +

+ If the application X doesn't start, the possible causes could be:
+ 1. + Maven + is not installed.
+ 2. Not enough (<1G) disk space.
+ 3. Not enough (<64MB) memory.
+

+ + \ No newline at end of file diff --git a/xml-2/src/test/resources/xmlhtml/notification.html b/xml-2/src/test/resources/xmlhtml/notification.html new file mode 100644 index 0000000000..4a0ef09c5d --- /dev/null +++ b/xml-2/src/test/resources/xmlhtml/notification.html @@ -0,0 +1,11 @@ + + + + +Build #7 passed + + +

from: builds@baeldung.com

+

Success: The Jenkins CI build passed

+ + diff --git a/xml-2/src/test/resources/xmlhtml/notification.xml b/xml-2/src/test/resources/xmlhtml/notification.xml new file mode 100644 index 0000000000..c3550d6f04 --- /dev/null +++ b/xml-2/src/test/resources/xmlhtml/notification.xml @@ -0,0 +1,6 @@ + + + builds@baeldung.com + Build #7 passed + Success: The Jenkins CI build passed + \ No newline at end of file diff --git a/xml/README.md b/xml/README.md index a068817e65..583470cd83 100644 --- a/xml/README.md +++ b/xml/README.md @@ -4,11 +4,14 @@ ### 相关文章: - [Intro to XPath with Java](https://www.baeldung.com/java-xpath) -- [Introduction to JiBX](https://www.baeldung.com/jibx) - [XML Libraries Support in Java](https://www.baeldung.com/java-xml-libraries) - [Working with XML Files in Java Using DOM Parsing](https://www.baeldung.com/java-xerces-dom-parsing) -- [Write an org.w3.dom.Document to a File](https://www.baeldung.com/java-write-xml-document-file) -- [Modifying an XML Attribute in Java](https://www.baeldung.com/java-modify-xml-attribute) -- [Convert XML to HTML in Java](https://www.baeldung.com/java-convert-xml-to-html) - [Parsing an XML File Using StAX](https://www.baeldung.com/java-stax) - [Parsing an XML File Using SAX Parser](https://www.baeldung.com/java-sax-parser) +- [Remove HTML Tags Using Java](https://www.baeldung.com/java-remove-html-tags) +- [Pretty-Print XML in Java](https://www.baeldung.com/java-pretty-print-xml) +- [Validate an XML File Against an XSD File](https://www.baeldung.com/java-validate-xml-xsd) +- [Converting JSON to XML in Java](https://www.baeldung.com/java-convert-json-to-xml) +- [Convert an XML Object to a String in Java](https://www.baeldung.com/java-convert-xml-object-string) + +- More articles: [[next -->]](../xml-2) diff --git a/xml/pom.xml b/xml/pom.xml index b3a04f02ac..543caf140f 100644 --- a/xml/pom.xml +++ b/xml/pom.xml @@ -1,7 +1,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 xml ${parent.version} @@ -25,41 +25,31 @@ jaxen ${jaxen.version} - - org.jooq - joox-java-6 - ${joox.version} - org.jdom jdom2 ${jdom2.version} - javax.xml.bind - jaxb-api - ${jaxb-api.version} + jakarta.xml.bind + jakarta.xml.bind-api + ${jakarta.xml.bind-api.version} com.sun.xml.bind jaxb-impl ${jaxb-impl.version} + + org.glassfish.jaxb + jaxb-runtime + ${jaxb-runtime.version} + com.sun.xml.bind jaxb-core ${jaxb-core.version} - - javax.xml - jaxp-api - ${jaxp-api.version} - - - javax.xml.stream - stax-api - ${stax-api.version} - org.freemarker freemarker @@ -70,17 +60,6 @@ compiler ${mustache.version} - - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator.version} - commons-io @@ -98,46 +77,69 @@ ${commons-lang3.version} - org.jibx - jibx-run - ${jibx-version} + org.json + json + ${json.version} - commons-lang - commons-lang - ${commons-lang.version} + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} - org.junit.jupiter - junit-jupiter - ${junit-jupiter.version} - test + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson.version} - org.junit.vintage - junit-vintage-engine - ${junit-jupiter.version} - test + com.github.javadev + underscore + ${underscore.version} - org.assertj - assertj-core - ${assertj-core.version} - test + org.apache.xmlbeans + xmlbeans + ${xmlbeans.version} + + + org.openjdk.jmh + jmh-core + 1.37 + + + javax.xml.bind + jaxb-api + 2.3.0 + + + org.jooq + joox + 2.0.1 + + + net.htmlparser.jericho + jericho-html + 3.4 + + + org.htmlcleaner + htmlcleaner + 2.1 + + + org.jibx + jibx-run + 1.4.2 org.xmlunit xmlunit-assertj - ${xmlunit-assertj.version} + 2.10.0 test - - ch.qos.logback - logback-classic - 1.2.5 - + xml @@ -146,240 +148,33 @@ true - - - - org.jibx - maven-jibx-plugin - - - - - org.jibx - maven-jibx-plugin - ${maven-jibx-plugin.version} - - src/main/resources - - *-binding.xml - - - template-binding.xml - - src/main/resources - - *-binding.xml - - true - - - - process-classes - process-classes - - bind - - - - process-test-classes - process-test-classes - - test-bind - - - - maven-compiler-plugin ${maven-compiler-plugin.version} + org.apache.maven.plugins maven-surefire-plugin ${maven-surefire-plugin.version} - - - schemaGen - - - - org.jibx - maven-jibx-plugin - ${maven-jibx-plugin.version} - - - generate-java-code-from-schema - - schema-codegen - - - src/main/resources - - Order.xsd - - true - - - - compile-binding - - bind - - - target/generated-sources - true - true - - true - - - - generate-test-code-from-schema - generate-test-sources - - test-schema-codegen - - - - compile-test-binding - process-test-classes - - test-bind - - - target/generated-test-sources - - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - - CustomerTest.java - - - - - - - - bindGen - - - - - org.jibx - maven-jibx-plugin - - - - - - org.jibx - maven-jibx-plugin - ${maven-jibx-plugin.version} - - src/main/resources - - *-binding.xml - - - template-binding.xml - - src/main/resources - - *-binding.xml - - true - - - - process-classes - process-classes - - bind - - - - process-test-classes - process-test-classes - - test-bind - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - - - - - maven-assembly-plugin - - ${project.basedir} - - - jar-with-dependencies - - - - - - com.baeldung.xml.jibx.JiBXDemoApplication - - - - - - - make-assembly - package - - attached - - - - - - - - - - 2.1.3 + 2.1.1 1.2.0 2.0.6 - 1.6.2 - 4.1 - 1.2.4.5 - 2.3.1 - 1.4.2 2.3.0.1 - 2.3.2 - 1.0-2 - 3.12.2 - 2.6.3 - 5.5.0 + 4.0.4 2.3.29 0.9.6 - - 2.4 - 1.3.1 - 3.8.0 + 4.0.2 + 4.0.3 + 20240303 + 1.89 + 5.0.2 \ No newline at end of file diff --git a/xml/src/main/java/com/baeldung/sax/SaxParserMain.java b/xml/src/main/java/com/baeldung/sax/SaxParserMain.java deleted file mode 100644 index 34a46fe469..0000000000 --- a/xml/src/main/java/com/baeldung/sax/SaxParserMain.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.baeldung.sax; - -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class SaxParserMain { - public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException { - SAXParserFactory factory = SAXParserFactory.newInstance(); - SAXParser saxParser = factory.newSAXParser(); - - BaeldungHandler baeldungHandler = new BaeldungHandler(); - saxParser.parse("xml/src/main/resources/sax/baeldung.xml", baeldungHandler); - System.out.println(baeldungHandler.getWebsite()); - } - - public static class BaeldungHandler extends DefaultHandler { - private static final String ARTICLES = "articles"; - private static final String ARTICLE = "article"; - private static final String TITLE = "title"; - private static final String CONTENT = "content"; - - private Baeldung website; - private StringBuilder elementValue; - - @Override - public void characters(char[] ch, int start, int length) throws SAXException { - if (elementValue == null) { - elementValue = new StringBuilder(); - } else { - elementValue.append(ch, start, length); - } - } - - @Override - public void startDocument() throws SAXException { - website = new Baeldung(); - } - - @Override - public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { - switch (qName) { - case ARTICLES: - website.setArticleList(new ArrayList<>()); - break; - case ARTICLE: - website.getArticleList().add(new BaeldungArticle()); - break; - case TITLE: - elementValue = new StringBuilder(); - break; - case CONTENT: - elementValue = new StringBuilder(); - break; - } - } - - @Override - public void endElement(String uri, String localName, String qName) throws SAXException { - switch (qName) { - case TITLE: - latestArticle().setTitle(elementValue.toString()); - break; - case CONTENT: - latestArticle().setContent(elementValue.toString()); - break; - } - } - - private BaeldungArticle latestArticle() { - List articleList = website.getArticleList(); - int latestArticleIndex = articleList.size() - 1; - return articleList.get(latestArticleIndex); - } - - public Baeldung getWebsite() { - return website; - } - } - - public static class Baeldung { - private List articleList; - - public void setArticleList(List articleList) { - this.articleList = articleList; - } - - public List getArticleList() { - return this.articleList; - } - } - - public static class BaeldungArticle { - private String title; - private String content; - - public void setTitle(String title) { - this.title = title; - } - - public String getTitle() { - return this.title; - } - - public void setContent(String content) { - this.content = content; - } - - public String getContent() { - return this.content; - } - } -} diff --git a/xml/src/main/java/com/baeldung/xml/Dom4JParser.java b/xml/src/main/java/com/baeldung/xml/Dom4JParser.java deleted file mode 100755 index 155b1b8ac0..0000000000 --- a/xml/src/main/java/com/baeldung/xml/Dom4JParser.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.baeldung.xml; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.Iterator; -import java.util.List; - -import org.dom4j.Document; -import org.dom4j.DocumentException; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; -import org.dom4j.Node; -import org.dom4j.io.OutputFormat; -import org.dom4j.io.SAXReader; -import org.dom4j.io.XMLWriter; - -public class Dom4JParser { - - private File file; - - public Dom4JParser(File file) { - this.file = file; - } - - public Element getRootElement() { - try { - SAXReader reader = new SAXReader(); - Document document = reader.read(file); - return document.getRootElement(); - } catch (DocumentException e) { - e.printStackTrace(); - return null; - } - } - - public List getFirstElementList() { - try { - SAXReader reader = new SAXReader(); - Document document = reader.read(file); - return document.getRootElement().elements(); - } catch (DocumentException e) { - e.printStackTrace(); - return null; - } - } - - public Node getNodeById(String id) { - try { - SAXReader reader = new SAXReader(); - Document document = reader.read(file); - List elements = document.selectNodes("//*[@tutId='" + id + "']"); - return elements.get(0); - } catch (DocumentException e) { - e.printStackTrace(); - return null; - } - } - - public Node getElementsListByTitle(String name) { - try { - SAXReader reader = new SAXReader(); - Document document = reader.read(file); - List elements = document.selectNodes("//tutorial[descendant::title[text()=" + "'" + name + "'" + "]]"); - return elements.get(0); - } catch (DocumentException e) { - e.printStackTrace(); - return null; - } - } - - public void generateModifiedDocument() { - try { - SAXReader reader = new SAXReader(); - Document document = reader.read(file); - List nodes = document.selectNodes("/tutorials/tutorial"); - for (Node node : nodes) { - Element element = (Element) node; - Iterator iterator = element.elementIterator("title"); - while (iterator.hasNext()) { - Element title = (Element) iterator.next(); - title.setText(title.getText() + " updated"); - } - } - XMLWriter writer = new XMLWriter(new FileWriter(new File("src/test/resources/example_dom4j_updated.xml"))); - writer.write(document); - writer.close(); - } catch (DocumentException e) { - e.printStackTrace(); - - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public void generateNewDocument() { - try { - Document document = DocumentHelper.createDocument(); - Element root = document.addElement("XMLTutorials"); - Element tutorialElement = root.addElement("tutorial").addAttribute("tutId", "01"); - tutorialElement.addAttribute("type", "xml"); - - tutorialElement.addElement("title").addText("XML with Dom4J"); - - tutorialElement.addElement("description").addText("XML handling with Dom4J"); - - tutorialElement.addElement("date").addText("14/06/2016"); - - tutorialElement.addElement("author").addText("Dom4J tech writer"); - - OutputFormat format = OutputFormat.createPrettyPrint(); - XMLWriter writer = new XMLWriter(new FileWriter(new File("src/test/resources/example_dom4j_new.xml")), format); - writer.write(document); - writer.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - -} diff --git a/xml/src/main/java/com/baeldung/xml/StaxParser.java b/xml/src/main/java/com/baeldung/xml/StaxParser.java deleted file mode 100644 index 6ad71ef81e..0000000000 --- a/xml/src/main/java/com/baeldung/xml/StaxParser.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.baeldung.xml; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.xml.stream.XMLEventReader; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.events.Attribute; -import javax.xml.stream.events.Characters; -import javax.xml.stream.events.EndElement; -import javax.xml.stream.events.StartElement; -import javax.xml.stream.events.XMLEvent; - -import com.baeldung.xml.binding.Tutorial; - -public class StaxParser { - - private File file; - - public StaxParser(File file) { - this.file = file; - } - - public List getAllTutorial() { - boolean bTitle = false; - boolean bDescription = false; - boolean bDate = false; - boolean bAuthor = false; - List tutorials = new ArrayList(); - try { - XMLInputFactory factory = XMLInputFactory.newInstance(); - XMLEventReader eventReader = factory.createXMLEventReader(new FileReader(this.getFile())); - Tutorial current = null; - while (eventReader.hasNext()) { - XMLEvent event = eventReader.nextEvent(); - switch (event.getEventType()) { - case XMLStreamConstants.START_ELEMENT: - StartElement startElement = event.asStartElement(); - String qName = startElement.getName().getLocalPart(); - if (qName.equalsIgnoreCase("tutorial")) { - current = new Tutorial(); - Iterator attributes = startElement.getAttributes(); - while (attributes.hasNext()) { - Attribute currentAt = attributes.next(); - if (currentAt.getName().toString().equalsIgnoreCase("tutId")) { - current.setTutId(currentAt.getValue()); - } else if (currentAt.getName().toString().equalsIgnoreCase("type")) { - current.setType(currentAt.getValue()); - } - } - } else if (qName.equalsIgnoreCase("title")) { - bTitle = true; - } else if (qName.equalsIgnoreCase("description")) { - bDescription = true; - } else if (qName.equalsIgnoreCase("date")) { - bDate = true; - } else if (qName.equalsIgnoreCase("author")) { - bAuthor = true; - } - break; - case XMLStreamConstants.CHARACTERS: - Characters characters = event.asCharacters(); - if (bTitle) { - if (current != null) { - current.setTitle(characters.getData()); - } - bTitle = false; - } - if (bDescription) { - if (current != null) { - current.setDescription(characters.getData()); - } - bDescription = false; - } - if (bDate) { - if (current != null) { - current.setDate(characters.getData()); - } - bDate = false; - } - if (bAuthor) { - if (current != null) { - current.setAuthor(characters.getData()); - } - bAuthor = false; - } - break; - case XMLStreamConstants.END_ELEMENT: - EndElement endElement = event.asEndElement(); - if (endElement.getName().getLocalPart().equalsIgnoreCase("tutorial")) { - if (current != null) { - tutorials.add(current); - } - } - break; - } - } - - } catch (FileNotFoundException | XMLStreamException e) { - e.printStackTrace(); - } - - return tutorials; - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - -} diff --git a/xml/src/main/java/com/baeldung/xml/binding/Tutorial.java b/xml/src/main/java/com/baeldung/xml/binding/Tutorial.java deleted file mode 100644 index aa6d2c06ae..0000000000 --- a/xml/src/main/java/com/baeldung/xml/binding/Tutorial.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.baeldung.xml.binding; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; - -public class Tutorial { - - private String tutId; - private String type; - private String title; - private String description; - private String date; - private String author; - - public String getTutId() { - return tutId; - } - - @XmlAttribute - public void setTutId(String tutId) { - this.tutId = tutId; - } - - public String getType() { - return type; - } - - @XmlAttribute - public void setType(String type) { - this.type = type; - } - - public String getTitle() { - return title; - } - - @XmlElement - public void setTitle(String title) { - this.title = title; - } - - public String getDescription() { - return description; - } - - @XmlElement - public void setDescription(String description) { - this.description = description; - } - - public String getDate() { - return date; - } - - @XmlElement - public void setDate(String date) { - this.date = date; - } - - public String getAuthor() { - return author; - } - - @XmlElement - public void setAuthor(String author) { - this.author = author; - } -} diff --git a/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java b/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java deleted file mode 100644 index 9e3b5e8b0f..0000000000 --- a/xml/src/main/java/com/baeldung/xml/stax/StaxParser.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.baeldung.xml.stax; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.util.List; -import java.util.ArrayList; - -import javax.xml.stream.events.XMLEvent; -import javax.xml.stream.XMLEventReader; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.events.Attribute; -import javax.xml.stream.events.EndElement; -import javax.xml.stream.events.StartElement; -import javax.xml.namespace.QName; - -public class StaxParser { - - public static List parse(String path) { - List websites = new ArrayList(); - WebSite website = null; - XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); - try { - XMLEventReader reader = xmlInputFactory.createXMLEventReader(new FileInputStream(path)); - while (reader.hasNext()) { - XMLEvent nextEvent = reader.nextEvent(); - if (nextEvent.isStartElement()) { - StartElement startElement = nextEvent.asStartElement(); - switch (startElement.getName() - .getLocalPart()) { - case "website": - website = new WebSite(); - Attribute url = startElement.getAttributeByName(new QName("url")); - if (url != null) { - website.setUrl(url.getValue()); - } - break; - case "name": - nextEvent = reader.nextEvent(); - website.setName(nextEvent.asCharacters() - .getData()); - break; - case "category": - nextEvent = reader.nextEvent(); - website.setCategory(nextEvent.asCharacters() - .getData()); - break; - case "status": - nextEvent = reader.nextEvent(); - website.setStatus(nextEvent.asCharacters() - .getData()); - break; - } - } - if (nextEvent.isEndElement()) { - EndElement endElement = nextEvent.asEndElement(); - if (endElement.getName() - .getLocalPart() - .equals("website")) { - websites.add(website); - } - } - } - } catch (XMLStreamException xse) { - System.out.println("XMLStreamException"); - xse.printStackTrace(); - } catch (FileNotFoundException fnfe) { - System.out.println("FileNotFoundException"); - fnfe.printStackTrace(); - } - return websites; - } - -} diff --git a/xml/src/main/java/com/baeldung/xml/stax/WebSite.java b/xml/src/main/java/com/baeldung/xml/stax/WebSite.java deleted file mode 100644 index 8f7782ab91..0000000000 --- a/xml/src/main/java/com/baeldung/xml/stax/WebSite.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.baeldung.xml.stax; -public class WebSite { - - private String url; - private String name; - private String category; - private String status; - - public String getUrl() { - return url; - } - - public void setUrl(String url) { - this.url = url; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getCategory() { - return category; - } - - public void setCategory(String category) { - this.category = category; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } -} diff --git a/xml/src/main/java/com/baeldung/xmlhtml/helpers/XMLRunner.java b/xml/src/main/java/com/baeldung/xmlhtml/helpers/XMLRunner.java deleted file mode 100644 index 2bd6895c52..0000000000 --- a/xml/src/main/java/com/baeldung/xmlhtml/helpers/XMLRunner.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.baeldung.xmlhtml.helpers; - - -import com.baeldung.xmlhtml.helpers.jaxb.JAXBHelper; -import com.baeldung.xmlhtml.stax.StaxTransformer; - -public class XMLRunner { - - public static void doWork() { - JAXBHelper.example(); - } -} diff --git a/xml/src/main/java/com/ossez/sax/SaxParserMain.java b/xml/src/main/java/com/isharkfly/sax/SaxParserMain.java similarity index 99% rename from xml/src/main/java/com/ossez/sax/SaxParserMain.java rename to xml/src/main/java/com/isharkfly/sax/SaxParserMain.java index 68174aabb5..351e7a375c 100644 --- a/xml/src/main/java/com/ossez/sax/SaxParserMain.java +++ b/xml/src/main/java/com/isharkfly/sax/SaxParserMain.java @@ -1,4 +1,4 @@ -package com.ossez.sax; +package com.isharkfly.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXException; diff --git a/xml/src/main/java/com/baeldung/xml/DefaultParser.java b/xml/src/main/java/com/isharkfly/xml/DefaultParser.java similarity index 99% rename from xml/src/main/java/com/baeldung/xml/DefaultParser.java rename to xml/src/main/java/com/isharkfly/xml/DefaultParser.java index 63e4a453c3..83b80113c7 100644 --- a/xml/src/main/java/com/baeldung/xml/DefaultParser.java +++ b/xml/src/main/java/com/isharkfly/xml/DefaultParser.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import java.io.File; import java.io.FileInputStream; diff --git a/xml/src/main/java/com/ossez/xml/Dom4JParser.java b/xml/src/main/java/com/isharkfly/xml/Dom4JParser.java similarity index 99% rename from xml/src/main/java/com/ossez/xml/Dom4JParser.java rename to xml/src/main/java/com/isharkfly/xml/Dom4JParser.java index 652784eabe..59f311ec7d 100644 --- a/xml/src/main/java/com/ossez/xml/Dom4JParser.java +++ b/xml/src/main/java/com/isharkfly/xml/Dom4JParser.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import java.io.File; import java.io.FileWriter; diff --git a/xml/src/main/java/com/baeldung/xml/JDomParser.java b/xml/src/main/java/com/isharkfly/xml/JDomParser.java similarity index 98% rename from xml/src/main/java/com/baeldung/xml/JDomParser.java rename to xml/src/main/java/com/isharkfly/xml/JDomParser.java index 5de73b1192..81a196ff72 100644 --- a/xml/src/main/java/com/baeldung/xml/JDomParser.java +++ b/xml/src/main/java/com/isharkfly/xml/JDomParser.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import java.io.File; import java.io.IOException; diff --git a/xml/src/main/java/com/baeldung/xml/JaxbParser.java b/xml/src/main/java/com/isharkfly/xml/JaxbParser.java similarity index 93% rename from xml/src/main/java/com/baeldung/xml/JaxbParser.java rename to xml/src/main/java/com/isharkfly/xml/JaxbParser.java index 63546305a3..9cbaa38ff8 100644 --- a/xml/src/main/java/com/baeldung/xml/JaxbParser.java +++ b/xml/src/main/java/com/isharkfly/xml/JaxbParser.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import java.io.File; import java.util.ArrayList; @@ -8,8 +8,8 @@ import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; -import com.baeldung.xml.binding.Tutorial; -import com.baeldung.xml.binding.Tutorials; +import com.isharkfly.xml.binding.Tutorial; +import com.isharkfly.xml.binding.Tutorials; public class JaxbParser { diff --git a/xml/src/main/java/com/baeldung/xml/JaxenDemo.java b/xml/src/main/java/com/isharkfly/xml/JaxenDemo.java similarity index 98% rename from xml/src/main/java/com/baeldung/xml/JaxenDemo.java rename to xml/src/main/java/com/isharkfly/xml/JaxenDemo.java index 36a676c43d..c7eae13cc6 100644 --- a/xml/src/main/java/com/baeldung/xml/JaxenDemo.java +++ b/xml/src/main/java/com/isharkfly/xml/JaxenDemo.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import java.io.File; import java.io.FileInputStream; diff --git a/xml/src/main/java/com/ossez/xml/StaxParser.java b/xml/src/main/java/com/isharkfly/xml/StaxParser.java similarity index 98% rename from xml/src/main/java/com/ossez/xml/StaxParser.java rename to xml/src/main/java/com/isharkfly/xml/StaxParser.java index a3ace60554..6bc094dae4 100644 --- a/xml/src/main/java/com/ossez/xml/StaxParser.java +++ b/xml/src/main/java/com/isharkfly/xml/StaxParser.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import java.io.File; import java.io.FileNotFoundException; @@ -17,7 +17,7 @@ import javax.xml.stream.events.StartElement; import javax.xml.stream.events.XMLEvent; -import com.ossez.xml.binding.Tutorial; +import com.isharkfly.xml.binding.Tutorial; public class StaxParser { diff --git a/xml/src/main/java/com/ossez/xml/XMLDocumentWriter.java b/xml/src/main/java/com/isharkfly/xml/XMLDocumentWriter.java similarity index 98% rename from xml/src/main/java/com/ossez/xml/XMLDocumentWriter.java rename to xml/src/main/java/com/isharkfly/xml/XMLDocumentWriter.java index 843c8a800e..9586fdf963 100644 --- a/xml/src/main/java/com/ossez/xml/XMLDocumentWriter.java +++ b/xml/src/main/java/com/isharkfly/xml/XMLDocumentWriter.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import java.io.File; import java.io.FileWriter; diff --git a/xml/src/main/java/com/ossez/xml/attribute/Dom4jTransformer.java b/xml/src/main/java/com/isharkfly/xml/attribute/Dom4jTransformer.java similarity index 98% rename from xml/src/main/java/com/ossez/xml/attribute/Dom4jTransformer.java rename to xml/src/main/java/com/isharkfly/xml/attribute/Dom4jTransformer.java index d9f6e6f2da..24683cc76d 100644 --- a/xml/src/main/java/com/ossez/xml/attribute/Dom4jTransformer.java +++ b/xml/src/main/java/com/isharkfly/xml/attribute/Dom4jTransformer.java @@ -1,4 +1,4 @@ -package com.ossez.xml.attribute; +package com.isharkfly.xml.attribute; import org.dom4j.*; import org.dom4j.io.DocumentSource; diff --git a/xml/src/main/java/com/ossez/xml/attribute/JaxpTransformer.java b/xml/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java similarity index 98% rename from xml/src/main/java/com/ossez/xml/attribute/JaxpTransformer.java rename to xml/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java index bf512f5f2b..fa81172446 100644 --- a/xml/src/main/java/com/ossez/xml/attribute/JaxpTransformer.java +++ b/xml/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java @@ -1,4 +1,4 @@ -package com.ossez.xml.attribute; +package com.isharkfly.xml.attribute; import java.io.IOException; import java.io.StringWriter; diff --git a/xml/src/main/java/com/ossez/xml/attribute/JooxTransformer.java b/xml/src/main/java/com/isharkfly/xml/attribute/JooxTransformer.java similarity index 96% rename from xml/src/main/java/com/ossez/xml/attribute/JooxTransformer.java rename to xml/src/main/java/com/isharkfly/xml/attribute/JooxTransformer.java index 511aa28d6e..e1ffcbb39e 100644 --- a/xml/src/main/java/com/ossez/xml/attribute/JooxTransformer.java +++ b/xml/src/main/java/com/isharkfly/xml/attribute/JooxTransformer.java @@ -1,4 +1,4 @@ -package com.ossez.xml.attribute; +package com.isharkfly.xml.attribute; import org.joox.JOOX; import org.joox.Match; diff --git a/xml/src/main/java/com/baeldung/xml/attribute/jmh/AttributeBenchMark.java b/xml/src/main/java/com/isharkfly/xml/attribute/jmh/AttributeBenchMark.java similarity index 92% rename from xml/src/main/java/com/baeldung/xml/attribute/jmh/AttributeBenchMark.java rename to xml/src/main/java/com/isharkfly/xml/attribute/jmh/AttributeBenchMark.java index f5f3a2ce6c..cb68665ed0 100644 --- a/xml/src/main/java/com/baeldung/xml/attribute/jmh/AttributeBenchMark.java +++ b/xml/src/main/java/com/isharkfly/xml/attribute/jmh/AttributeBenchMark.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.attribute.jmh; +package com.isharkfly.xml.attribute.jmh; import java.io.IOException; import java.util.concurrent.TimeUnit; @@ -20,9 +20,9 @@ import org.openjdk.jmh.runner.options.OptionsBuilder; import org.xml.sax.SAXException; -import com.baeldung.xml.attribute.Dom4jTransformer; -import com.baeldung.xml.attribute.JaxpTransformer; -import com.baeldung.xml.attribute.JooxTransformer; +import com.isharkfly.xml.attribute.Dom4jTransformer; +import com.isharkfly.xml.attribute.JaxpTransformer; +import com.isharkfly.xml.attribute.JooxTransformer; @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.MILLISECONDS) diff --git a/xml/src/main/java/com/ossez/xml/binding/Tutorial.java b/xml/src/main/java/com/isharkfly/xml/binding/Tutorial.java similarity index 97% rename from xml/src/main/java/com/ossez/xml/binding/Tutorial.java rename to xml/src/main/java/com/isharkfly/xml/binding/Tutorial.java index 07a88e20be..c1e2abb516 100644 --- a/xml/src/main/java/com/ossez/xml/binding/Tutorial.java +++ b/xml/src/main/java/com/isharkfly/xml/binding/Tutorial.java @@ -1,4 +1,4 @@ -package com.ossez.xml.binding; +package com.isharkfly.xml.binding; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; diff --git a/xml/src/main/java/com/baeldung/xml/binding/Tutorials.java b/xml/src/main/java/com/isharkfly/xml/binding/Tutorials.java similarity index 91% rename from xml/src/main/java/com/baeldung/xml/binding/Tutorials.java rename to xml/src/main/java/com/isharkfly/xml/binding/Tutorials.java index ddad3721e6..2dd9902d9b 100644 --- a/xml/src/main/java/com/baeldung/xml/binding/Tutorials.java +++ b/xml/src/main/java/com/isharkfly/xml/binding/Tutorials.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.binding; +package com.isharkfly.xml.binding; import java.util.List; diff --git a/xml/src/main/java/com/ossez/xml/jibx/Customer.java b/xml/src/main/java/com/isharkfly/xml/jibx/Customer.java similarity index 89% rename from xml/src/main/java/com/ossez/xml/jibx/Customer.java rename to xml/src/main/java/com/isharkfly/xml/jibx/Customer.java index 8f04370f6c..f5e19a5b05 100644 --- a/xml/src/main/java/com/ossez/xml/jibx/Customer.java +++ b/xml/src/main/java/com/isharkfly/xml/jibx/Customer.java @@ -4,9 +4,9 @@ * Copyright 2008 Stefan Jäger * */ -package com.ossez.xml.jibx; +package com.isharkfly.xml.jibx; -import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; public class Customer { private Person person; diff --git a/xml/src/main/java/com/baeldung/xml/jibx/Identity.java b/xml/src/main/java/com/isharkfly/xml/jibx/Identity.java similarity index 85% rename from xml/src/main/java/com/baeldung/xml/jibx/Identity.java rename to xml/src/main/java/com/isharkfly/xml/jibx/Identity.java index 15aab4e417..026addfca7 100644 --- a/xml/src/main/java/com/baeldung/xml/jibx/Identity.java +++ b/xml/src/main/java/com/isharkfly/xml/jibx/Identity.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.jibx; +package com.isharkfly.xml.jibx; public class Identity { diff --git a/xml/src/main/java/com/ossez/xml/jibx/Person.java b/xml/src/main/java/com/isharkfly/xml/jibx/Person.java similarity index 78% rename from xml/src/main/java/com/ossez/xml/jibx/Person.java rename to xml/src/main/java/com/isharkfly/xml/jibx/Person.java index 2aad6894cd..9d30a8f180 100644 --- a/xml/src/main/java/com/ossez/xml/jibx/Person.java +++ b/xml/src/main/java/com/isharkfly/xml/jibx/Person.java @@ -4,9 +4,9 @@ * Copyright 2008 Stefan Jäger * */ -package com.ossez.xml.jibx; +package com.isharkfly.xml.jibx; -import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; public class Person extends Identity { private String name; diff --git a/xml/src/main/java/com/ossez/xml/jibx/Phone.java b/xml/src/main/java/com/isharkfly/xml/jibx/Phone.java similarity index 83% rename from xml/src/main/java/com/ossez/xml/jibx/Phone.java rename to xml/src/main/java/com/isharkfly/xml/jibx/Phone.java index c81f547105..eec95fcc75 100644 --- a/xml/src/main/java/com/ossez/xml/jibx/Phone.java +++ b/xml/src/main/java/com/isharkfly/xml/jibx/Phone.java @@ -1,4 +1,4 @@ -package com.ossez.xml.jibx; +package com.isharkfly.xml.jibx; public class Phone { diff --git a/xml/src/main/java/com/ossez/xml/stax/StaxParser.java b/xml/src/main/java/com/isharkfly/xml/stax/StaxParser.java similarity index 98% rename from xml/src/main/java/com/ossez/xml/stax/StaxParser.java rename to xml/src/main/java/com/isharkfly/xml/stax/StaxParser.java index d3bc2575c9..59ffe312ef 100644 --- a/xml/src/main/java/com/ossez/xml/stax/StaxParser.java +++ b/xml/src/main/java/com/isharkfly/xml/stax/StaxParser.java @@ -1,4 +1,4 @@ -package com.ossez.xml.stax; +package com.isharkfly.xml.stax; import java.io.FileInputStream; import java.io.FileNotFoundException; diff --git a/xml/src/main/java/com/ossez/xml/stax/WebSite.java b/xml/src/main/java/com/isharkfly/xml/stax/WebSite.java similarity index 95% rename from xml/src/main/java/com/ossez/xml/stax/WebSite.java rename to xml/src/main/java/com/isharkfly/xml/stax/WebSite.java index 3914aa7b95..f9da1f329d 100644 --- a/xml/src/main/java/com/ossez/xml/stax/WebSite.java +++ b/xml/src/main/java/com/isharkfly/xml/stax/WebSite.java @@ -1,4 +1,4 @@ -package com.ossez.xml.stax; +package com.isharkfly.xml.stax; public class WebSite { private String url; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/Application.java b/xml/src/main/java/com/isharkfly/xmlhtml/Application.java similarity index 58% rename from xml/src/main/java/com/baeldung/xmlhtml/Application.java rename to xml/src/main/java/com/isharkfly/xmlhtml/Application.java index 063a833810..3216b208cc 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/Application.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/Application.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml; +package com.isharkfly.xmlhtml; -import com.baeldung.xmlhtml.helpers.XMLRunner; +import com.isharkfly.xmlhtml.helpers.XMLRunner; public class Application { diff --git a/xml/src/main/java/com/ossez/xmlhtml/Constants.java b/xml/src/main/java/com/isharkfly/xmlhtml/Constants.java similarity index 96% rename from xml/src/main/java/com/ossez/xmlhtml/Constants.java rename to xml/src/main/java/com/isharkfly/xmlhtml/Constants.java index 29142d9bbf..2df0a7c2ef 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/Constants.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/Constants.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml; +package com.isharkfly.xmlhtml; public class Constants { diff --git a/xml/src/main/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformer.java b/xml/src/main/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformer.java similarity index 94% rename from xml/src/main/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformer.java rename to xml/src/main/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformer.java index 04e9b2e8cf..eb2bab276b 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformer.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformer.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml.freemarker; +package com.isharkfly.xmlhtml.freemarker; -import com.baeldung.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; diff --git a/xml/src/main/java/com/isharkfly/xmlhtml/helpers/XMLRunner.java b/xml/src/main/java/com/isharkfly/xmlhtml/helpers/XMLRunner.java new file mode 100644 index 0000000000..015815a4b7 --- /dev/null +++ b/xml/src/main/java/com/isharkfly/xmlhtml/helpers/XMLRunner.java @@ -0,0 +1,12 @@ +package com.isharkfly.xmlhtml.helpers; + + +import com.isharkfly.xmlhtml.helpers.jaxb.JAXBHelper; +import com.isharkfly.xmlhtml.stax.StaxTransformer; + +public class XMLRunner { + + public static void doWork() { + JAXBHelper.example(); + } +} diff --git a/xml/src/main/java/com/ossez/xmlhtml/helpers/jaxb/JAXBHelper.java b/xml/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java similarity index 83% rename from xml/src/main/java/com/ossez/xmlhtml/helpers/jaxb/JAXBHelper.java rename to xml/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java index f8d74a6fa5..a16a1d4143 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/helpers/jaxb/JAXBHelper.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java @@ -1,11 +1,11 @@ -package com.ossez.xmlhtml.helpers.jaxb; +package com.isharkfly.xmlhtml.helpers.jaxb; -import com.ossez.xmlhtml.pojo.jaxb.html.ExampleHTML; -import com.ossez.xmlhtml.pojo.jaxb.html.elements.Body; -import com.ossez.xmlhtml.pojo.jaxb.html.elements.CustomElement; -import com.ossez.xmlhtml.pojo.jaxb.html.elements.Meta; -import com.ossez.xmlhtml.pojo.jaxb.html.elements.NestedElement; -import com.ossez.xmlhtml.pojo.jaxb.xml.XMLExample; +import com.isharkfly.xmlhtml.pojo.jaxb.html.ExampleHTML; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Body; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.CustomElement; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Meta; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.NestedElement; +import com.isharkfly.xmlhtml.pojo.jaxb.xml.XMLExample; import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; @@ -13,7 +13,7 @@ import java.io.File; -import static com.ossez.xmlhtml.Constants.*; +import static com.isharkfly.xmlhtml.Constants.*; public class JAXBHelper { diff --git a/xml/src/main/java/com/ossez/xmlhtml/jaxp/JaxpTransformer.java b/xml/src/main/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformer.java similarity index 99% rename from xml/src/main/java/com/ossez/xmlhtml/jaxp/JaxpTransformer.java rename to xml/src/main/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformer.java index a72eb9f0a2..83d3aef2a8 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/jaxp/JaxpTransformer.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformer.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.jaxp; +package com.isharkfly.xmlhtml.jaxp; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/mustache/MustacheTransformer.java b/xml/src/main/java/com/isharkfly/xmlhtml/mustache/MustacheTransformer.java similarity index 91% rename from xml/src/main/java/com/baeldung/xmlhtml/mustache/MustacheTransformer.java rename to xml/src/main/java/com/isharkfly/xmlhtml/mustache/MustacheTransformer.java index 88e93463db..861fb0ac8b 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/mustache/MustacheTransformer.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/mustache/MustacheTransformer.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml.mustache; +package com.isharkfly.xmlhtml.mustache; -import com.baeldung.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import com.github.mustachejava.DefaultMustacheFactory; import com.github.mustachejava.Mustache; import com.github.mustachejava.MustacheFactory; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/ExampleHTML.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java similarity index 80% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/ExampleHTML.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java index d44c81f309..888180daa4 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/ExampleHTML.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java @@ -1,7 +1,7 @@ -package com.baeldung.xmlhtml.pojo.jaxb.html; +package com.isharkfly.xmlhtml.pojo.jaxb.html; -import com.baeldung.xmlhtml.pojo.jaxb.html.elements.Body; -import com.baeldung.xmlhtml.pojo.jaxb.html.elements.Meta; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Body; +import com.isharkfly.xmlhtml.pojo.jaxb.html.elements.Meta; import javax.xml.bind.annotation.*; import java.util.ArrayList; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/Body.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Body.java similarity index 91% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/Body.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Body.java index 36c6c13a04..2209b250f4 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/Body.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Body.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; import javax.xml.bind.annotation.XmlElement; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/CustomElement.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/CustomElement.java similarity index 82% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/CustomElement.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/CustomElement.java index 832c5e746e..5674adebf8 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/CustomElement.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/CustomElement.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; import javax.xml.bind.annotation.XmlValue; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Meta.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java similarity index 89% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Meta.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java index 1850d9352a..657309436f 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Meta.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlValue; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/NestedElement.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java similarity index 86% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/NestedElement.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java index 20557064bb..00ed609682 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/NestedElement.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.pojo.jaxb.html.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.html.elements; import javax.xml.bind.annotation.XmlElement; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/XMLExample.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/XMLExample.java similarity index 78% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/XMLExample.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/XMLExample.java index 5665eae129..a59aac0da3 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/XMLExample.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/XMLExample.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.pojo.jaxb.xml; +package com.isharkfly.xmlhtml.pojo.jaxb.xml; -import com.ossez.xmlhtml.pojo.jaxb.xml.elements.Ancestor; +import com.isharkfly.xmlhtml.pojo.jaxb.xml.elements.Ancestor; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java similarity index 92% rename from xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java index ff2b928206..6d0fa067de 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; import javax.xml.bind.annotation.XmlElement; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java similarity index 82% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java index 7a4c92172a..a8e4cc29e0 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; import javax.xml.bind.annotation.XmlValue; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java similarity index 82% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java index aa88b1956c..bc282132d4 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; import javax.xml.bind.annotation.XmlValue; diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java similarity index 87% rename from xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java index 63c0b7a288..7e0dd4f830 100644 --- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.pojo.jaxb.xml.elements; +package com.isharkfly.xmlhtml.pojo.jaxb.xml.elements; import javax.xml.bind.annotation.XmlElement; diff --git a/xml/src/main/java/com/baeldung/xmlhtml/stax/StaxTransformer.java b/xml/src/main/java/com/isharkfly/xmlhtml/stax/StaxTransformer.java similarity index 99% rename from xml/src/main/java/com/baeldung/xmlhtml/stax/StaxTransformer.java rename to xml/src/main/java/com/isharkfly/xmlhtml/stax/StaxTransformer.java index d7762f3c1f..7343da363f 100644 --- a/xml/src/main/java/com/baeldung/xmlhtml/stax/StaxTransformer.java +++ b/xml/src/main/java/com/isharkfly/xmlhtml/stax/StaxTransformer.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.stax; +package com.isharkfly.xmlhtml.stax; import javax.xml.stream.*; import java.io.FileInputStream; diff --git a/xml/src/main/java/com/ossez/xml/DefaultParser.java b/xml/src/main/java/com/ossez/xml/DefaultParser.java deleted file mode 100644 index ceb5a94887..0000000000 --- a/xml/src/main/java/com/ossez/xml/DefaultParser.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.ossez.xml; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.Iterator; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.xpath.XPath; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathExpressionException; -import javax.xml.xpath.XPathFactory; - -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -public class DefaultParser { - - private File file; - - public DefaultParser(File file) { - this.file = file; - } - - public NodeList getFirstLevelNodeList() { - NodeList nodeList = null; - try { - FileInputStream fileIS = new FileInputStream(this.getFile()); - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - - DocumentBuilder builder = builderFactory.newDocumentBuilder(); - - Document xmlDocument = builder.parse(fileIS); - - XPath xPath = XPathFactory.newInstance().newXPath(); - - String expression = "/tutorials/tutorial"; - - nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET); - - } catch (SAXException | IOException | ParserConfigurationException | XPathExpressionException e) { - e.printStackTrace(); - } - return nodeList; - } - - public Node getNodeById(String id) { - Node node = null; - try { - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - - DocumentBuilder builder = builderFactory.newDocumentBuilder(); - - Document xmlDocument = builder.parse(this.getFile()); - - XPath xPath = XPathFactory.newInstance().newXPath(); - - String expression = "/tutorials/tutorial[@tutId=" + "'" + id + "'" + "]"; - - node = (Node) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODE); - - } catch (SAXException | IOException | ParserConfigurationException | XPathExpressionException e) { - e.printStackTrace(); - } - return node; - } - - public NodeList getNodeListByTitle(String name) { - NodeList nodeList = null; - try { - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - - DocumentBuilder builder = builderFactory.newDocumentBuilder(); - - Document xmlDocument = builder.parse(this.getFile()); - - this.clean(xmlDocument); - - XPath xPath = XPathFactory.newInstance().newXPath(); - - String expression = "//tutorial[descendant::title[text()=" + "'" + name + "'" + "]]"; - - nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET); - - } catch (SAXException | IOException | ParserConfigurationException | XPathExpressionException e) { - e.printStackTrace(); - } - return nodeList; - } - - public NodeList getElementsByDate(String date) { - NodeList nodeList = null; - - try { - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - - DocumentBuilder builder = builderFactory.newDocumentBuilder(); - - Document xmlDocument = builder.parse(this.getFile()); - - this.clean(xmlDocument); - - XPath xPath = XPathFactory.newInstance().newXPath(); - - String expression = "//tutorial[number(translate(date, '/', '')) > " + date + "]"; - - nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET); - - } catch (SAXException | IOException | ParserConfigurationException | XPathExpressionException e) { - e.printStackTrace(); - } - return nodeList; - } - - public NodeList getAllTutorials() { - NodeList nodeList = null; - try { - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - builderFactory.setNamespaceAware(true); - DocumentBuilder builder = builderFactory.newDocumentBuilder(); - - Document xmlDocument = builder.parse(this.getFile()); - - this.clean(xmlDocument); - - XPath xPath = XPathFactory.newInstance().newXPath(); - - xPath.setNamespaceContext(new NamespaceContext() { - - @Override - public Iterator getPrefixes(String arg0) { - return null; - } - - @Override - public String getPrefix(String arg0) { - return null; - } - - @Override - public String getNamespaceURI(String arg0) { - if ("bdn".equals(arg0)) { - return "http://www.baeldung.com/full_archive"; - } - return null; - } - }); - - String expression = "/bdn:tutorials/bdn:tutorial"; - - nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET); - - } catch (SAXException | IOException | ParserConfigurationException | XPathExpressionException e) { - e.printStackTrace(); - } - return nodeList; - } - - private void clean(Node node) { - - NodeList childs = node.getChildNodes(); - - for (int n = childs.getLength() - 1; n >= 0; n--) { - Node child = childs.item(n); - short nodeType = child.getNodeType(); - - if (nodeType == Node.ELEMENT_NODE) - clean(child); - else if (nodeType == Node.TEXT_NODE) { - String trimmedNodeVal = child.getNodeValue().trim(); - if (trimmedNodeVal.length() == 0) - node.removeChild(child); - else - child.setNodeValue(trimmedNodeVal); - } else if (nodeType == Node.COMMENT_NODE) - node.removeChild(child); - } - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - -} diff --git a/xml/src/main/java/com/ossez/xml/JDomParser.java b/xml/src/main/java/com/ossez/xml/JDomParser.java deleted file mode 100644 index c359ae0da5..0000000000 --- a/xml/src/main/java/com/ossez/xml/JDomParser.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.ossez.xml; - -import java.io.File; -import java.io.IOException; -import java.util.List; - -import org.jdom2.Document; -import org.jdom2.Element; -import org.jdom2.JDOMException; -import org.jdom2.filter.Filters; -import org.jdom2.input.SAXBuilder; -import org.jdom2.xpath.XPathExpression; -import org.jdom2.xpath.XPathFactory; - -public class JDomParser { - - private File file; - - public JDomParser(File file) { - this.file = file; - } - - public List getAllTitles() { - try { - SAXBuilder builder = new SAXBuilder(); - Document doc = builder.build(this.getFile()); - Element tutorials = doc.getRootElement(); - List titles = tutorials.getChildren("tutorial"); - return titles; - } catch (JDOMException | IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - return null; - } - } - - public Element getNodeById(String id) { - try { - SAXBuilder builder = new SAXBuilder(); - Document document = (Document) builder.build(file); - String filter = "//*[@tutId='" + id + "']"; - XPathFactory xFactory = XPathFactory.instance(); - XPathExpression expr = xFactory.compile(filter, Filters.element()); - List node = expr.evaluate(document); - - return node.get(0); - } catch (JDOMException | IOException e) { - e.printStackTrace(); - return null; - } - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - -} diff --git a/xml/src/main/java/com/ossez/xml/JaxbParser.java b/xml/src/main/java/com/ossez/xml/JaxbParser.java deleted file mode 100644 index 2f7198b1ea..0000000000 --- a/xml/src/main/java/com/ossez/xml/JaxbParser.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.ossez.xml; - -import java.io.File; -import java.util.ArrayList; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; - -import com.ossez.xml.binding.Tutorial; -import com.ossez.xml.binding.Tutorials; - -public class JaxbParser { - - private File file; - - public JaxbParser(File file) { - this.file = file; - } - - public Tutorials getFullDocument() { - try { - JAXBContext jaxbContext = JAXBContext.newInstance(Tutorials.class); - Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); - Tutorials tutorials = (Tutorials) jaxbUnmarshaller.unmarshal(this.getFile()); - return tutorials; - } catch (JAXBException e) { - e.printStackTrace(); - return null; - } - } - - public void createNewDocument() { - Tutorials tutorials = new Tutorials(); - tutorials.setTutorial(new ArrayList()); - Tutorial tut = new Tutorial(); - tut.setTutId("01"); - tut.setType("XML"); - tut.setTitle("XML with Jaxb"); - tut.setDescription("XML Binding with Jaxb"); - tut.setDate("04/02/2015"); - tut.setAuthor("Jaxb author"); - tutorials.getTutorial().add(tut); - - try { - JAXBContext jaxbContext = JAXBContext.newInstance(Tutorials.class); - Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); - - jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); - - jaxbMarshaller.marshal(tutorials, file); - - } catch (JAXBException e) { - e.printStackTrace(); - } - - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - -} diff --git a/xml/src/main/java/com/ossez/xml/JaxenDemo.java b/xml/src/main/java/com/ossez/xml/JaxenDemo.java deleted file mode 100644 index 53b7cdd11c..0000000000 --- a/xml/src/main/java/com/ossez/xml/JaxenDemo.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.ossez.xml; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.List; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.jaxen.JaxenException; -import org.jaxen.XPath; -import org.jaxen.dom.DOMXPath; -import org.w3c.dom.Document; -import org.xml.sax.SAXException; - -public class JaxenDemo { - - private File file; - - public JaxenDemo(File file) { - this.file = file; - } - - public List getAllTutorial() { - try { - FileInputStream fileIS = new FileInputStream(this.getFile()); - DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); - - DocumentBuilder builder = builderFactory.newDocumentBuilder(); - - Document xmlDocument = builder.parse(fileIS); - - String expression = "/tutorials/tutorial"; - - XPath path = new DOMXPath(expression); - List result = path.selectNodes(xmlDocument); - return result; - - } catch (SAXException | IOException | ParserConfigurationException | JaxenException e) { - e.printStackTrace(); - return null; - } - - } - - public File getFile() { - return file; - } - - public void setFile(File file) { - this.file = file; - } - -} diff --git a/xml/src/main/java/com/ossez/xml/binding/Tutorials.java b/xml/src/main/java/com/ossez/xml/binding/Tutorials.java deleted file mode 100644 index 2654507383..0000000000 --- a/xml/src/main/java/com/ossez/xml/binding/Tutorials.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ossez.xml.binding; - -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -public class Tutorials { - - private List tutorial; - - public List getTutorial() { - return tutorial; - } - - @XmlElement - public void setTutorial(List tutorial) { - this.tutorial = tutorial; - } - -} diff --git a/xml/src/main/resources/customer-binding.xml b/xml/src/main/resources/customer-binding.xml index 20081d8bc1..f99be2deaa 100644 --- a/xml/src/main/resources/customer-binding.xml +++ b/xml/src/main/resources/customer-binding.xml @@ -1,24 +1,24 @@ - + - + - - + + - + diff --git a/xml/src/test/java/com/baeldung/sax/SaxParserMainUnitTest.java b/xml/src/test/java/com/baeldung/sax/SaxParserMainUnitTest.java deleted file mode 100644 index 333c5619c8..0000000000 --- a/xml/src/test/java/com/baeldung/sax/SaxParserMainUnitTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.baeldung.sax; - -import org.junit.Test; -import org.xml.sax.SAXException; - -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; -import java.io.IOException; -import java.util.List; - -import static org.junit.Assert.*; - -public class SaxParserMainUnitTest { - - @Test - public void givenAProperXMLFile_whenItIsParsed_ThenAnObjectContainsAllItsElements() throws IOException, SAXException, ParserConfigurationException { - SAXParserFactory factory = SAXParserFactory.newInstance(); - SAXParser saxParser = factory.newSAXParser(); - - SaxParserMain.BaeldungHandler baeldungHandler = new SaxParserMain.BaeldungHandler(); - saxParser.parse("src/test/resources/sax/baeldung.xml", baeldungHandler); - - SaxParserMain.Baeldung result = baeldungHandler.getWebsite(); - - assertNotNull(result); - List articles = result.getArticleList(); - - assertNotNull(articles); - assertEquals(3, articles.size()); - - SaxParserMain.BaeldungArticle articleOne = articles.get(0); - assertEquals("Parsing an XML File Using SAX Parser", articleOne.getTitle()); - assertEquals("SAX Parser's Lorem ipsum...", articleOne.getContent()); - - SaxParserMain.BaeldungArticle articleTwo = articles.get(1); - assertEquals("Parsing an XML File Using DOM Parser", articleTwo.getTitle()); - assertEquals("DOM Parser's Lorem ipsum...", articleTwo.getContent()); - - SaxParserMain.BaeldungArticle articleThree = articles.get(2); - assertEquals("Parsing an XML File Using StAX Parser", articleThree.getTitle()); - assertEquals("StAX Parser's Lorem ipsum...", articleThree.getContent()); - } -} diff --git a/xml/src/test/java/com/baeldung/xml/JDomParserUnitTest.java b/xml/src/test/java/com/baeldung/xml/JDomParserUnitTest.java deleted file mode 100755 index af97e1b16d..0000000000 --- a/xml/src/test/java/com/baeldung/xml/JDomParserUnitTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.baeldung.xml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; -import java.util.List; - -import org.jdom2.Element; -import org.junit.Test; - -public class JDomParserUnitTest { - - final String fileName = "src/test/resources/example_jdom.xml"; - - JDomParser parser; - - @Test - public void getFirstElementListTest() { - parser = new JDomParser(new File(fileName)); - List firstList = parser.getAllTitles(); - - assertNotNull(firstList); - assertTrue(firstList.size() == 4); - assertTrue(firstList.get(0).getAttributeValue("type").equals("java")); - } - - @Test - public void getElementByIdTest() { - parser = new JDomParser(new File(fileName)); - Element el = parser.getNodeById("03"); - - String type = el.getAttributeValue("type"); - assertEquals("android", type); - } - -} diff --git a/xml/src/test/java/com/baeldung/xml/StaxParserUnitTest.java b/xml/src/test/java/com/baeldung/xml/StaxParserUnitTest.java deleted file mode 100755 index 6c3bbd9ef0..0000000000 --- a/xml/src/test/java/com/baeldung/xml/StaxParserUnitTest.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.baeldung.xml; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; -import java.util.List; - -import org.junit.Test; - -import com.baeldung.xml.binding.Tutorial; - -public class StaxParserUnitTest { - - final String fileName = "src/test/resources/example_stax.xml"; - - StaxParser parser; - - @Test - public void getAllTutorialsTest() { - parser = new StaxParser(new File(fileName)); - List tutorials = parser.getAllTutorial(); - - assertNotNull(tutorials); - assertTrue(tutorials.size() == 4); - assertTrue(tutorials.get(0).getType().equalsIgnoreCase("java")); - } -} diff --git a/xml/src/test/java/com/baeldung/xml/XercesDomUnitTest.java b/xml/src/test/java/com/baeldung/xml/XercesDomUnitTest.java deleted file mode 100644 index a5091c62fc..0000000000 --- a/xml/src/test/java/com/baeldung/xml/XercesDomUnitTest.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.baeldung.xml; - -import static org.junit.Assert.assertEquals; - -import java.io.File; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.junit.Before; -import org.junit.Test; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -public class XercesDomUnitTest { - - final private String FILE_NAME = "src/test/resources/example_jdom.xml"; - final private String OUTPUT_DOM = "src/test/resources/Xerces_dom.xml"; - - private Document doc; - private DocumentBuilder builder; - - @Before - public void loadXmlFile() throws Exception { - if (doc == null) { - builder = DocumentBuilderFactory.newInstance() - .newDocumentBuilder(); - doc = builder.parse(new File(FILE_NAME)); - doc.getDocumentElement() - .normalize(); - } - } - - @Test - public void whenGetElementByTag_thenSuccess() { - NodeList nodeList = doc.getElementsByTagName("tutorial"); - Node first = nodeList.item(0); - - assertEquals(4, nodeList.getLength()); - assertEquals(Node.ELEMENT_NODE, first.getNodeType()); - assertEquals("tutorial", first.getNodeName()); - } - - @Test - public void whenGetFirstElementAttributes_thenSuccess() { - Node first = doc.getElementsByTagName("tutorial") - .item(0); - NamedNodeMap attrList = first.getAttributes(); - - assertEquals(2, attrList.getLength()); - - assertEquals("tutId", attrList.item(0) - .getNodeName()); - assertEquals("01", attrList.item(0) - .getNodeValue()); - - assertEquals("type", attrList.item(1) - .getNodeName()); - assertEquals("java", attrList.item(1) - .getNodeValue()); - } - - - @Test - public void whenTraverseChildNodes_thenSuccess() { - Node first = doc.getElementsByTagName("tutorial") - .item(0); - NodeList nodeList = first.getChildNodes(); - int n = nodeList.getLength(); - - Node current; - for (int i = 0; i < n; i++) { - current = nodeList.item(i); - if (current.getNodeType() == Node.ELEMENT_NODE) { - System.out.println(current.getNodeName() + ": " + current.getTextContent()); - } - } - } - - @Test - public void whenModifyElementAttribute_thenModified() { - NodeList nodeList = doc.getElementsByTagName("tutorial"); - Element first = (Element) nodeList.item(0); - assertEquals("java", first.getAttribute("type")); - - first.setAttribute("type", "other"); - assertEquals("other", first.getAttribute("type")); - } - - - @Test - public void whenCreateNewDocument_thenCreated() throws Exception { - Document newDoc = builder.newDocument(); - Element root = newDoc.createElement("users"); - newDoc.appendChild(root); - - Element first = newDoc.createElement("user"); - root.appendChild(first); - first.setAttribute("id", "1"); - - Element email = newDoc.createElement("email"); - email.appendChild(newDoc.createTextNode("john@example.com")); - first.appendChild(email); - - assertEquals(1, newDoc.getChildNodes() - .getLength()); - assertEquals("users", newDoc.getChildNodes() - .item(0) - .getNodeName()); - - printDom(newDoc); - saveDomToFile(newDoc, OUTPUT_DOM); - } - - private void printDom(Document document) throws Exception { - DOMSource dom = new DOMSource(document); - Transformer transformer = TransformerFactory.newInstance() - .newTransformer(); - - transformer.transform(dom, new StreamResult(System.out)); - } - - private void saveDomToFile(Document document, String fileName) throws Exception { - DOMSource dom = new DOMSource(document); - Transformer transformer = TransformerFactory.newInstance() - .newTransformer(); - - StreamResult result = new StreamResult(new File(fileName)); - transformer.transform(dom, result); - } - -} diff --git a/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java b/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java deleted file mode 100644 index 587c2adf3b..0000000000 --- a/xml/src/test/java/com/baeldung/xml/stax/StaxParserUnitTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.baeldung.xml.stax; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.junit.Test; - - -public class StaxParserUnitTest { - - @Test - public void givenWebsitesXML_whenParsed_thenNotNull() { - List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); - assertNotNull(websites); - } - - @Test - public void givenWebsitesXML_whenParsed_thenSizeIsThree() { - List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); - assertEquals(3, websites.size()); - } - - @Test - public void givenWebsitesXML_whenParsed_thenLocalhostExists() { - List websites = StaxParser.parse("src/test/resources/xml/websites.xml"); - assertEquals("Localhost", websites.get(2).getName()); - } -} diff --git a/xml/src/test/java/com/ossez/sax/SaxParserMainUnitTest.java b/xml/src/test/java/com/isharkfly/sax/SaxParserMainUnitTest.java similarity index 98% rename from xml/src/test/java/com/ossez/sax/SaxParserMainUnitTest.java rename to xml/src/test/java/com/isharkfly/sax/SaxParserMainUnitTest.java index c39f8d1130..d19f054fa2 100644 --- a/xml/src/test/java/com/ossez/sax/SaxParserMainUnitTest.java +++ b/xml/src/test/java/com/isharkfly/sax/SaxParserMainUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.sax; +package com.isharkfly.sax; import org.junit.Test; import org.xml.sax.SAXException; diff --git a/xml/src/test/java/com/baeldung/xml/DefaultParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/DefaultParserUnitTest.java old mode 100755 new mode 100644 similarity index 99% rename from xml/src/test/java/com/baeldung/xml/DefaultParserUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/DefaultParserUnitTest.java index 9b4a916b7c..c9e07a5d59 --- a/xml/src/test/java/com/baeldung/xml/DefaultParserUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/DefaultParserUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/xml/src/test/java/com/baeldung/xml/Dom4JParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/Dom4JParserUnitTest.java old mode 100755 new mode 100644 similarity index 98% rename from xml/src/test/java/com/baeldung/xml/Dom4JParserUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/Dom4JParserUnitTest.java index a8d5864f02..e12b6ff36b --- a/xml/src/test/java/com/baeldung/xml/Dom4JParserUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/Dom4JParserUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/xml/src/test/java/com/ossez/xml/JDomParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/JDomParserUnitTest.java similarity index 97% rename from xml/src/test/java/com/ossez/xml/JDomParserUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/JDomParserUnitTest.java index 7d5a96126b..698f303231 100644 --- a/xml/src/test/java/com/ossez/xml/JDomParserUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/JDomParserUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/xml/src/test/java/com/baeldung/xml/JaxbParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/JaxbParserUnitTest.java old mode 100755 new mode 100644 similarity index 93% rename from xml/src/test/java/com/baeldung/xml/JaxbParserUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/JaxbParserUnitTest.java index faed257298..7c47a18635 --- a/xml/src/test/java/com/baeldung/xml/JaxbParserUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/JaxbParserUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -7,7 +7,7 @@ import org.junit.Test; -import com.baeldung.xml.binding.Tutorials; +import com.isharkfly.xml.binding.Tutorials; public class JaxbParserUnitTest { diff --git a/xml/src/test/java/com/baeldung/xml/JaxenDemoUnitTest.java b/xml/src/test/java/com/isharkfly/xml/JaxenDemoUnitTest.java old mode 100755 new mode 100644 similarity index 95% rename from xml/src/test/java/com/baeldung/xml/JaxenDemoUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/JaxenDemoUnitTest.java index d13a49815c..51f77c66f8 --- a/xml/src/test/java/com/baeldung/xml/JaxenDemoUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/JaxenDemoUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; diff --git a/xml/src/test/java/com/ossez/xml/StaxParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/StaxParserUnitTest.java similarity index 89% rename from xml/src/test/java/com/ossez/xml/StaxParserUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/StaxParserUnitTest.java index 8fa0bdbff0..483df97a2d 100644 --- a/xml/src/test/java/com/ossez/xml/StaxParserUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/StaxParserUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -8,7 +8,7 @@ import org.junit.Test; -import com.ossez.xml.binding.Tutorial; +import com.isharkfly.xml.binding.Tutorial; public class StaxParserUnitTest { diff --git a/xml/src/test/java/com/ossez/xml/XMLDocumentWriterUnitTest.java b/xml/src/test/java/com/isharkfly/xml/XMLDocumentWriterUnitTest.java similarity index 98% rename from xml/src/test/java/com/ossez/xml/XMLDocumentWriterUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/XMLDocumentWriterUnitTest.java index 0bed938723..3a3f646d44 100644 --- a/xml/src/test/java/com/ossez/xml/XMLDocumentWriterUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/XMLDocumentWriterUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; diff --git a/xml/src/test/java/com/ossez/xml/XercesDomUnitTest.java b/xml/src/test/java/com/isharkfly/xml/XercesDomUnitTest.java similarity index 99% rename from xml/src/test/java/com/ossez/xml/XercesDomUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/XercesDomUnitTest.java index 7a6d054a31..48362455e8 100644 --- a/xml/src/test/java/com/ossez/xml/XercesDomUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/XercesDomUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml; +package com.isharkfly.xml; import static org.junit.Assert.assertEquals; diff --git a/xml/src/test/java/com/baeldung/xml/attribute/Dom4jProcessorUnitTest.java b/xml/src/test/java/com/isharkfly/xml/attribute/Dom4jProcessorUnitTest.java similarity index 98% rename from xml/src/test/java/com/baeldung/xml/attribute/Dom4jProcessorUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/attribute/Dom4jProcessorUnitTest.java index 6c4aa02700..ffe65e860c 100644 --- a/xml/src/test/java/com/baeldung/xml/attribute/Dom4jProcessorUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/attribute/Dom4jProcessorUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xml.attribute; +package com.isharkfly.xml.attribute; import org.dom4j.DocumentException; import org.junit.jupiter.api.Test; diff --git a/xml/src/test/java/com/ossez/xml/attribute/JaxpProcessorUnitTest.java b/xml/src/test/java/com/isharkfly/xml/attribute/JaxpProcessorUnitTest.java similarity index 97% rename from xml/src/test/java/com/ossez/xml/attribute/JaxpProcessorUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/attribute/JaxpProcessorUnitTest.java index 72fbe10af5..814f41ddc1 100644 --- a/xml/src/test/java/com/ossez/xml/attribute/JaxpProcessorUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/attribute/JaxpProcessorUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml.attribute; +package com.isharkfly.xml.attribute; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.xmlunit.assertj.XmlAssert.assertThat; diff --git a/xml/src/test/java/com/ossez/xml/attribute/JooxProcessorUnitTest.java b/xml/src/test/java/com/isharkfly/xml/attribute/JooxProcessorUnitTest.java similarity index 98% rename from xml/src/test/java/com/ossez/xml/attribute/JooxProcessorUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/attribute/JooxProcessorUnitTest.java index e39ec6bb59..804fdb6946 100644 --- a/xml/src/test/java/com/ossez/xml/attribute/JooxProcessorUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/attribute/JooxProcessorUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml.attribute; +package com.isharkfly.xml.attribute; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; diff --git a/xml/src/test/java/com/ossez/xml/jibx/CustomerUnitTest.java b/xml/src/test/java/com/isharkfly/xml/jibx/CustomerUnitTest.java similarity index 98% rename from xml/src/test/java/com/ossez/xml/jibx/CustomerUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/jibx/CustomerUnitTest.java index c3ab48f94c..5124869b5f 100644 --- a/xml/src/test/java/com/ossez/xml/jibx/CustomerUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/jibx/CustomerUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml.jibx; +package com.isharkfly.xml.jibx; import org.jibx.runtime.BindingDirectory; import org.jibx.runtime.IBindingFactory; diff --git a/xml/src/test/java/com/ossez/xml/stax/StaxParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/stax/StaxParserUnitTest.java similarity index 96% rename from xml/src/test/java/com/ossez/xml/stax/StaxParserUnitTest.java rename to xml/src/test/java/com/isharkfly/xml/stax/StaxParserUnitTest.java index 65512e9ed9..cde851ffeb 100644 --- a/xml/src/test/java/com/ossez/xml/stax/StaxParserUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xml/stax/StaxParserUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xml.stax; +package com.isharkfly.xml.stax; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/xml/src/test/java/com/isharkfly/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java b/xml/src/test/java/com/isharkfly/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java new file mode 100644 index 0000000000..0e746bb447 --- /dev/null +++ b/xml/src/test/java/com/isharkfly/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java @@ -0,0 +1,61 @@ +package com.isharkfly.xmlhtml.delhtmltags; + +import net.htmlparser.jericho.Renderer; +import net.htmlparser.jericho.Segment; +import net.htmlparser.jericho.Source; +import org.htmlcleaner.CleanerProperties; +import org.htmlcleaner.HtmlCleaner; +import org.jsoup.Jsoup; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.net.URISyntaxException; +import java.nio.file.Files; +import java.nio.file.Paths; + +class RemoveHtmlTagsLiveTest { + + @Test + void givenHtml1_whenRemoveTagsByRegex_thenPrintText() throws IOException, URISyntaxException { + String html = new String(Files.readAllBytes( + (Paths.get(getClass().getResource("/xmlhtml/delhtmltags/example1.html").toURI())))); + String result = html.replaceAll("<[^>]*>", "") + .replaceAll("(?m)^\\s*$", ""); // remove empty and blank lines + System.out.println(result); + } + + @Test + void givenHtml2_whenRemoveTagsByRegex_thenPrintText() throws IOException, URISyntaxException { + String html = new String(Files.readAllBytes( + (Paths.get(getClass().getResource("/xmlhtml/delhtmltags/example2.html").toURI())))); + String result = html.replaceAll("<[^>]*>", ""); + System.out.println(result); + } + + @Test + void givenHtml2_whenRemoveTagsByJsoup_thenPrintText() throws IOException, URISyntaxException { + String html = new String(Files.readAllBytes( + (Paths.get(getClass().getResource("/xmlhtml/delhtmltags/example2.html").toURI())))); + System.out.println(Jsoup.parse(html).text()); + } + + @Test + void givenHtml2_whenRemoveTagsByHtmlCleaner_thenPrintText() throws IOException, URISyntaxException { + String html = new String(Files.readAllBytes( + (Paths.get(getClass().getResource("/xmlhtml/delhtmltags/example2.html").toURI())))); + CleanerProperties props = new CleanerProperties(); + props.setPruneTags("script"); + String result = new HtmlCleaner(props).clean(html).getText().toString(); + System.out.println(result); + } + + @Test + void givenHtml2_whenRemoveTagsByJericho_thenPrintText() throws IOException, URISyntaxException { + String html = new String(Files.readAllBytes( + (Paths.get(getClass().getResource("/xmlhtml/delhtmltags/example2.html").toURI())))); + Source htmlSource = new Source(html); + Segment segment = new Segment(htmlSource, 0, htmlSource.length()); + Renderer htmlRender = new Renderer(segment).setIncludeHyperlinkURLs(true); + System.out.println(htmlRender); + } +} diff --git a/xml/src/test/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java b/xml/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java similarity index 92% rename from xml/src/test/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java rename to xml/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java index c110f88e99..d986206f96 100644 --- a/xml/src/test/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java @@ -1,6 +1,6 @@ -package com.baeldung.xmlhtml.freemarker; +package com.isharkfly.xmlhtml.freemarker; -import com.baeldung.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import freemarker.template.TemplateException; import org.junit.jupiter.api.Test; diff --git a/xml/src/test/java/com/baeldung/xmlhtml/jaxp/JaxpTransformerUnitTest.java b/xml/src/test/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformerUnitTest.java similarity index 96% rename from xml/src/test/java/com/baeldung/xmlhtml/jaxp/JaxpTransformerUnitTest.java rename to xml/src/test/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformerUnitTest.java index 02fc422ee9..5bcc573182 100644 --- a/xml/src/test/java/com/baeldung/xmlhtml/jaxp/JaxpTransformerUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xmlhtml/jaxp/JaxpTransformerUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.xmlhtml.jaxp; +package com.isharkfly.xmlhtml.jaxp; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; diff --git a/xml/src/test/java/com/ossez/xmlhtml/mustache/MustacheTransformerUnitTest.java b/xml/src/test/java/com/isharkfly/xmlhtml/mustache/MustacheTransformerUnitTest.java similarity index 91% rename from xml/src/test/java/com/ossez/xmlhtml/mustache/MustacheTransformerUnitTest.java rename to xml/src/test/java/com/isharkfly/xmlhtml/mustache/MustacheTransformerUnitTest.java index ca7213bf41..995bcb5842 100644 --- a/xml/src/test/java/com/ossez/xmlhtml/mustache/MustacheTransformerUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xmlhtml/mustache/MustacheTransformerUnitTest.java @@ -1,6 +1,6 @@ -package com.ossez.xmlhtml.mustache; +package com.isharkfly.xmlhtml.mustache; -import com.ossez.xmlhtml.stax.StaxTransformer; +import com.isharkfly.xmlhtml.stax.StaxTransformer; import org.junit.jupiter.api.Test; import javax.xml.stream.XMLStreamException; diff --git a/xml/src/test/java/com/ossez/xmlhtml/stax/StaxTransformerUnitTest.java b/xml/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java similarity index 95% rename from xml/src/test/java/com/ossez/xmlhtml/stax/StaxTransformerUnitTest.java rename to xml/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java index 000f2ea70a..cc2f32335e 100644 --- a/xml/src/test/java/com/ossez/xmlhtml/stax/StaxTransformerUnitTest.java +++ b/xml/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java @@ -1,4 +1,4 @@ -package com.ossez.xmlhtml.stax; +package com.isharkfly.xmlhtml.stax; import org.junit.jupiter.api.Test; diff --git a/xml/src/test/java/com/ossez/xml/DefaultParserUnitTest.java b/xml/src/test/java/com/ossez/xml/DefaultParserUnitTest.java deleted file mode 100644 index 4fe2d74718..0000000000 --- a/xml/src/test/java/com/ossez/xml/DefaultParserUnitTest.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.ossez.xml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; - -import org.junit.Test; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -public class DefaultParserUnitTest { - - final String fileName = "src/test/resources/example_default_parser.xml"; - - final String fileNameSpace = "src/test/resources/example_default_parser_namespace.xml"; - - DefaultParser parser; - - @Test - public void getFirstLevelNodeListTest() { - parser = new DefaultParser(new File(fileName)); - NodeList list = parser.getFirstLevelNodeList(); - - assertNotNull(list); - assertTrue(list.getLength() == 4); - } - - @Test - public void getNodeListByTitleTest() { - parser = new DefaultParser(new File(fileName)); - NodeList list = parser.getNodeListByTitle("XML"); - - for (int i = 0; null != list && i < list.getLength(); i++) { - Node nod = list.item(i); - assertEquals("java", nod.getAttributes().getNamedItem("type").getTextContent()); - assertEquals("02", nod.getAttributes().getNamedItem("tutId").getTextContent()); - assertEquals("XML", nod.getFirstChild().getTextContent()); - assertEquals("title", nod.getFirstChild().getNodeName()); - assertEquals("description", nod.getChildNodes().item(1).getNodeName()); - assertEquals("Introduction to XPath", nod.getChildNodes().item(1).getTextContent()); - assertEquals("author", nod.getLastChild().getNodeName()); - assertEquals("XMLAuthor", nod.getLastChild().getTextContent()); - } - } - - @Test - public void getNodeByIdTest() { - parser = new DefaultParser(new File(fileName)); - Node node = parser.getNodeById("03"); - - String type = node.getAttributes().getNamedItem("type").getNodeValue(); - assertEquals("android", type); - } - - @Test - public void getNodeListByDateTest() { - parser = new DefaultParser(new File(fileName)); - NodeList list = parser.getNodeListByTitle("04022016"); - for (int i = 0; null != list && i < list.getLength(); i++) { - Node nod = list.item(i); - assertEquals("java", nod.getAttributes().getNamedItem("type").getTextContent()); - assertEquals("04", nod.getAttributes().getNamedItem("tutId").getTextContent()); - assertEquals("Spring", nod.getFirstChild().getTextContent()); - assertEquals("title", nod.getFirstChild().getNodeName()); - assertEquals("description", nod.getChildNodes().item(1).getNodeName()); - assertEquals("Introduction to Spring", nod.getChildNodes().item(1).getTextContent()); - assertEquals("author", nod.getLastChild().getNodeName()); - assertEquals("SpringAuthor", nod.getLastChild().getTextContent()); - } - } - - @Test - public void getNodeListWithNamespaceTest() { - parser = new DefaultParser(new File(fileNameSpace)); - NodeList list = parser.getAllTutorials(); - assertNotNull(list); - assertTrue(list.getLength() == 4); - } - -} diff --git a/xml/src/test/java/com/ossez/xml/Dom4JParserUnitTest.java b/xml/src/test/java/com/ossez/xml/Dom4JParserUnitTest.java deleted file mode 100644 index 846ee4498f..0000000000 --- a/xml/src/test/java/com/ossez/xml/Dom4JParserUnitTest.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.ossez.xml; - -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -import org.dom4j.Element; -import org.dom4j.Node; -import org.dom4j.io.OutputFormat; -import org.dom4j.io.XMLWriter; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.IOException; -import java.io.StringWriter; -import java.io.Writer; -import java.util.Enumeration; -import java.util.List; -import java.util.Properties; - -import static org.junit.Assert.*; - -/** - * - */ -public class Dom4JParserUnitTest { - private static final Logger logger = LoggerFactory.getLogger(Dom4JParserUnitTest.class); - - final String fileName = "src/test/resources/example_dom4j.xml"; - - Dom4JParser parser; - - @Test - public void getRootElementTest() { - parser = new Dom4JParser(new File(fileName)); - Element root = parser.getRootElement(); - - assertNotNull(root); - assertTrue(root.elements().size() == 4); - } - - @Test - public void getFirstElementListTest() { - parser = new Dom4JParser(new File(fileName)); - List firstList = parser.getFirstElementList(); - - assertNotNull(firstList); - assertTrue(firstList.size() == 4); - assertTrue(firstList.get(0).attributeValue("type").equals("java")); - } - - @Test - public void getElementByIdTest() { - parser = new Dom4JParser(new File(fileName)); - Node element = parser.getNodeById("03"); - - String type = element.valueOf("@type"); - assertEquals("android", type); - } - - @Test - public void getElementsListByTitleTest() { - parser = new Dom4JParser(new File(fileName)); - Node element = parser.getElementsListByTitle("XML"); - - assertEquals("java", element.valueOf("@type")); - assertEquals("02", element.valueOf("@tutId")); - assertEquals("XML", element.selectSingleNode("title").getText()); - assertEquals("title", element.selectSingleNode("title").getName()); - } - - @Test - public void generateModifiedDocumentTest() { - parser = new Dom4JParser(new File(fileName)); - parser.generateModifiedDocument(); - - File generatedFile = new File("src/test/resources/example_dom4j_updated.xml"); - assertTrue(generatedFile.exists()); - - parser.setFile(generatedFile); - Node element = parser.getNodeById("02"); - - assertEquals("XML updated", element.selectSingleNode("title").getText()); - - } - - @Test - public void generateNewDocumentTest() { - parser = new Dom4JParser(new File(fileName)); - parser.generateNewDocument(); - - File newFile = new File("src/test/resources/example_dom4j_new.xml"); - assertTrue(newFile.exists()); - - parser.setFile(newFile); - Node element = parser.getNodeById("01"); - - assertEquals("XML with Dom4J", element.selectSingleNode("title").getText()); - } - - /** - * testCreateXMLFromSystemProperties - */ - @Test - public void testCreateXMLFromSystemProperties() { - Document document = DocumentHelper.createDocument(); - Element root = document.addElement("system"); - - Properties properties = System.getProperties(); - for (Enumeration elements = properties.propertyNames(); elements - .hasMoreElements(); ) { - String name = (String) elements.nextElement(); - String value = properties.getProperty(name); - Element element = root.addElement("property"); - element.addAttribute("name", name); - element.addText(value); - } - - try { - OutputFormat format = OutputFormat.createPrettyPrint(); - format.setEncoding("utf-8"); - - Writer out = new StringWriter(); - XMLWriter writer = new XMLWriter(out, format); - writer.write(document); - writer.close(); - logger.debug("{}", out); - - } catch (IOException e) { - logger.error("Write XML Error.", e); - } - } -} diff --git a/xml/src/test/java/com/ossez/xml/JaxbParserUnitTest.java b/xml/src/test/java/com/ossez/xml/JaxbParserUnitTest.java deleted file mode 100644 index 864c9f860b..0000000000 --- a/xml/src/test/java/com/ossez/xml/JaxbParserUnitTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.ossez.xml; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; - -import org.junit.Test; - -import com.ossez.xml.binding.Tutorials; - -public class JaxbParserUnitTest { - - final String fileName = "src/test/resources/example_jaxb.xml"; - - JaxbParser parser; - - @Test - public void getFullDocumentTest() { - parser = new JaxbParser(new File(fileName)); - Tutorials tutorials = parser.getFullDocument(); - - assertNotNull(tutorials); - assertTrue(tutorials.getTutorial().size() == 4); - assertTrue(tutorials.getTutorial().get(0).getType().equalsIgnoreCase("java")); - } - - @Test - public void createNewDocumentTest() { - File newFile = new File("src/test/resources/example_jaxb_new.xml"); - parser = new JaxbParser(newFile); - parser.createNewDocument(); - - assertTrue(newFile.exists()); - - Tutorials tutorials = parser.getFullDocument(); - - assertNotNull(tutorials); - assertTrue(tutorials.getTutorial().size() == 1); - assertTrue(tutorials.getTutorial().get(0).getTitle().equalsIgnoreCase("XML with Jaxb")); - } -} diff --git a/xml/src/test/java/com/ossez/xml/JaxenDemoUnitTest.java b/xml/src/test/java/com/ossez/xml/JaxenDemoUnitTest.java deleted file mode 100644 index 2e12ca42f7..0000000000 --- a/xml/src/test/java/com/ossez/xml/JaxenDemoUnitTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.ossez.xml; - -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.io.File; -import java.util.List; - -import org.junit.Test; - -public class JaxenDemoUnitTest { - - final String fileName = "src/test/resources/example_jaxen.xml"; - - JaxenDemo jaxenDemo; - - @Test - public void getFirstLevelNodeListTest() { - jaxenDemo = new JaxenDemo(new File(fileName)); - List list = jaxenDemo.getAllTutorial(); - - assertNotNull(list); - assertTrue(list.size() == 4); - } -} diff --git a/xstream/pom.xml b/xstream/pom.xml index 6f25e67e12..8f14d1c833 100644 --- a/xstream/pom.xml +++ b/xstream/pom.xml @@ -10,9 +10,9 @@ An Introduction To XStream - com.baeldung + com.ossez parent-modules - 1.0.0-SNAPSHOT + 0.0.2-SNAPSHOT diff --git a/xstream/src/test/java/com/baeldung/rce/AppUnitTest.java b/xstream/src/test/java/com/baeldung/rce/AppUnitTest.java index 3b541ae099..19d9b60463 100644 --- a/xstream/src/test/java/com/baeldung/rce/AppUnitTest.java +++ b/xstream/src/test/java/com/baeldung/rce/AppUnitTest.java @@ -9,6 +9,7 @@ import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.SocketException; +import java.net.URI; import java.net.URL; import static org.junit.Assert.assertTrue; @@ -43,9 +44,9 @@ public void after() { * side-effect that is difficult to observe. */ @Test(expected = SocketException.class) - public void givenAppIsVulneable_whenExecuteRemoteCodeWhichThrowsException_thenThrowsException() throws IOException { + public void givenAppIsVulneable_whenExecuteRemoteCodeWhichThrowsException_thenThrowsException() throws Exception { // POST the attack.xml to the application's /persons endpoint - final URL url = new URL("http://localhost:" + app.port() + "/persons"); + final URL url = new URI("http://localhost:" + app.port() + "/persons").toURL(); final HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true);