diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 5296a8ec08..15e632f3d5 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,7 +7,6 @@
-
@@ -23,14 +22,14 @@
-
+
-
+
@@ -57,7 +56,9 @@
+
+
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
new file mode 100644
index 0000000000..b9687fac26
--- /dev/null
+++ b/.idea/dataSources.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ postgresql
+ true
+ org.postgresql.Driver
+ jdbc:postgresql://nas1120:5433/postgres
+
+
+
+
+
+ $ProjectFileDir$
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 143a239944..e6f78746cb 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -112,5 +112,7 @@
+
+
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index bebf2f0f70..a013c5448d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2025 iSharkFly
+Copyright (c) 2024 iSharkFly
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
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/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java
index 8f2f76937d..e0cb73be48 100644
--- a/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java
+++ b/core-java-modules/core-java-8-datetime/src/test/java/com/ossez/dateapi/JavaPeriodUnitTest.java
@@ -46,7 +46,7 @@ public class JavaPeriodUnitTest {
Period period = Period.between(startDate, endDate);
- logger.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/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 class OptionalTypeUnitTest {
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/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/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
@@ -97,47 +76,70 @@
commons-lang3
${commons-lang3.version}
+
+ org.json
+ json
+ ${json.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-xml
+ ${jackson.version}
+
+
+ com.github.javadev
+ underscore
+ ${underscore.version}
+
+
+ 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
- ${jibx-version}
-
-
- commons-lang
- commons-lang
- ${commons-lang.version}
-
-
- org.junit.jupiter
- junit-jupiter
- ${junit-jupiter.version}
- test
-
-
- org.junit.vintage
- junit-vintage-engine
- ${junit-jupiter.version}
- test
-
-
- org.assertj
- assertj-core
- ${assertj-core.version}
- test
+ 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/JDomParser.java b/xml/src/main/java/com/baeldung/xml/JDomParser.java
deleted file mode 100644
index 5de73b1192..0000000000
--- a/xml/src/main/java/com/baeldung/xml/JDomParser.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.baeldung.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/baeldung/xml/JaxbParser.java b/xml/src/main/java/com/baeldung/xml/JaxbParser.java
deleted file mode 100644
index 63546305a3..0000000000
--- a/xml/src/main/java/com/baeldung/xml/JaxbParser.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.baeldung.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.baeldung.xml.binding.Tutorial;
-import com.baeldung.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/baeldung/xml/JaxenDemo.java b/xml/src/main/java/com/baeldung/xml/JaxenDemo.java
deleted file mode 100644
index 36a676c43d..0000000000
--- a/xml/src/main/java/com/baeldung/xml/JaxenDemo.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.baeldung.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/baeldung/xml/XMLDocumentWriter.java b/xml/src/main/java/com/baeldung/xml/XMLDocumentWriter.java
deleted file mode 100644
index e33fc5fe1d..0000000000
--- a/xml/src/main/java/com/baeldung/xml/XMLDocumentWriter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.baeldung.xml;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-
-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.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-
-public class XMLDocumentWriter {
-
- public void write(Document document, String fileName, boolean excludeDeclaration, boolean prettyPrint) {
- try(FileWriter writer = new FileWriter(new File(fileName))) {
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- if(excludeDeclaration) {
- transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
- }
- if(prettyPrint) {
- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
- }
- DOMSource source = new DOMSource(document);
- StreamResult result = new StreamResult(writer);
- transformer.transform(source, result);
- } catch (IOException e) {
- throw new IllegalArgumentException(e);
- } catch (TransformerConfigurationException e) {
- throw new IllegalStateException(e);
- } catch (TransformerException e) {
- throw new IllegalArgumentException(e);
- }
- }
-}
diff --git a/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java b/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java
deleted file mode 100644
index d4fdeb0d58..0000000000
--- a/xml/src/main/java/com/baeldung/xml/attribute/Dom4jTransformer.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.baeldung.xml.attribute;
-
-import org.dom4j.*;
-import org.dom4j.io.DocumentSource;
-import org.dom4j.io.SAXReader;
-import org.xml.sax.SAXException;
-
-import javax.xml.XMLConstants;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.List;
-
-public class Dom4jTransformer {
- private final Document input;
-
- public Dom4jTransformer(String resourcePath) throws DocumentException, SAXException {
- // 1- Build the doc from the XML file
- SAXReader xmlReader = new SAXReader();
- xmlReader.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
- xmlReader.setFeature("http://xml.org/sax/features/external-general-entities", false);
- xmlReader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
- this.input = xmlReader.read(resourcePath);
- }
-
- public String modifyAttribute(String attribute, String oldValue, String newValue) throws 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);
- List nodes = xpath.selectNodes(input);
- // 3- Make the change on the selected nodes
- for (int i = 0; i < nodes.size(); i++) {
- Element element = (Element) nodes.get(i);
- element.addAttribute(attribute, newValue);
- }
- // 4- Save the result to a new XML doc
- TransformerFactory factory = TransformerFactory.newInstance();
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- Transformer xformer = factory.newTransformer();
- xformer.setOutputProperty(OutputKeys.INDENT, "yes");
- Writer output = new StringWriter();
- xformer.transform(new DocumentSource(input), new StreamResult(output));
- return output.toString();
- }
-}
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/Application.java b/xml/src/main/java/com/baeldung/xmlhtml/Application.java
deleted file mode 100644
index 063a833810..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/Application.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.baeldung.xmlhtml;
-
-import com.baeldung.xmlhtml.helpers.XMLRunner;
-
-public class Application {
-
- public static void main(String[] args) {
- XMLRunner.doWork();
- }
-}
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/baeldung/xmlhtml/pojo/jaxb/html/ExampleHTML.java b/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/ExampleHTML.java
deleted file mode 100644
index d44c81f309..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/ExampleHTML.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.baeldung.xmlhtml.pojo.jaxb.html;
-
-import com.baeldung.xmlhtml.pojo.jaxb.html.elements.Body;
-import com.baeldung.xmlhtml.pojo.jaxb.html.elements.Meta;
-
-import javax.xml.bind.annotation.*;
-import java.util.ArrayList;
-import java.util.List;
-
-@XmlType(propOrder = {"head", "body"})
-@XmlRootElement(name = "html")
-public class ExampleHTML {
-
- private List head = new ArrayList<>();
-
- private Body body;
-
- public ExampleHTML() { }
-
- public List getHead() {
- return head;
- }
-
- @XmlElementWrapper(name = "head")
- @XmlElement(name = "meta")
- public void setHead(List head) {
- this.head = head;
- }
-
- public Body getBody() {
- return body;
- }
-
- @XmlElement(name = "body")
- public void setBody(Body body) {
- this.body = body;
- }
-}
diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/NestedElement.java b/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/NestedElement.java
deleted file mode 100644
index 20557064bb..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/html/elements/NestedElement.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.baeldung.xmlhtml.pojo.jaxb.html.elements;
-
-import javax.xml.bind.annotation.XmlElement;
-
-public class NestedElement {
-
- private CustomElement customElement;
-
- public CustomElement getCustomElement() {
- return customElement;
- }
-
- @XmlElement(name = "p")
- public void setCustomElement(CustomElement customElement) {
- this.customElement = customElement;
- }
-}
\ No newline at end of file
diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/XMLExample.java b/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/XMLExample.java
deleted file mode 100644
index 587cf69223..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/XMLExample.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.baeldung.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;
-
-@XmlRootElement(name = "xmlexample")
-public class XMLExample {
-
- private Ancestor ancestor;
-
- @XmlElement(name = "ancestor")
- public void setAncestor(Ancestor ancestor) {
- this.ancestor = ancestor;
- }
-
- public Ancestor getAncestor() {
- return ancestor;
- }
-}
\ No newline at end of file
diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java b/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java
deleted file mode 100644
index ff2b928206..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.baeldung.xmlhtml.pojo.jaxb.xml.elements;
-
-import javax.xml.bind.annotation.XmlElement;
-
-public class Ancestor {
-
- private DescendantOne descendantOne;
- private DescendantTwo descendantTwo;
-
- public DescendantOne getDescendantOne() {
- return descendantOne;
- }
-
- @XmlElement(name = "descendantOne")
- public void setDescendantOne(DescendantOne descendantOne) {
- this.descendantOne = descendantOne;
- }
-
- public DescendantTwo getDescendantTwo() {
- return descendantTwo;
- }
-
- @XmlElement(name = "descendantTwo")
- public void setDescendantTwo(DescendantTwo descendantTwo) {
- this.descendantTwo = descendantTwo;
- }
-}
-
diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java b/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java
deleted file mode 100644
index 50624cb9fa..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantOne.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.baeldung.xmlhtml.pojo.jaxb.xml.elements;
-
-import javax.xml.bind.annotation.XmlValue;
-
-public class DescendantOne {
-
- private String value;
-
- @XmlValue
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
-}
-
diff --git a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java b/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java
deleted file mode 100644
index 7c3ce9b6f7..0000000000
--- a/xml/src/main/java/com/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantThree.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.baeldung.xmlhtml.pojo.jaxb.xml.elements;
-
-import javax.xml.bind.annotation.XmlValue;
-
-public class DescendantThree {
-
- private String value;
-
- @XmlValue
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
-}
\ No newline at end of file
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/baeldung/xml/Dom4JParser.java b/xml/src/main/java/com/isharkfly/xml/Dom4JParser.java
old mode 100755
new mode 100644
similarity index 99%
rename from xml/src/main/java/com/baeldung/xml/Dom4JParser.java
rename to xml/src/main/java/com/isharkfly/xml/Dom4JParser.java
index 155b1b8ac0..59f311ec7d
--- a/xml/src/main/java/com/baeldung/xml/Dom4JParser.java
+++ b/xml/src/main/java/com/isharkfly/xml/Dom4JParser.java
@@ -1,4 +1,4 @@
-package com.baeldung.xml;
+package com.isharkfly.xml;
import java.io.File;
import java.io.FileWriter;
diff --git a/xml/src/main/java/com/ossez/xml/JDomParser.java b/xml/src/main/java/com/isharkfly/xml/JDomParser.java
similarity index 98%
rename from xml/src/main/java/com/ossez/xml/JDomParser.java
rename to xml/src/main/java/com/isharkfly/xml/JDomParser.java
index c359ae0da5..81a196ff72 100644
--- a/xml/src/main/java/com/ossez/xml/JDomParser.java
+++ b/xml/src/main/java/com/isharkfly/xml/JDomParser.java
@@ -1,4 +1,4 @@
-package com.ossez.xml;
+package com.isharkfly.xml;
import java.io.File;
import java.io.IOException;
diff --git a/xml/src/main/java/com/ossez/xml/JaxbParser.java b/xml/src/main/java/com/isharkfly/xml/JaxbParser.java
similarity index 93%
rename from xml/src/main/java/com/ossez/xml/JaxbParser.java
rename to xml/src/main/java/com/isharkfly/xml/JaxbParser.java
index 2f7198b1ea..9cbaa38ff8 100644
--- a/xml/src/main/java/com/ossez/xml/JaxbParser.java
+++ b/xml/src/main/java/com/isharkfly/xml/JaxbParser.java
@@ -1,4 +1,4 @@
-package com.ossez.xml;
+package com.isharkfly.xml;
import java.io.File;
import java.util.ArrayList;
@@ -8,8 +8,8 @@ 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;
+import com.isharkfly.xml.binding.Tutorial;
+import com.isharkfly.xml.binding.Tutorials;
public class JaxbParser {
diff --git a/xml/src/main/java/com/ossez/xml/JaxenDemo.java b/xml/src/main/java/com/isharkfly/xml/JaxenDemo.java
similarity index 98%
rename from xml/src/main/java/com/ossez/xml/JaxenDemo.java
rename to xml/src/main/java/com/isharkfly/xml/JaxenDemo.java
index 53b7cdd11c..c7eae13cc6 100644
--- a/xml/src/main/java/com/ossez/xml/JaxenDemo.java
+++ b/xml/src/main/java/com/isharkfly/xml/JaxenDemo.java
@@ -1,4 +1,4 @@
-package com.ossez.xml;
+package com.isharkfly.xml;
import java.io.File;
import java.io.FileInputStream;
diff --git a/xml/src/main/java/com/baeldung/xml/StaxParser.java b/xml/src/main/java/com/isharkfly/xml/StaxParser.java
similarity index 98%
rename from xml/src/main/java/com/baeldung/xml/StaxParser.java
rename to xml/src/main/java/com/isharkfly/xml/StaxParser.java
index 6ad71ef81e..6bc094dae4 100644
--- a/xml/src/main/java/com/baeldung/xml/StaxParser.java
+++ b/xml/src/main/java/com/isharkfly/xml/StaxParser.java
@@ -1,4 +1,4 @@
-package com.baeldung.xml;
+package com.isharkfly.xml;
import java.io.File;
import java.io.FileNotFoundException;
@@ -17,7 +17,7 @@ import javax.xml.stream.events.EndElement;
import javax.xml.stream.events.StartElement;
import javax.xml.stream.events.XMLEvent;
-import com.baeldung.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/baeldung/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/baeldung/xml/attribute/JaxpTransformer.java
rename to xml/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java
index a55b00950c..fa81172446 100644
--- a/xml/src/main/java/com/baeldung/xml/attribute/JaxpTransformer.java
+++ b/xml/src/main/java/com/isharkfly/xml/attribute/JaxpTransformer.java
@@ -1,4 +1,4 @@
-package com.baeldung.xml.attribute;
+package com.isharkfly.xml.attribute;
import java.io.IOException;
import java.io.StringWriter;
diff --git a/xml/src/main/java/com/baeldung/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/baeldung/xml/attribute/JooxTransformer.java
rename to xml/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/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/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.Options;
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/baeldung/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/baeldung/xml/binding/Tutorial.java
rename to xml/src/main/java/com/isharkfly/xml/binding/Tutorial.java
index aa6d2c06ae..c1e2abb516 100644
--- a/xml/src/main/java/com/baeldung/xml/binding/Tutorial.java
+++ b/xml/src/main/java/com/isharkfly/xml/binding/Tutorial.java
@@ -1,4 +1,4 @@
-package com.baeldung.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/baeldung/xml/jibx/Customer.java b/xml/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/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/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/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/baeldung/xml/jibx/Person.java b/xml/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/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/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/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/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/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/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/ossez/xmlhtml/Application.java b/xml/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/src/main/java/com/isharkfly/xmlhtml/Application.java
index 012c6fd783..3216b208cc 100644
--- a/xml/src/main/java/com/ossez/xmlhtml/Application.java
+++ b/xml/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/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/src/main/java/com/isharkfly/xmlhtml/Constants.java
index 88fc5637df..2df0a7c2ef 100644
--- a/xml/src/main/java/com/baeldung/xmlhtml/Constants.java
+++ b/xml/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/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/baeldung/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/baeldung/xmlhtml/helpers/jaxb/JAXBHelper.java
rename to xml/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java
index 715f963f2e..a16a1d4143 100644
--- a/xml/src/main/java/com/baeldung/xmlhtml/helpers/jaxb/JAXBHelper.java
+++ b/xml/src/main/java/com/isharkfly/xmlhtml/helpers/jaxb/JAXBHelper.java
@@ -1,11 +1,11 @@
-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 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 javax.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/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/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/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/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/ossez/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/ossez/xmlhtml/pojo/jaxb/html/ExampleHTML.java
rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/ExampleHTML.java
index 7452e2e8f8..888180daa4 100644
--- a/xml/src/main/java/com/ossez/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.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 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/baeldung/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/baeldung/xmlhtml/pojo/jaxb/html/elements/Meta.java
rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/Meta.java
index 11b6b86c05..657309436f 100644
--- a/xml/src/main/java/com/baeldung/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.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;
diff --git a/xml/src/main/java/com/ossez/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/ossez/xmlhtml/pojo/jaxb/html/elements/NestedElement.java
rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/html/elements/NestedElement.java
index 58b7a694ad..00ed609682 100644
--- a/xml/src/main/java/com/ossez/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.ossez.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/ossez/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/ossez/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java
rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/Ancestor.java
index 9608a9d8ec..6d0fa067de 100644
--- a/xml/src/main/java/com/ossez/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.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/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/baeldung/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/baeldung/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java
rename to xml/src/main/java/com/isharkfly/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java
index 1ca989560b..7e0dd4f830 100644
--- a/xml/src/main/java/com/baeldung/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.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/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/Dom4JParser.java b/xml/src/main/java/com/ossez/xml/Dom4JParser.java
deleted file mode 100644
index 652784eabe..0000000000
--- a/xml/src/main/java/com/ossez/xml/Dom4JParser.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.ossez.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/ossez/xml/StaxParser.java b/xml/src/main/java/com/ossez/xml/StaxParser.java
deleted file mode 100644
index a3ace60554..0000000000
--- a/xml/src/main/java/com/ossez/xml/StaxParser.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package com.ossez.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.ossez.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/ossez/xml/attribute/JaxpTransformer.java b/xml/src/main/java/com/ossez/xml/attribute/JaxpTransformer.java
deleted file mode 100644
index bf512f5f2b..0000000000
--- a/xml/src/main/java/com/ossez/xml/attribute/JaxpTransformer.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.ossez.xml.attribute;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-
-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.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;
-
-public class JaxpTransformer {
-
- private Document input;
-
- public JaxpTransformer(String resourcePath) throws SAXException, IOException, ParserConfigurationException {
- // 1- Build the doc from the XML file
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
- this.input = factory.newDocumentBuilder()
- .parse(resourcePath);
- }
-
- public String modifyAttribute(String attribute, String oldValue, String newValue) throws XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
- // 2- Locate the node(s) with xpath
- XPath xpath = XPathFactory.newInstance()
- .newXPath();
- NodeList nodes = (NodeList) xpath.evaluate(String.format("//*[contains(@%s, '%s')]", attribute, oldValue), this.input, XPathConstants.NODESET);
- // 3- Make the change on the selected nodes
- for (int i = 0; i < nodes.getLength(); i++) {
- Element value = (Element) nodes.item(i);
- value.setAttribute(attribute, newValue);
- }
- // Stream api syntax
- // IntStream
- // .range(0, nodes.getLength())
- // .mapToObj(i -> (Element) nodes.item(i))
- // .forEach(value -> value.setAttribute(attribute, newValue));
- // 4- Save the result to a new XML doc
- TransformerFactory factory = TransformerFactory.newInstance();
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- Transformer xformer = factory.newTransformer();
- xformer.setOutputProperty(OutputKeys.INDENT, "yes");
- Writer output = new StringWriter();
- xformer.transform(new DOMSource(this.input), new StreamResult(output));
- return output.toString();
- }
-}
diff --git a/xml/src/main/java/com/ossez/xml/attribute/JooxTransformer.java b/xml/src/main/java/com/ossez/xml/attribute/JooxTransformer.java
deleted file mode 100644
index 511aa28d6e..0000000000
--- a/xml/src/main/java/com/ossez/xml/attribute/JooxTransformer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.ossez.xml.attribute;
-
-import org.joox.JOOX;
-import org.joox.Match;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import java.io.IOException;
-
-import static org.joox.JOOX.$;
-
-public class JooxTransformer {
-
- private final Document input;
-
- public JooxTransformer(String resourcePath) throws SAXException, IOException {
- // 1- Build the doc from the XML file
- DocumentBuilder builder = JOOX.builder();
- input = builder.parse(resourcePath);
- }
-
- public String modifyAttribute(String attribute, String oldValue, String newValue) throws TransformerFactoryConfigurationError {
- // 2- Select the document
- Match $ = $(input);
- // 3 - Find node to modify
- String expr = String.format("//*[contains(@%s, '%s')]", attribute, oldValue);
- $
- // .find("to") or with xpath
- .xpath(expr)
- .get()
- .stream()
- .forEach(e -> e.setAttribute(attribute, newValue));
- // 4- Return result as String
- return $.toString();
- }
-}
diff --git a/xml/src/main/java/com/ossez/xml/attribute/jmh/AttributeBenchMark.java b/xml/src/main/java/com/ossez/xml/attribute/jmh/AttributeBenchMark.java
deleted file mode 100644
index 6b4df2948b..0000000000
--- a/xml/src/main/java/com/ossez/xml/attribute/jmh/AttributeBenchMark.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.ossez.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 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.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;
-
-@BenchmarkMode(Mode.AverageTime)
-@OutputTimeUnit(TimeUnit.MILLISECONDS)
-@State(Scope.Benchmark)
-public class AttributeBenchMark {
-
- public static void main(String[] args) throws RunnerException {
- Options opt = new OptionsBuilder().include(AttributeBenchMark.class.getSimpleName())
- .forks(1)
- .build();
- new Runner(opt).run();
- }
-
- @Benchmark
- public String dom4jBenchmark() throws DocumentException, TransformerException, SAXException {
- String path = this.getClass()
- .getResource("/xml/attribute.xml")
- .toString();
- Dom4jTransformer transformer = new Dom4jTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
-
- return transformer.modifyAttribute(attribute, oldValue, newValue);
- }
-
- @Benchmark
- public String jooxBenchmark() throws IOException, SAXException {
- String path = this.getClass()
- .getResource("/xml/attribute.xml")
- .toString();
- JooxTransformer transformer = new JooxTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
-
- return transformer.modifyAttribute(attribute, oldValue, newValue);
- }
-
- @Benchmark
- public String jaxpBenchmark() throws TransformerException, ParserConfigurationException, SAXException, IOException, XPathExpressionException {
- String path = this.getClass()
- .getResource("/xml/attribute.xml")
- .toString();
- JaxpTransformer transformer = new JaxpTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
-
- return transformer.modifyAttribute(attribute, oldValue, newValue);
- }
-}
diff --git a/xml/src/main/java/com/ossez/xml/binding/Tutorial.java b/xml/src/main/java/com/ossez/xml/binding/Tutorial.java
deleted file mode 100644
index 07a88e20be..0000000000
--- a/xml/src/main/java/com/ossez/xml/binding/Tutorial.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.ossez.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/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/java/com/ossez/xml/jibx/Customer.java b/xml/src/main/java/com/ossez/xml/jibx/Customer.java
deleted file mode 100644
index 8f04370f6c..0000000000
--- a/xml/src/main/java/com/ossez/xml/jibx/Customer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Customer.java 06.06.2008
- *
- * Copyright 2008 Stefan Jäger
- *
- */
-package com.ossez.xml.jibx;
-
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-public class Customer {
- private Person person;
- private String city;
-
- private Phone homePhone;
- private Phone officePhone;
-
- public Person getPerson() {
- return person;
- }
-
- public void setPerson(Person person) {
- this.person = person;
- }
-
- public String getCity() {
- return city;
- }
-
- public void setCity(String city) {
- this.city = city;
- }
-
- public Phone getHomePhone() {
- return homePhone;
- }
-
- public void setHomePhone(Phone homePhone) {
- this.homePhone = homePhone;
- }
-
- public Phone getOfficePhone() {
- return officePhone;
- }
-
- public void setOfficePhone(Phone officePhone) {
- this.officePhone = officePhone;
- }
-
- public String toString() {
- return ToStringBuilder.reflectionToString(this);
- }
-}
diff --git a/xml/src/main/java/com/ossez/xml/jibx/Identity.java b/xml/src/main/java/com/ossez/xml/jibx/Identity.java
deleted file mode 100644
index 5ced94b355..0000000000
--- a/xml/src/main/java/com/ossez/xml/jibx/Identity.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ossez.xml.jibx;
-
-public class Identity {
-
- long customerId;
-
- public long getCustomerId() {
- return customerId;
- }
-
- public void setCustomerId(long customerId) {
- this.customerId = customerId;
- }
-}
diff --git a/xml/src/main/java/com/ossez/xml/jibx/Person.java b/xml/src/main/java/com/ossez/xml/jibx/Person.java
deleted file mode 100644
index 2aad6894cd..0000000000
--- a/xml/src/main/java/com/ossez/xml/jibx/Person.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Person.java 06.06.2008
- *
- * Copyright 2008 Stefan Jäger
- *
- */
-package com.ossez.xml.jibx;
-
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-public class Person extends Identity {
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String toString() {
- return ToStringBuilder.reflectionToString(this);
- }
-}
diff --git a/xml/src/main/java/com/ossez/xml/jibx/Phone.java b/xml/src/main/java/com/ossez/xml/jibx/Phone.java
deleted file mode 100644
index c81f547105..0000000000
--- a/xml/src/main/java/com/ossez/xml/jibx/Phone.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.ossez.xml.jibx;
-
-public class Phone {
-
- private String number;
-
- public String getNumber() {
- return number;
- }
-
- public void setNumber(String number) {
- this.number = number;
- }
-}
diff --git a/xml/src/main/java/com/ossez/xmlhtml/Constants.java b/xml/src/main/java/com/ossez/xmlhtml/Constants.java
deleted file mode 100644
index 29142d9bbf..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/Constants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ossez.xmlhtml;
-
-public class Constants {
-
- public static final String XML_FILE_IN = "src/main/resources/xml/in.xml";
- public static final String JAXB_FILE_OUT = "src/main/resources/xml/jaxb.html";
- public static final String JAXP_FILE_OUT = "src/main/resources/xml/jaxp.html";
- public static final String STAX_FILE_OUT = "src/main/resources/xml/stax.html";
-
- public static final String EXCEPTION_ENCOUNTERED = "Generic exception! Error: ";
-
- public static final String LINE_BREAK = System.getProperty("line.separator");
- public static final String WHITE_SPACE = " ";
-
- public static final String DOCUMENT_START = "Document parsing has begun!";
- public static final String DOCUMENT_END = "Document parsing has ended!";
- public static final String ELEMENT_START = "Element parsing has begun!";
- public static final String ELEMENT_END = "Element parsing has ended!";
-
- public static final String BREAK = "\n";
- public static final String TAB = "\t";
-}
diff --git a/xml/src/main/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformer.java b/xml/src/main/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformer.java
deleted file mode 100644
index e5d5cb673b..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.ossez.xmlhtml.freemarker;
-
-import com.ossez.xmlhtml.stax.StaxTransformer;
-import freemarker.template.Configuration;
-import freemarker.template.Template;
-import freemarker.template.TemplateException;
-import freemarker.template.TemplateExceptionHandler;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.nio.charset.StandardCharsets;
-
-public class FreemarkerTransformer {
- private StaxTransformer staxTransformer;
- private String templateDirectory;
- private String templateFile;
-
- public FreemarkerTransformer(StaxTransformer staxTransformer, String templateDirectory, String templateFile) {
- this.staxTransformer = staxTransformer;
- this.templateDirectory = templateDirectory;
- this.templateFile = templateFile;
- }
-
- public String html() throws IOException, TemplateException {
- Configuration cfg = new Configuration(Configuration.VERSION_2_3_29);
- cfg.setDirectoryForTemplateLoading(new File(templateDirectory));
- cfg.setDefaultEncoding(StandardCharsets.UTF_8.toString());
- cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
- cfg.setLogTemplateExceptions(false);
- cfg.setWrapUncheckedExceptions(true);
- cfg.setFallbackOnNullLoopVariable(false);
- Template temp = cfg.getTemplate(templateFile);
- try (Writer output = new StringWriter()) {
- temp.process(staxTransformer.getMap(), output);
- return output.toString();
- }
- }
-}
diff --git a/xml/src/main/java/com/ossez/xmlhtml/helpers/XMLRunner.java b/xml/src/main/java/com/ossez/xmlhtml/helpers/XMLRunner.java
deleted file mode 100644
index 22678df4a7..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/helpers/XMLRunner.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ossez.xmlhtml.helpers;
-
-
-import com.ossez.xmlhtml.helpers.jaxb.JAXBHelper;
-
-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/ossez/xmlhtml/helpers/jaxb/JAXBHelper.java
deleted file mode 100644
index f8d74a6fa5..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/helpers/jaxb/JAXBHelper.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package com.ossez.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 javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-
-import java.io.File;
-
-import static com.ossez.xmlhtml.Constants.*;
-
-public class JAXBHelper {
-
- private static void print(String xmlContent) {
- System.out.println(xmlContent);
- }
-
- private static Unmarshaller getContextUnmarshaller(Class clazz) {
- Unmarshaller unmarshaller = null;
- try {
- JAXBContext context = JAXBContext.newInstance(clazz);
- unmarshaller = context.createUnmarshaller();
- } catch (Exception ex) {
- System.out.println(EXCEPTION_ENCOUNTERED + ex);
- }
- return unmarshaller;
- }
-
- private static Marshaller getContextMarshaller(Class clazz) {
- Marshaller marshaller = null;
- try {
- JAXBContext context = JAXBContext.newInstance(clazz);
- marshaller = context.createMarshaller();
- marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- marshaller.setProperty("jaxb.fragment", Boolean.TRUE);
- } catch (Exception ex) {
- System.out.println(EXCEPTION_ENCOUNTERED + ex);
- }
- return marshaller;
- }
-
- public static void example() {
- try {
- XMLExample xml = (XMLExample) JAXBHelper.getContextUnmarshaller(XMLExample.class).unmarshal(new File(XML_FILE_IN));
- JAXBHelper.print(xml.toString());
- ExampleHTML html = new ExampleHTML();
-
- Body body = new Body();
- CustomElement customElement = new CustomElement();
- NestedElement nested = new NestedElement();
- CustomElement child = new CustomElement();
-
- customElement.setValue("descendantOne: " + xml.getAncestor().getDescendantOne().getValue());
- child.setValue("descendantThree: " + xml.getAncestor().getDescendantTwo().getDescendantThree().getValue());
- nested.setCustomElement(child);
-
- body.setCustomElement(customElement);
- body.setNestedElement(nested);
-
- Meta meta = new Meta();
- meta.setTitle("example");
- html.getHead().add(meta);
- html.setBody(body);
-
- JAXBHelper.getContextMarshaller(ExampleHTML.class).marshal(html, new File(JAXB_FILE_OUT));
-
- } catch (Exception ex) {
- System.out.println(EXCEPTION_ENCOUNTERED + ex);
- }
- }
-}
\ No newline at end of file
diff --git a/xml/src/main/java/com/ossez/xmlhtml/jaxp/JaxpTransformer.java b/xml/src/main/java/com/ossez/xmlhtml/jaxp/JaxpTransformer.java
deleted file mode 100644
index a72eb9f0a2..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/jaxp/JaxpTransformer.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.ossez.xmlhtml.jaxp;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-
-import javax.xml.XMLConstants;
-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.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.HashMap;
-import java.util.Map;
-
-public class JaxpTransformer {
-
- private Document input;
- private DocumentBuilderFactory factory;
-
- public JaxpTransformer(String resourcePath) throws ParserConfigurationException, IOException, SAXException {
- // 1- Build the doc from the XML file
- factory = DocumentBuilderFactory.newInstance();
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
- input = factory
- .newDocumentBuilder()
- .parse(resourcePath);
- }
-
- public String html() throws ParserConfigurationException, TransformerException, IOException {
- Element xml = input.getDocumentElement();
- Document doc = factory
- .newDocumentBuilder()
- .newDocument();
- //Build Map
- Map map = buildMap(xml);
- //Head
- Element html = doc.createElement("html");
- html.setAttribute("lang", "en");
- Element head = buildHead(map, doc);
- html.appendChild(head);
- //Body
- Element body = buildBody(map, doc);
- html.appendChild(body);
- doc.appendChild(html);
- return String.format("%n%s", applyTransformation(doc));
- }
-
- private String applyTransformation(Document doc) throws TransformerException, IOException {
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- transformerFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
- transformerFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
- try (Writer output = new StringWriter()) {
- Transformer transformer = transformerFactory.newTransformer();
- transformer.transform(new DOMSource(doc), new StreamResult(output));
- return output.toString();
- }
- }
-
- private Map buildMap(Element xml) {
- Map map = new HashMap<>();
- map.put("heading", xml
- .getElementsByTagName("heading")
- .item(0)
- .getTextContent());
- map.put("from", String.format("from: %s", xml
- .getElementsByTagName("from")
- .item(0)
- .getTextContent()));
- map.put("content", xml
- .getElementsByTagName("content")
- .item(0)
- .getTextContent());
- return map;
- }
-
- private Element buildHead(Map map, Document doc) {
- Element head = doc.createElement("head");
- Element title = doc.createElement("title");
- title.setTextContent(map.get("heading"));
- head.appendChild(title);
- return head;
- }
-
- private Element buildBody(Map map, Document doc) {
- Element body = doc.createElement("body");
- Element from = doc.createElement("p");
- from.setTextContent(map.get("from"));
- Element success = doc.createElement("p");
- success.setTextContent(map.get("content"));
- body.appendChild(from);
- body.appendChild(success);
- return body;
- }
-
-}
diff --git a/xml/src/main/java/com/ossez/xmlhtml/mustache/MustacheTransformer.java b/xml/src/main/java/com/ossez/xmlhtml/mustache/MustacheTransformer.java
deleted file mode 100644
index cba7da8abe..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/mustache/MustacheTransformer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.ossez.xmlhtml.mustache;
-
-import com.ossez.xmlhtml.stax.StaxTransformer;
-import com.github.mustachejava.DefaultMustacheFactory;
-import com.github.mustachejava.Mustache;
-import com.github.mustachejava.MustacheFactory;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-
-public class MustacheTransformer {
- private StaxTransformer staxTransformer;
- private String templateFile;
-
- public MustacheTransformer(StaxTransformer staxTransformer, String templateFile) {
- this.staxTransformer = staxTransformer;
- this.templateFile = templateFile;
- }
-
- public String html() throws IOException {
- MustacheFactory mf = new DefaultMustacheFactory();
- Mustache mustache = mf.compile(templateFile);
- try (Writer output = new StringWriter()) {
- mustache.execute(output, staxTransformer.getMap());
- output.flush();
- return output.toString();
- }
- }
-}
diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Body.java b/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Body.java
deleted file mode 100644
index 2396a2d599..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Body.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ossez.xmlhtml.pojo.jaxb.html.elements;
-
-import javax.xml.bind.annotation.XmlElement;
-
-public class Body {
-
- private CustomElement customElement;
-
- public CustomElement getCustomElement() {
- return customElement;
- }
-
- @XmlElement(name = "p")
- public void setCustomElement(CustomElement customElement) {
- this.customElement = customElement;
- }
-
- private NestedElement nestedElement;
-
- public NestedElement getNestedElement() {
- return nestedElement;
- }
-
- @XmlElement(name = "div")
- public void setNestedElement(NestedElement nestedElement) {
- this.nestedElement = nestedElement;
- }
-
-}
\ No newline at end of file
diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/CustomElement.java b/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/CustomElement.java
deleted file mode 100644
index 2356cf06c2..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/CustomElement.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.ossez.xmlhtml.pojo.jaxb.html.elements;
-
-import javax.xml.bind.annotation.XmlValue;
-
-public class CustomElement {
-
- private String value;
-
- @XmlValue
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
-}
diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Meta.java b/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Meta.java
deleted file mode 100644
index 1850d9352a..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/html/elements/Meta.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.ossez.xmlhtml.pojo.jaxb.html.elements;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlValue;
-
-public class Meta {
-
- private String title;
-
- public String getTitle() {
- return title;
- }
-
- @XmlAttribute(name = "title")
- public void setTitle(String title) {
- this.title = title;
- }
-
- private String value;
-
- @XmlValue
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
-}
\ No newline at end of file
diff --git a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java b/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java
deleted file mode 100644
index 63c0b7a288..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/pojo/jaxb/xml/elements/DescendantTwo.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.ossez.xmlhtml.pojo.jaxb.xml.elements;
-
-import javax.xml.bind.annotation.XmlElement;
-
-public class DescendantTwo {
-
- private DescendantThree descendantThree;
-
- public DescendantThree getDescendantThree() {
- return descendantThree;
- }
-
- @XmlElement(name = "descendantThree")
- public void setDescendant(DescendantThree descendantThree) {
- this.descendantThree = descendantThree;
- }
-}
\ No newline at end of file
diff --git a/xml/src/main/java/com/ossez/xmlhtml/stax/StaxTransformer.java b/xml/src/main/java/com/ossez/xmlhtml/stax/StaxTransformer.java
deleted file mode 100644
index 02c5cc2fac..0000000000
--- a/xml/src/main/java/com/ossez/xmlhtml/stax/StaxTransformer.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.ossez.xmlhtml.stax;
-
-import javax.xml.stream.*;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.HashMap;
-import java.util.Map;
-
-public class StaxTransformer {
-
- private Map map;
-
- public StaxTransformer(String resourcePath) throws IOException, XMLStreamException {
- XMLInputFactory factory = XMLInputFactory.newInstance();
- factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
- factory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE);
- XMLStreamReader input = null;
- try (FileInputStream file = new FileInputStream(resourcePath)) {
- input = factory.createXMLStreamReader(file);
- map = buildMap(input);
- } finally {
- if (input != null) {
- input.close();
- }
- }
- }
-
- public String html() throws XMLStreamException, IOException {
- try (Writer output = new StringWriter()) {
- XMLStreamWriter writer = XMLOutputFactory
- .newInstance()
- .createXMLStreamWriter(output);
- //Head
- writer.writeDTD("");
- writer.writeCharacters(String.format("%n"));
- writer.writeStartElement("html");
- writer.writeAttribute("lang", "en");
- writer.writeCharacters(String.format("%n"));
- writer.writeStartElement("head");
- writer.writeCharacters(String.format("%n"));
- writer.writeDTD("");
- writer.writeCharacters(String.format("%n"));
- writer.writeStartElement("title");
- writer.writeCharacters(map.get("heading"));
- writer.writeEndElement();
- writer.writeCharacters(String.format("%n"));
- writer.writeEndElement();
- writer.writeCharacters(String.format("%n"));
- //Body
- writer.writeStartElement("body");
- writer.writeCharacters(String.format("%n"));
- writer.writeStartElement("p");
- writer.writeCharacters(map.get("from"));
- writer.writeEndElement();
- writer.writeCharacters(String.format("%n"));
- writer.writeStartElement("p");
- writer.writeCharacters(map.get("content"));
- writer.writeEndElement();
- writer.writeCharacters(String.format("%n"));
- writer.writeEndElement();
- writer.writeCharacters(String.format("%n"));
- writer.writeEndDocument();
- writer.writeCharacters(String.format("%n"));
- writer.flush();
- return output.toString();
- }
- }
-
- private Map buildMap(XMLStreamReader input) throws XMLStreamException {
- Map tempMap = new HashMap<>();
- while (input.hasNext()) {
- input.next();
- if (input.isStartElement()) {
- if (input
- .getLocalName()
- .equals("heading")) {
- tempMap.put("heading", input.getElementText());
- }
- if (input
- .getLocalName()
- .equals("from")) {
- tempMap.put("from", String.format("from: %s", input.getElementText()));
- }
- if (input
- .getLocalName()
- .equals("content")) {
- tempMap.put("content", input.getElementText());
- }
- }
- }
- return tempMap;
- }
-
- public Map getMap() {
- return map;
- }
-}
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/JaxbParserUnitTest.java b/xml/src/test/java/com/baeldung/xml/JaxbParserUnitTest.java
deleted file mode 100755
index faed257298..0000000000
--- a/xml/src/test/java/com/baeldung/xml/JaxbParserUnitTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.baeldung.xml;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-
-import org.junit.Test;
-
-import com.baeldung.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/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/XMLDocumentWriterUnitTest.java b/xml/src/test/java/com/baeldung/xml/XMLDocumentWriterUnitTest.java
deleted file mode 100644
index 68f787a054..0000000000
--- a/xml/src/test/java/com/baeldung/xml/XMLDocumentWriterUnitTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.baeldung.xml;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-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 java.io.File;
-
-public class XMLDocumentWriterUnitTest {
-
- @Test
- public void givenXMLDocumentWhenWriteIsCalledThenXMLIsWrittenToFile() throws Exception {
- Document document = createSampleDocument();
- new XMLDocumentWriter().write(document, "company_simple.xml", false, false);
- }
-
- @Test
- public void givenXMLDocumentWhenWriteIsCalledWithPrettyPrintThenFormattedXMLIsWrittenToFile() throws Exception {
- Document document = createSampleDocument();
- new XMLDocumentWriter().write(document, "company_prettyprinted.xml", false, true);
- }
-
- private Document createSampleDocument() throws ParserConfigurationException {
- DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
- Document document = documentBuilder.newDocument();
- Element companyElement = document.createElement("Company");
- document.appendChild(companyElement);
- Element departmentElement = document.createElement("Department");
- departmentElement.setAttribute("name", "Sales");
- companyElement.appendChild(departmentElement);
- Element employee1 = document.createElement("Employee");
- employee1.setAttribute("name", "John Smith");
- departmentElement.appendChild(employee1);
- Element employee2 = document.createElement("Employee");
- employee2.setAttribute("name", "Tim Dellor");
- departmentElement.appendChild(employee2);
- return document;
- }
-
- @After
- public void cleanUp() throws Exception {
- FileUtils.deleteQuietly(new File("company_simple.xml"));
- FileUtils.deleteQuietly(new File("company_prettyprinted.xml"));
- }
-}
diff --git a/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java b/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java
deleted file mode 100644
index 8d814783e0..0000000000
--- a/xml/src/test/java/com/baeldung/xml/attribute/JaxpProcessorUnitTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.baeldung.xml.attribute;
-
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.xmlunit.assertj.XmlAssert.assertThat;
-
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.xpath.XPathExpressionException;
-
-import org.junit.jupiter.api.Test;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * Unit test for {@link JaxpTransformer}.
- */
-public class JaxpProcessorUnitTest {
-
- @Test
- public void givenXmlWithAttributes_whenModifyAttribute_thenGetXmlUpdated() throws IOException, SAXException, ParserConfigurationException, XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
- String path = getClass().getResource("/xml/attribute.xml")
- .toString();
- JaxpTransformer transformer = new JaxpTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
-
- String result = transformer.modifyAttribute(attribute, oldValue, newValue);
-
- assertThat(result).hasXPath("//*[contains(@customer, 'false')]");
- }
-
- @Test
- public void givenXmlXee_whenInit_thenThrowException() throws IOException, SAXException, ParserConfigurationException, XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
- String path = getClass().getResource("/xml/xee_attribute.xml")
- .toString();
-
- assertThatThrownBy(() -> {
-
- new JaxpTransformer(path);
-
- }).isInstanceOf(SAXParseException.class);
- }
-
-}
diff --git a/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java b/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java
deleted file mode 100644
index 0fdfcfeb52..0000000000
--- a/xml/src/test/java/com/baeldung/xml/attribute/JooxProcessorUnitTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.baeldung.xml.attribute;
-
-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 java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.xmlunit.assertj.XmlAssert.assertThat;
-
-/**
- * Unit test for {@link JooxTransformer}.
- */
-public class JooxProcessorUnitTest {
-
- @Test
- public void givenXmlWithAttributes_whenModifyAttribute_thenGetXmlUpdated() throws IOException, SAXException, TransformerFactoryConfigurationError {
- String path = getClass().getResource("/xml/attribute.xml")
- .toString();
- JooxTransformer transformer = new JooxTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
-
- String result = transformer.modifyAttribute(attribute, oldValue, newValue);
-
- assertThat(result).hasXPath("//*[contains(@customer, 'false')]");
- }
-
- @Test
- public void givenTwoXml_whenModifyAttribute_thenGetSimilarXml() throws IOException, TransformerFactoryConfigurationError, URISyntaxException, SAXException {
- String path = getClass().getResource("/xml/attribute.xml")
- .toString();
- JooxTransformer transformer = new JooxTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
- String expectedXml = new String(Files.readAllBytes((Paths.get(getClass().getResource("/xml/attribute_expected.xml")
- .toURI()))));
-
- String result = transformer
- .modifyAttribute(attribute, oldValue, newValue)
- .replaceAll("(?m)^[ \t]*\r?\n", "");//Delete extra spaces added by Java 11
-
- assertThat(result).and(expectedXml)
- .areSimilar();
- }
-
- @Test
- public void givenXmlXee_whenInit_thenThrowException() throws IOException, SAXException, ParserConfigurationException, XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
- String path = getClass().getResource("/xml/xee_attribute.xml")
- .toString();
-
- assertThatThrownBy(() -> {
-
- new JooxTransformer(path);
-
- }).isInstanceOf(SAXParseException.class);
- }
-
-}
diff --git a/xml/src/test/java/com/baeldung/xml/jibx/CustomerUnitTest.java b/xml/src/test/java/com/baeldung/xml/jibx/CustomerUnitTest.java
deleted file mode 100644
index 9a4b5bc14b..0000000000
--- a/xml/src/test/java/com/baeldung/xml/jibx/CustomerUnitTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.baeldung.xml.jibx;
-
-import org.jibx.runtime.BindingDirectory;
-import org.jibx.runtime.IBindingFactory;
-import org.jibx.runtime.IUnmarshallingContext;
-import org.jibx.runtime.JiBXException;
-import org.junit.Test;
-
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import static junit.framework.Assert.assertEquals;
-
-public class CustomerUnitTest {
-
- @Test
- public void whenUnmarshalXML_ThenFieldsAreMapped() throws JiBXException, FileNotFoundException {
- IBindingFactory bfact = BindingDirectory.getFactory(Customer.class);
- IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- InputStream inputStream = classLoader.getResourceAsStream("Customer1.xml");
- Customer customer = (Customer) uctx.unmarshalDocument(inputStream, null);
-
- assertEquals("Stefan Jaeger", customer.getPerson().getName());
- assertEquals("Davos Dorf", customer.getCity());
-
- }
-
- @Test
- public void WhenUnmarshal_ThenMappingInherited() throws JiBXException, FileNotFoundException {
- IBindingFactory bfact = BindingDirectory.getFactory(Customer.class);
- IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- InputStream inputStream = classLoader.getResourceAsStream("Customer1.xml");
- Customer customer = (Customer) uctx.unmarshalDocument(inputStream, null);
-
- assertEquals(12345, customer.getPerson().getCustomerId());
-
- }
-
- @Test
- public void WhenUnmarshal_ThenPhoneMappingRead() throws JiBXException, FileNotFoundException {
- IBindingFactory bfact = BindingDirectory.getFactory(Customer.class);
- IUnmarshallingContext uctx = bfact.createUnmarshallingContext();
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- InputStream inputStream = classLoader.getResourceAsStream("Customer1.xml");
- Customer customer = (Customer) uctx.unmarshalDocument(inputStream, null);
-
- assertEquals("234678", customer.getHomePhone().getNumber());
-
- }
-}
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/baeldung/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java b/xml/src/test/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java
deleted file mode 100644
index c110f88e99..0000000000
--- a/xml/src/test/java/com/baeldung/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.baeldung.xmlhtml.freemarker;
-
-import com.baeldung.xmlhtml.stax.StaxTransformer;
-import freemarker.template.TemplateException;
-import org.junit.jupiter.api.Test;
-
-import javax.xml.stream.XMLStreamException;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class FreemarkerTransformerUnitTest {
-
- @Test
- public void givenXml_whenTransform_thenGetHtml() throws IOException, URISyntaxException, XMLStreamException, TemplateException {
- String expectedHtml = new String(Files.readAllBytes((Paths.get(getClass()
- .getResource("/xmlhtml/notification.html")
- .toURI()))));
- StaxTransformer staxTransformer = new StaxTransformer("src/test/resources/xmlhtml/notification.xml");
- String templateFile = "freemarker.html";
- String templateDirectory = "src/test/resources/templates";
- FreemarkerTransformer transformer = new FreemarkerTransformer(staxTransformer, templateDirectory, templateFile);
-
- String result = transformer.html();
-
- assertThat(result).isEqualTo(expectedHtml);
- }
-
-}
diff --git a/xml/src/test/java/com/baeldung/xmlhtml/mustache/MustacheTransformerUnitTest.java b/xml/src/test/java/com/baeldung/xmlhtml/mustache/MustacheTransformerUnitTest.java
deleted file mode 100644
index b53a23d4fb..0000000000
--- a/xml/src/test/java/com/baeldung/xmlhtml/mustache/MustacheTransformerUnitTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.baeldung.xmlhtml.mustache;
-
-import com.baeldung.xmlhtml.stax.StaxTransformer;
-import org.junit.jupiter.api.Test;
-
-import javax.xml.stream.XMLStreamException;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class MustacheTransformerUnitTest {
-
- @Test
- public void givenXml_whenTransform_thenGetHtml() throws IOException, URISyntaxException, XMLStreamException {
- String expectedHtml = new String(Files.readAllBytes((Paths.get(getClass()
- .getResource("/xmlhtml/notification.html")
- .toURI()))));
- StaxTransformer staxTransformer = new StaxTransformer("src/test/resources/xmlhtml/notification.xml");
- String templateFile = "src/test/resources/templates/template.mustache";
- MustacheTransformer transformer = new MustacheTransformer(staxTransformer, templateFile);
-
- String result = transformer.html();
-
- assertThat(result).isEqualTo(expectedHtml);
- }
-
-}
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/baeldung/xml/JDomParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/JDomParserUnitTest.java
old mode 100755
new mode 100644
similarity index 97%
rename from xml/src/test/java/com/baeldung/xml/JDomParserUnitTest.java
rename to xml/src/test/java/com/isharkfly/xml/JDomParserUnitTest.java
index af97e1b16d..698f303231
--- a/xml/src/test/java/com/baeldung/xml/JDomParserUnitTest.java
+++ b/xml/src/test/java/com/isharkfly/xml/JDomParserUnitTest.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/JaxbParserUnitTest.java b/xml/src/test/java/com/isharkfly/xml/JaxbParserUnitTest.java
similarity index 93%
rename from xml/src/test/java/com/ossez/xml/JaxbParserUnitTest.java
rename to xml/src/test/java/com/isharkfly/xml/JaxbParserUnitTest.java
index 864c9f860b..7c47a18635 100644
--- a/xml/src/test/java/com/ossez/xml/JaxbParserUnitTest.java
+++ b/xml/src/test/java/com/isharkfly/xml/JaxbParserUnitTest.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;
@@ -7,7 +7,7 @@ import java.io.File;
import org.junit.Test;
-import com.ossez.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 java.util.List;
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/baeldung/xml/XercesDomUnitTest.java b/xml/src/test/java/com/isharkfly/xml/XercesDomUnitTest.java
similarity index 99%
rename from xml/src/test/java/com/baeldung/xml/XercesDomUnitTest.java
rename to xml/src/test/java/com/isharkfly/xml/XercesDomUnitTest.java
index a5091c62fc..48362455e8 100644
--- a/xml/src/test/java/com/baeldung/xml/XercesDomUnitTest.java
+++ b/xml/src/test/java/com/isharkfly/xml/XercesDomUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.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/baeldung/xmlhtml/delhtmltags/RemoveHtmlTagsLiveTest.java b/xml/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/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/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/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java
similarity index 92%
rename from xml/src/test/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java
rename to xml/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java
index 29d7445303..d986206f96 100644
--- a/xml/src/test/java/com/ossez/xmlhtml/freemarker/FreemarkerTransformerUnitTest.java
+++ b/xml/src/test/java/com/isharkfly/xmlhtml/freemarker/FreemarkerTransformerUnitTest.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.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/baeldung/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/baeldung/xmlhtml/stax/StaxTransformerUnitTest.java
rename to xml/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java
index 0c7329e899..cc2f32335e 100644
--- a/xml/src/test/java/com/baeldung/xmlhtml/stax/StaxTransformerUnitTest.java
+++ b/xml/src/test/java/com/isharkfly/xmlhtml/stax/StaxTransformerUnitTest.java
@@ -1,4 +1,4 @@
-package com.baeldung.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/JDomParserUnitTest.java b/xml/src/test/java/com/ossez/xml/JDomParserUnitTest.java
deleted file mode 100644
index 7d5a96126b..0000000000
--- a/xml/src/test/java/com/ossez/xml/JDomParserUnitTest.java
+++ /dev/null
@@ -1,38 +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 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/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/xml/src/test/java/com/ossez/xml/XercesDomUnitTest.java b/xml/src/test/java/com/ossez/xml/XercesDomUnitTest.java
deleted file mode 100644
index 7a6d054a31..0000000000
--- a/xml/src/test/java/com/ossez/xml/XercesDomUnitTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-package com.ossez.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/ossez/xml/attribute/Dom4jProcessorUnitTest.java b/xml/src/test/java/com/ossez/xml/attribute/Dom4jProcessorUnitTest.java
deleted file mode 100644
index f270b721a0..0000000000
--- a/xml/src/test/java/com/ossez/xml/attribute/Dom4jProcessorUnitTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.ossez.xml.attribute;
-
-import org.dom4j.DocumentException;
-import org.junit.jupiter.api.Test;
-import org.xml.sax.SAXException;
-
-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 java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import static org.xmlunit.assertj.XmlAssert.assertThat;
-
-/**
- * Unit test for {@link Dom4jTransformer}.
- */
-public class Dom4jProcessorUnitTest {
-
- @Test
- public void givenXmlWithAttributes_whenModifyAttribute_thenGetXmlUpdated() throws TransformerFactoryConfigurationError, TransformerException, DocumentException, SAXException {
- String path = getClass().getResource("/xml/attribute.xml")
- .toString();
- Dom4jTransformer transformer = new Dom4jTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
-
- String result = transformer.modifyAttribute(attribute, oldValue, newValue);
-
- assertThat(result).hasXPath("//*[contains(@customer, 'false')]");
- }
-
- @Test
- public void givenTwoXml_whenModifyAttribute_thenGetSimilarXml() throws IOException, TransformerFactoryConfigurationError, TransformerException, URISyntaxException, DocumentException, SAXException {
- String path = getClass().getResource("/xml/attribute.xml")
- .toString();
- Dom4jTransformer transformer = new Dom4jTransformer(path);
- String attribute = "customer";
- String oldValue = "true";
- String newValue = "false";
- String expectedXml = new String(Files.readAllBytes((Paths.get(getClass().getResource("/xml/attribute_expected.xml")
- .toURI()))));
-
- String result = transformer
- .modifyAttribute(attribute, oldValue, newValue)
- .replaceAll("(?m)^[ \t]*\r?\n", "");//Delete extra spaces added by Java 11
-
- assertThat(result).and(expectedXml)
- .areSimilar();
- }
-
- @Test
- public void givenXmlXee_whenInit_thenThrowException() throws IOException, SAXException, ParserConfigurationException, XPathExpressionException, TransformerFactoryConfigurationError, TransformerException {
- String path = getClass().getResource("/xml/xee_attribute.xml")
- .toString();
-
- assertThatThrownBy(() -> {
-
- new Dom4jTransformer(path);
-
- }).isInstanceOf(DocumentException.class);
- }
-
-}
diff --git a/xml/src/test/java/com/ossez/xmlhtml/jaxp/JaxpTransformerUnitTest.java b/xml/src/test/java/com/ossez/xmlhtml/jaxp/JaxpTransformerUnitTest.java
deleted file mode 100644
index f6831e803c..0000000000
--- a/xml/src/test/java/com/ossez/xmlhtml/jaxp/JaxpTransformerUnitTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.ossez.xmlhtml.jaxp;
-
-import org.junit.jupiter.api.Test;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class JaxpTransformerUnitTest {
-
- @Test
- public void givenXml_whenTransform_thenGetHtml() throws IOException, SAXException, ParserConfigurationException, TransformerException, URISyntaxException {
- String path = getClass()
- .getResource("/xmlhtml/notification.xml")
- .toString();
- String expectedHtml = new String(Files.readAllBytes((Paths.get(getClass()
- .getResource("/xmlhtml/notification.html")
- .toURI()))));
- JaxpTransformer transformer = new JaxpTransformer(path);
-
- String result = transformer
- .html()
- .replaceAll("(?m)^\\s+", "");//Delete extra spaces added by Java 11
-
- assertThat(result).isEqualTo(expectedHtml);
- }
-}
diff --git a/xml/src/test/java/com/ossez/xmlhtml/stax/StaxTransformerUnitTest.java b/xml/src/test/java/com/ossez/xmlhtml/stax/StaxTransformerUnitTest.java
deleted file mode 100644
index 000f2ea70a..0000000000
--- a/xml/src/test/java/com/ossez/xmlhtml/stax/StaxTransformerUnitTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.ossez.xmlhtml.stax;
-
-import org.junit.jupiter.api.Test;
-
-import javax.xml.stream.XMLStreamException;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-public class StaxTransformerUnitTest {
-
- @Test
- public void givenXml_whenTransform_thenGetHtml() throws IOException, URISyntaxException, XMLStreamException {
- String path = "src/test/resources/xmlhtml/notification.xml";
- String expectedHtml = new String(Files.readAllBytes((Paths.get(getClass()
- .getResource("/xmlhtml/notification.html")
- .toURI()))));
- StaxTransformer transformer = new StaxTransformer(path);
-
- String result = transformer.html();
-
- assertThat(result).isEqualTo(expectedHtml);
- }
-
-}