From 3ca1762f6f4df324707df849adb70aa91f40596d Mon Sep 17 00:00:00 2001 From: mikr Date: Sun, 14 Nov 2021 23:02:03 +0100 Subject: [PATCH] JAVA-8279 Split or move Java core module (fix review comments) --- .../core-java-serialization/pom.xml | 5 +- .../DeserializationUnitTest.java | 4 +- .../ExternalizableUnitTest.java | 71 +++++++++++++++++++ core-java-modules/core-java-uuid/pom.xml | 2 - 4 files changed, 75 insertions(+), 7 deletions(-) create mode 100644 core-java-modules/core-java-serialization/src/test/java/com/baeldung/externalizable/ExternalizableUnitTest.java diff --git a/core-java-modules/core-java-serialization/pom.xml b/core-java-modules/core-java-serialization/pom.xml index 74a78e8b48..8fcebca356 100644 --- a/core-java-modules/core-java-serialization/pom.xml +++ b/core-java-modules/core-java-serialization/pom.xml @@ -12,7 +12,6 @@ com.baeldung.core-java-modules core-java-modules 0.0.1-SNAPSHOT - ../ @@ -186,8 +185,8 @@ 1.1 3.0.0-M1 - 1.8 - 1.8 + + 4.3.20.RELEASE diff --git a/core-java-modules/core-java-serialization/src/test/java/com/baeldung/deserialization/DeserializationUnitTest.java b/core-java-modules/core-java-serialization/src/test/java/com/baeldung/deserialization/DeserializationUnitTest.java index cc45cbc8e0..89a603a298 100644 --- a/core-java-modules/core-java-serialization/src/test/java/com/baeldung/deserialization/DeserializationUnitTest.java +++ b/core-java-modules/core-java-serialization/src/test/java/com/baeldung/deserialization/DeserializationUnitTest.java @@ -25,7 +25,7 @@ public class DeserializationUnitTest { @Test public void testDeserializeObj_compatible() throws IOException, ClassNotFoundException { - Assert.assertEquals(userDefinedSerialVersionUID, AppleProduct.getSerialVersionUID()); + assertEquals(userDefinedSerialVersionUID, AppleProduct.getSerialVersionUID()); AppleProduct macBook = new AppleProduct(); macBook.headphonePort = "headphonePort2020"; @@ -61,7 +61,7 @@ public class DeserializationUnitTest { @Test(expected = InvalidClassException.class) public void testDeserializeObj_incompatible() throws ClassNotFoundException, IOException { - Assert.assertNotEquals(userDefinedSerialVersionUID, AppleProduct.getSerialVersionUID()); + assertNotEquals(userDefinedSerialVersionUID, AppleProduct.getSerialVersionUID()); // attempts to deserialize the "AppleProduct" object DeserializationUtility.deSerializeObjectFromString(serializedObj); } diff --git a/core-java-modules/core-java-serialization/src/test/java/com/baeldung/externalizable/ExternalizableUnitTest.java b/core-java-modules/core-java-serialization/src/test/java/com/baeldung/externalizable/ExternalizableUnitTest.java new file mode 100644 index 0000000000..651364fb13 --- /dev/null +++ b/core-java-modules/core-java-serialization/src/test/java/com/baeldung/externalizable/ExternalizableUnitTest.java @@ -0,0 +1,71 @@ +package com.baeldung.externalizable; + +import org.junit.Test; + +import java.io.*; + +import static org.junit.Assert.assertTrue; + +public class ExternalizableUnitTest { + + private final static String OUTPUT_FILE = "externalizable.txt"; + + @Test + public void whenSerializing_thenUseExternalizable() throws IOException, ClassNotFoundException { + + Country c = new Country(); + c.setCapital("Yerevan"); + c.setCode(374); + c.setName("Armenia"); + + FileOutputStream fileOutputStream = new FileOutputStream(OUTPUT_FILE); + ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); + c.writeExternal(objectOutputStream); + + objectOutputStream.flush(); + objectOutputStream.close(); + fileOutputStream.close(); + + FileInputStream fileInputStream = new FileInputStream(OUTPUT_FILE); + ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); + + Country c2 = new Country(); + c2.readExternal(objectInputStream); + + objectInputStream.close(); + fileInputStream.close(); + + assertTrue(c2.getCode() == c.getCode()); + assertTrue(c2.getName().equals(c.getName())); + } + + @Test + public void whenInheritanceSerialization_then_UseExternalizable() throws IOException, ClassNotFoundException { + + Region r = new Region(); + r.setCapital("Yerevan"); + r.setCode(374); + r.setName("Armenia"); + r.setClimate("Mediterranean"); + r.setPopulation(120.000); + + FileOutputStream fileOutputStream = new FileOutputStream(OUTPUT_FILE); + ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); + r.writeExternal(objectOutputStream); + + objectOutputStream.flush(); + objectOutputStream.close(); + fileOutputStream.close(); + + FileInputStream fileInputStream = new FileInputStream(OUTPUT_FILE); + ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); + + Region r2 = new Region(); + r2.readExternal(objectInputStream); + + objectInputStream.close(); + fileInputStream.close(); + + assertTrue(r2.getPopulation() == null); + } +} diff --git a/core-java-modules/core-java-uuid/pom.xml b/core-java-modules/core-java-uuid/pom.xml index fba36ada8e..a38306f269 100644 --- a/core-java-modules/core-java-uuid/pom.xml +++ b/core-java-modules/core-java-uuid/pom.xml @@ -149,8 +149,6 @@ 3.10.0 3.0.0-M1 - 1.8 - 1.8 \ No newline at end of file