From 009a99e340aff185da8eeeed16533b9114756595 Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Sun, 3 Feb 2019 00:33:17 +0530 Subject: [PATCH 1/2] example for multi-release jar --- .../com/baeldung/multireleaseapp/App.java | 11 +++++++++ .../baeldung/multireleaseapp/DateHelper.java | 24 +++++++++++++++++++ .../baeldung/multireleaseapp/DateHelper.java | 13 ++++++++++ 3 files changed, 48 insertions(+) create mode 100644 core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java create mode 100644 core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java create mode 100644 core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java diff --git a/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java b/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java new file mode 100644 index 0000000000..c2e738384a --- /dev/null +++ b/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java @@ -0,0 +1,11 @@ +package com.baeldung.multireleaseapp; + +public class App { + + public static void main(String[] args) throws Exception { + String dateToCheck = args[0]; + boolean isLeapYear = DateHelper.checkIfLeapYear(dateToCheck); + System.out.println("Date given " + dateToCheck + " is leap year: " + isLeapYear); + } + +} diff --git a/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java b/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java new file mode 100644 index 0000000000..842ac00350 --- /dev/null +++ b/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java @@ -0,0 +1,24 @@ +package com.baeldung.multireleaseapp; + +import java.text.SimpleDateFormat; +import java.util.Calendar; + +public class DateHelper { + + public static boolean checkIfLeapYear(String dateStr) throws Exception { + System.out.println("Checking for leap year using Java 1 calendar API "); + boolean isLeapYear = false; + Calendar cal = Calendar.getInstance(); + cal.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dateStr)); + int year = cal.get(Calendar.YEAR); + if (year % 4 == 0) { + if (year % 100 == 0) { + isLeapYear = (year % 400 == 0) ? true : false; + } else { + isLeapYear = true; + } + } + return isLeapYear; + } + +} diff --git a/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java b/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java new file mode 100644 index 0000000000..1d8a10f145 --- /dev/null +++ b/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java @@ -0,0 +1,13 @@ +package com.baeldung.multireleaseapp; + +import java.time.LocalDate; + +public class DateHelper { + + public static boolean checkIfLeapYear(String dateStr) throws Exception { + System.out.println("Checking for leap year using Java 9 Date Api"); + return LocalDate.parse(dateStr) + .isLeapYear(); + } + +} From 7e843727b971298db82909d142a80bf10c84bb66 Mon Sep 17 00:00:00 2001 From: macroscopic64 Date: Thu, 14 Feb 2019 08:36:11 +0530 Subject: [PATCH 2/2] simplified the leap year check logic --- .../java/com/baeldung/multireleaseapp/App.java | 7 ++++++- .../baeldung/multireleaseapp/DateHelper.java | 18 ++++++++---------- .../baeldung/multireleaseapp/DateHelper.java | 7 ++++++- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java b/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java index c2e738384a..21bbcc01d4 100644 --- a/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java +++ b/core-java-9/src/main/java/com/baeldung/multireleaseapp/App.java @@ -1,11 +1,16 @@ package com.baeldung.multireleaseapp; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public class App { + private static final Logger logger = LoggerFactory.getLogger(App.class); + public static void main(String[] args) throws Exception { String dateToCheck = args[0]; boolean isLeapYear = DateHelper.checkIfLeapYear(dateToCheck); - System.out.println("Date given " + dateToCheck + " is leap year: " + isLeapYear); + logger.info("Date given " + dateToCheck + " is leap year: " + isLeapYear); } } diff --git a/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java b/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java index 842ac00350..4d943db30b 100644 --- a/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java +++ b/core-java-9/src/main/java/com/baeldung/multireleaseapp/DateHelper.java @@ -2,23 +2,21 @@ package com.baeldung.multireleaseapp; import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.GregorianCalendar; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class DateHelper { + private static final Logger logger = LoggerFactory.getLogger(DateHelper.class); + public static boolean checkIfLeapYear(String dateStr) throws Exception { - System.out.println("Checking for leap year using Java 1 calendar API "); - boolean isLeapYear = false; + logger.info("Checking for leap year using Java 1 calendar API"); Calendar cal = Calendar.getInstance(); cal.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(dateStr)); int year = cal.get(Calendar.YEAR); - if (year % 4 == 0) { - if (year % 100 == 0) { - isLeapYear = (year % 400 == 0) ? true : false; - } else { - isLeapYear = true; - } - } - return isLeapYear; + return (new GregorianCalendar()).isLeapYear(year); } } diff --git a/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java b/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java index 1d8a10f145..35fb0ada1e 100644 --- a/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java +++ b/core-java-9/src/main/java9/com/baeldung/multireleaseapp/DateHelper.java @@ -2,10 +2,15 @@ package com.baeldung.multireleaseapp; import java.time.LocalDate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public class DateHelper { + private static final Logger logger = LoggerFactory.getLogger(DateHelper.class); + public static boolean checkIfLeapYear(String dateStr) throws Exception { - System.out.println("Checking for leap year using Java 9 Date Api"); + logger.info("Checking for leap year using Java 9 Date Api"); return LocalDate.parse(dateStr) .isLeapYear(); }