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); - } - -}