From 7d87f2963c2fbc727d488f0b4c0b66bf12f4199d Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Mon, 25 Mar 2019 23:04:50 +0530 Subject: [PATCH 1/5] [BAEL-2073] Java 9 Migration Issues and Resolution --- prejpms/pom.xml | 73 +++++++++++++++++ .../main/java/com/baeldung/prejpms/App.java | 79 +++++++++++++++++++ .../main/java/com/baeldung/prejpms/Book.java | 39 +++++++++ prejpms/src/main/resources/logback.xml | 10 +++ 4 files changed, 201 insertions(+) create mode 100644 prejpms/pom.xml create mode 100644 prejpms/src/main/java/com/baeldung/prejpms/App.java create mode 100644 prejpms/src/main/java/com/baeldung/prejpms/Book.java create mode 100644 prejpms/src/main/resources/logback.xml diff --git a/prejpms/pom.xml b/prejpms/pom.xml new file mode 100644 index 0000000000..0f0216682e --- /dev/null +++ b/prejpms/pom.xml @@ -0,0 +1,73 @@ + + 4.0.0 + prejpms + 0.0.1-SNAPSHOT + jar + pre-jpms + + + parent-modules + com.baeldung + 1.0.0-SNAPSHOT + + + + + org.slf4j + slf4j-api + 1.7.25 + + + + pre-jpms + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + copy-dependencies + package + + copy-dependencies + + + + ${project.build.directory}/dependency-jars/ + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + com.baeldung.prejpms.App + true + dependency-jars/ + + + + + + + + + UTF-8 + + diff --git a/prejpms/src/main/java/com/baeldung/prejpms/App.java b/prejpms/src/main/java/com/baeldung/prejpms/App.java new file mode 100644 index 0000000000..0b38201302 --- /dev/null +++ b/prejpms/src/main/java/com/baeldung/prejpms/App.java @@ -0,0 +1,79 @@ +package com.baeldung.prejpms; + +import java.io.StringWriter; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.sun.crypto.provider.SunJCE; + +import sun.misc.BASE64Encoder; +import sun.reflect.Reflection; + +public class App { + + private static final Logger logger = LoggerFactory.getLogger(App.class); + + public static void main(String[] args) throws Exception { + + getCrytpographyProviderName(); + getCallStackClassNames(); + getXmlFromObject(new Book(100, "Java Modules Architecture")); + getBase64EncodedString("Java"); + } + + private static void getCrytpographyProviderName() { + try { + logger.info("1. Java Cryptography Extension - Provider Name: " + new SunJCE().getName() + "\n"); + } catch (Throwable e) { + logger.error(e.toString()); + } + } + + private static void getCallStackClassNames() { + try { + int i = 0; + StringBuffer sbStack = new StringBuffer(); + while (true) { + Class caller = Reflection.getCallerClass(i++); + if (caller == null) { + break; + } else { + sbStack.append(caller.getName()) + .append("\n"); + } + } + logger.info("2. Call Stack Class Names:\n" + sbStack.toString()); + } catch (Throwable e) { + logger.error(e.toString()); + } + } + + private static void getXmlFromObject(Book book) { + try { + Marshaller marshallerObj = JAXBContext.newInstance(Book.class) + .createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + + StringWriter sw = new StringWriter(); + marshallerObj.marshal(book, sw); + logger.info("3. Xml for Book object:\n" + sw); + } catch (Throwable e) { + logger.error(e.toString()); + } + + } + + private static void getBase64EncodedString(String inputString) { + try { + String encodedString = new BASE64Encoder().encode(inputString.getBytes()); + logger.info("4. Base Encoded String: " + encodedString); + } catch (Throwable e) { + logger.error(e.toString()); + } + } +} diff --git a/prejpms/src/main/java/com/baeldung/prejpms/Book.java b/prejpms/src/main/java/com/baeldung/prejpms/Book.java new file mode 100644 index 0000000000..57b19bf3c1 --- /dev/null +++ b/prejpms/src/main/java/com/baeldung/prejpms/Book.java @@ -0,0 +1,39 @@ +package com.baeldung.prejpms; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name = "book") +public class Book { + private long id; + private String name; + + public Book() { + + } + + public Book(long id, String name) { + this.id = id; + this.name = name; + } + + @XmlAttribute + public void setId(Long id) { + this.id = id; + } + + @XmlElement(name = "title") + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public Long getId() { + return id; + } + +} diff --git a/prejpms/src/main/resources/logback.xml b/prejpms/src/main/resources/logback.xml new file mode 100644 index 0000000000..7c5914e58e --- /dev/null +++ b/prejpms/src/main/resources/logback.xml @@ -0,0 +1,10 @@ + + + + [%level] %msg%n + + + + + + \ No newline at end of file From b6bf4415a204bb604f8c17dabd92c96d8d07dc89 Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Wed, 3 Apr 2019 00:04:39 +0530 Subject: [PATCH 2/5] [BAEL-2073] Java 9 Migration Issues and Resolution --- .../main/java/com/baeldung/prejpms/App.java | 36 +++++++++---------- .../main/java/com/baeldung/prejpms/Book.java | 4 +-- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/prejpms/src/main/java/com/baeldung/prejpms/App.java b/prejpms/src/main/java/com/baeldung/prejpms/App.java index 0b38201302..1afaae30e4 100644 --- a/prejpms/src/main/java/com/baeldung/prejpms/App.java +++ b/prejpms/src/main/java/com/baeldung/prejpms/App.java @@ -16,7 +16,7 @@ import sun.reflect.Reflection; public class App { - private static final Logger logger = LoggerFactory.getLogger(App.class); + private static final Logger LOGGER = LoggerFactory.getLogger(App.class); public static void main(String[] args) throws Exception { @@ -28,28 +28,26 @@ public class App { private static void getCrytpographyProviderName() { try { - logger.info("1. Java Cryptography Extension - Provider Name: " + new SunJCE().getName() + "\n"); + LOGGER.info("1. JCE Provider Name: {}\n", new SunJCE().getName()); } catch (Throwable e) { - logger.error(e.toString()); + LOGGER.error(e.toString()); } } private static void getCallStackClassNames() { try { - int i = 0; StringBuffer sbStack = new StringBuffer(); - while (true) { - Class caller = Reflection.getCallerClass(i++); - if (caller == null) { - break; - } else { - sbStack.append(caller.getName()) - .append("\n"); - } - } - logger.info("2. Call Stack Class Names:\n" + sbStack.toString()); + int i = 0; + Class caller = Reflection.getCallerClass(i++); + do { + sbStack.append(i + ".") + .append(caller.getName()) + .append("\n"); + caller = Reflection.getCallerClass(i++); + } while (caller != null); + LOGGER.info("2. Call Stack:\n{}", sbStack); } catch (Throwable e) { - logger.error(e.toString()); + LOGGER.error(e.toString()); } } @@ -61,9 +59,9 @@ public class App { StringWriter sw = new StringWriter(); marshallerObj.marshal(book, sw); - logger.info("3. Xml for Book object:\n" + sw); + LOGGER.info("3. Xml for Book object:\n{}", sw); } catch (Throwable e) { - logger.error(e.toString()); + LOGGER.error(e.toString()); } } @@ -71,9 +69,9 @@ public class App { private static void getBase64EncodedString(String inputString) { try { String encodedString = new BASE64Encoder().encode(inputString.getBytes()); - logger.info("4. Base Encoded String: " + encodedString); + LOGGER.info("4. Base Encoded String: {}", encodedString); } catch (Throwable e) { - logger.error(e.toString()); + LOGGER.error(e.toString()); } } } diff --git a/prejpms/src/main/java/com/baeldung/prejpms/Book.java b/prejpms/src/main/java/com/baeldung/prejpms/Book.java index 57b19bf3c1..6780c73738 100644 --- a/prejpms/src/main/java/com/baeldung/prejpms/Book.java +++ b/prejpms/src/main/java/com/baeldung/prejpms/Book.java @@ -10,9 +10,8 @@ public class Book { private String name; public Book() { - } - + public Book(long id, String name) { this.id = id; this.name = name; @@ -35,5 +34,4 @@ public class Book { public Long getId() { return id; } - } From c587c0b5dd0cbbff2687b7915a9aac5472f4678c Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Fri, 19 Apr 2019 07:04:58 +0530 Subject: [PATCH 3/5] [BAEL-2073] Java 9 Migration Issues and Resolution --- {prejpms => core-java-modules/pre-jpms}/pom.xml | 3 ++- .../pre-jpms}/src/main/java/com/baeldung/prejpms/App.java | 0 .../pre-jpms}/src/main/java/com/baeldung/prejpms/Book.java | 0 .../pre-jpms}/src/main/resources/logback.xml | 0 4 files changed, 2 insertions(+), 1 deletion(-) rename {prejpms => core-java-modules/pre-jpms}/pom.xml (96%) rename {prejpms => core-java-modules/pre-jpms}/src/main/java/com/baeldung/prejpms/App.java (100%) rename {prejpms => core-java-modules/pre-jpms}/src/main/java/com/baeldung/prejpms/Book.java (100%) rename {prejpms => core-java-modules/pre-jpms}/src/main/resources/logback.xml (100%) diff --git a/prejpms/pom.xml b/core-java-modules/pre-jpms/pom.xml similarity index 96% rename from prejpms/pom.xml rename to core-java-modules/pre-jpms/pom.xml index 0f0216682e..169cd21f3e 100644 --- a/prejpms/pom.xml +++ b/core-java-modules/pre-jpms/pom.xml @@ -2,7 +2,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 - prejpms + pre-jpms 0.0.1-SNAPSHOT jar pre-jpms @@ -11,6 +11,7 @@ parent-modules com.baeldung 1.0.0-SNAPSHOT + ../../ diff --git a/prejpms/src/main/java/com/baeldung/prejpms/App.java b/core-java-modules/pre-jpms/src/main/java/com/baeldung/prejpms/App.java similarity index 100% rename from prejpms/src/main/java/com/baeldung/prejpms/App.java rename to core-java-modules/pre-jpms/src/main/java/com/baeldung/prejpms/App.java diff --git a/prejpms/src/main/java/com/baeldung/prejpms/Book.java b/core-java-modules/pre-jpms/src/main/java/com/baeldung/prejpms/Book.java similarity index 100% rename from prejpms/src/main/java/com/baeldung/prejpms/Book.java rename to core-java-modules/pre-jpms/src/main/java/com/baeldung/prejpms/Book.java diff --git a/prejpms/src/main/resources/logback.xml b/core-java-modules/pre-jpms/src/main/resources/logback.xml similarity index 100% rename from prejpms/src/main/resources/logback.xml rename to core-java-modules/pre-jpms/src/main/resources/logback.xml From a9f1bb2f69139e6badbf005540d892622ef5b16f Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Sun, 21 Apr 2019 11:47:01 +0530 Subject: [PATCH 4/5] [BAEL-2073] Java 9 Migration Issues and Resolution --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 0de4a36336..129e2a3e8e 100644 --- a/pom.xml +++ b/pom.xml @@ -397,6 +397,7 @@ core-java-lang core-java-lang-oop core-java-lang-oop-2 + core-java-modules core-java-networking core-java-perf core-java-sun @@ -1067,6 +1068,7 @@ core-java-lang core-java-lang-oop core-java-lang-oop-2 + core-java-modules core-java-networking core-java-perf core-java-sun From 786fa105559831e6777234a331dd23720c23ec64 Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Thu, 25 Apr 2019 06:53:50 +0530 Subject: [PATCH 5/5] [BAEL-2073] Java 9 Migration Issues and Resolution --- core-java-modules/pom.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 core-java-modules/pom.xml diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml new file mode 100644 index 0000000000..ad49cceb9d --- /dev/null +++ b/core-java-modules/pom.xml @@ -0,0 +1,19 @@ + + + 4.0.0 + core-java-modules + core-java-modules + pom + + + parent-modules + com.baeldung + 1.0.0-SNAPSHOT + + + + pre-jpms + + + \ No newline at end of file