From 42bf460034ea0268cf18d9364a679d25fb5ed671 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 11:15:18 +0100 Subject: [PATCH 01/22] fixed --- jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java | 5 +++++ jpms/src/com/module-info.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java b/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java index 6f1ba0a..6ee2b48 100644 --- a/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java +++ b/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java @@ -24,3 +24,8 @@ public void start(Stage primaryStage) { primaryStage.show(); } } + + + +// javac com/module-info.java com/linux/java/se/nine/jpms/SimpleUiApp.java +// java --module-path com.linux.java.se.nine.jpms com.linux.java.se.nine.jpms.SimpleUiApp \ No newline at end of file diff --git a/jpms/src/com/module-info.java b/jpms/src/com/module-info.java index f3e3700..3f12250 100644 --- a/jpms/src/com/module-info.java +++ b/jpms/src/com/module-info.java @@ -1,3 +1,4 @@ module com.linux.java.se.nine.jpms { - + requires javafx.graphics; + requires javafx.controls; } \ No newline at end of file From bf549f7ac0a2350ba1902259328b2df72e8d81f4 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 12:14:04 +0100 Subject: [PATCH 02/22] Started to add internal package --- .../linux/java/se/nine/jpms/SimpleUiApp.java | 23 ++++++++++++++ .../nine/jpms/internal/GenerateContents.java | 21 +++++++++++++ jpms/{src => }/com/module-info.java | 0 .../linux/java/se/nine/jpms/SimpleUiApp.java | 31 ------------------- 4 files changed, 44 insertions(+), 31 deletions(-) create mode 100644 jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java create mode 100644 jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java rename jpms/{src => }/com/module-info.java (100%) delete mode 100644 jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java diff --git a/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java b/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java new file mode 100644 index 0000000..7551645 --- /dev/null +++ b/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java @@ -0,0 +1,23 @@ +package com.linux.java.se.nine.jpms; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.java.se.nine.jpms.GenerateContents; + +public class SimpleUiApp extends Application{ + + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + GenerateContents.defaultContent(primaryStage); + primaryStage.show(); + } +} + + + +// javac com/module-info.java com/linux/java/se/nine/jpms/SimpleUiApp.java com/linux/java/se/nine/jpms/internal/GenerateContents.java +// java --module-path com.linux.java.se.nine.jpms com.linux.java.se.nine.jpms.SimpleUiApp \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java b/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java new file mode 100644 index 0000000..ccc30b0 --- /dev/null +++ b/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java @@ -0,0 +1,21 @@ +package com.linux.java.se.nine.jpms.internal; + +import javafx.scene.Scene; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; + +/** + * DefaultStage + */ +public class GenerateContents { + public static void defaultContent(Stage stage) { + stage.setTitle("Hello Java9 World"); + Button button = new Button(); + button.setText("Hello Java9 World"); + button.setOnAction(e -> System.out.println("Performed " + e.getEventType().toString())); + + StackPane root = new StackPane(); + root.getChildren().add(button); + stage.setScene(new Scene(root, 400, 300)); + } +} \ No newline at end of file diff --git a/jpms/src/com/module-info.java b/jpms/com/module-info.java similarity index 100% rename from jpms/src/com/module-info.java rename to jpms/com/module-info.java diff --git a/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java b/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java deleted file mode 100644 index 6ee2b48..0000000 --- a/jpms/src/com/linux/java/se/nine/jpms/SimpleUiApp.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.linux.java.se.nine.jpms; - -import javafx.application.Application; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.layout.StackPane; -import javafx.stage.Stage; - -public class SimpleUiApp extends Application{ - - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - primaryStage.setTitle("Hello Java9 World"); - Button button = new Button(); - button.setText("Hello Java9 World"); - button.setOnAction(e -> System.out.println("Performed " + e.getEventType().toString())); - - StackPane root = new StackPane(); - root.getChildren().add(button); - primaryStage.setScene(new Scene(root, 400, 300)); - primaryStage.show(); - } -} - - - -// javac com/module-info.java com/linux/java/se/nine/jpms/SimpleUiApp.java -// java --module-path com.linux.java.se.nine.jpms com.linux.java.se.nine.jpms.SimpleUiApp \ No newline at end of file From 3fb22f8aa19078cfe5ac8b1f7a2b44620328cee8 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 12:19:12 +0100 Subject: [PATCH 03/22] Added an internal package --- jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java | 4 ++-- .../linux/java/se/nine/jpms/internal/GenerateContents.java | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java b/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java index 7551645..054edf9 100644 --- a/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java +++ b/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java @@ -3,7 +3,7 @@ import javafx.application.Application; import javafx.stage.Stage; -import com.linux.java.se.nine.jpms.GenerateContents; +import com.linux.java.se.nine.jpms.internal.GenerateContents; public class SimpleUiApp extends Application{ @@ -19,5 +19,5 @@ public void start(Stage primaryStage) { -// javac com/module-info.java com/linux/java/se/nine/jpms/SimpleUiApp.java com/linux/java/se/nine/jpms/internal/GenerateContents.java +// javac com/module-info.java com/linux/java/se/nine/jpms/internal/GenerateContents.java com/linux/java/se/nine/jpms/SimpleUiApp.java // java --module-path com.linux.java.se.nine.jpms com.linux.java.se.nine.jpms.SimpleUiApp \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java b/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java index ccc30b0..125eddf 100644 --- a/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java +++ b/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java @@ -3,6 +3,7 @@ import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; +import javafx.scene.control.Button; /** * DefaultStage From 88d00523461343f69970b76e7f31f6c1671364c8 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 12:30:05 +0100 Subject: [PATCH 04/22] updates --- README.md | 5 +++- .../linux/java/se/nine/jpms/SimpleUiApp.java | 23 ------------------- .../NowSimpleButWillBeComplexApp.java | 9 ++++++++ .../se/nine/jpms/anotherapp/module-info.java | 2 ++ .../java/se/nine/jpms/app/SimpleUiApp.java | 23 +++++++++++++++++++ .../{ => app}/internal/GenerateContents.java | 2 +- .../java/se/nine/jpms/app}/module-info.java | 2 +- 7 files changed, 40 insertions(+), 26 deletions(-) delete mode 100644 jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java create mode 100644 jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java create mode 100644 jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java create mode 100644 jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java rename jpms/com/linux/java/se/nine/jpms/{ => app}/internal/GenerateContents.java (91%) rename jpms/com/{ => linux/java/se/nine/jpms/app}/module-info.java (59%) diff --git a/README.md b/README.md index 63bd836..bcd85c3 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ # Java-9-Discovery Java 9 Meetup -For more details see https://github.com/gurukulkarni/Java-9-Discovery/wiki \ No newline at end of file +For more details see https://github.com/gurukulkarni/Java-9-Discovery/wiki + + +find Java-9-Discovery -type f -name "*.class" -exec rm -v {} + // linux? or gnu command to remove all .class files from the project \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java b/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java deleted file mode 100644 index 054edf9..0000000 --- a/jpms/com/linux/java/se/nine/jpms/SimpleUiApp.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.linux.java.se.nine.jpms; - -import javafx.application.Application; -import javafx.stage.Stage; - -import com.linux.java.se.nine.jpms.internal.GenerateContents; - -public class SimpleUiApp extends Application{ - - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - GenerateContents.defaultContent(primaryStage); - primaryStage.show(); - } -} - - - -// javac com/module-info.java com/linux/java/se/nine/jpms/internal/GenerateContents.java com/linux/java/se/nine/jpms/SimpleUiApp.java -// java --module-path com.linux.java.se.nine.jpms com.linux.java.se.nine.jpms.SimpleUiApp \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java b/jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java new file mode 100644 index 0000000..b6c4475 --- /dev/null +++ b/jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java @@ -0,0 +1,9 @@ +package com.linux.java.se.nine.jpms.anotherapp; + +/** + * NowSimpleButWillBeComplexApp + */ +public class NowSimpleButWillBeComplexApp { + + +} \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java b/jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java new file mode 100644 index 0000000..8ace5c6 --- /dev/null +++ b/jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java @@ -0,0 +1,2 @@ +module jpms.anotheruiapp { +} \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java b/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java new file mode 100644 index 0000000..4c08cb1 --- /dev/null +++ b/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java @@ -0,0 +1,23 @@ +package com.linux.java.se.nine.jpms.app; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.java.se.nine.jpms.app.internal.GenerateContents; + +public class SimpleUiApp extends Application{ + + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + GenerateContents.defaultContent(primaryStage); + primaryStage.show(); + } +} + + + +// javac com/linux/java/se/nine/jpms/example/module-info.java com/linux/java/se/nine/jpms/example/internal/GenerateContents.java com/linux/java/se/nine/jpms/example/SimpleUiApp.java +// java --module-path jpms.example com.linux.java.se.nine.jpms.example.SimpleUiApp \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java b/jpms/com/linux/java/se/nine/jpms/app/internal/GenerateContents.java similarity index 91% rename from jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java rename to jpms/com/linux/java/se/nine/jpms/app/internal/GenerateContents.java index 125eddf..0ecbd65 100644 --- a/jpms/com/linux/java/se/nine/jpms/internal/GenerateContents.java +++ b/jpms/com/linux/java/se/nine/jpms/app/internal/GenerateContents.java @@ -1,4 +1,4 @@ -package com.linux.java.se.nine.jpms.internal; +package com.linux.java.se.nine.jpms.app.internal; import javafx.scene.Scene; import javafx.scene.layout.StackPane; diff --git a/jpms/com/module-info.java b/jpms/com/linux/java/se/nine/jpms/app/module-info.java similarity index 59% rename from jpms/com/module-info.java rename to jpms/com/linux/java/se/nine/jpms/app/module-info.java index 3f12250..ef71a7b 100644 --- a/jpms/com/module-info.java +++ b/jpms/com/linux/java/se/nine/jpms/app/module-info.java @@ -1,4 +1,4 @@ -module com.linux.java.se.nine.jpms { +module jpms.app { requires javafx.graphics; requires javafx.controls; } \ No newline at end of file From bafd1da03ddd4c3a4c87447ef3162e5c1278610b Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 12:30:53 +0100 Subject: [PATCH 05/22] fixed commands --- jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java b/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java index 4c08cb1..3e09e4a 100644 --- a/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java +++ b/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java @@ -19,5 +19,5 @@ public void start(Stage primaryStage) { -// javac com/linux/java/se/nine/jpms/example/module-info.java com/linux/java/se/nine/jpms/example/internal/GenerateContents.java com/linux/java/se/nine/jpms/example/SimpleUiApp.java -// java --module-path jpms.example com.linux.java.se.nine.jpms.example.SimpleUiApp \ No newline at end of file +// javac com/linux/java/se/nine/jpms/app/module-info.java com/linux/java/se/nine/jpms/app/internal/GenerateContents.java com/linux/java/se/nine/jpms/app/SimpleUiApp.java +// java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file From 94865b24f5ac209957a55dd5db8c187e31f7c4e3 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 15:06:24 +0100 Subject: [PATCH 06/22] Fixed folders --- .../com/linux/complex/ComplexApp.java | 25 +++++++++++++++++++ .../jpms/app => anotherapp}/module-info.java | 3 ++- .../com/linux/simple}/SimpleUiApp.java | 9 ++++--- .../simple}/internal/GenerateContents.java | 2 +- jpms/app/module-info.java | 5 ++++ .../NowSimpleButWillBeComplexApp.java | 9 ------- .../se/nine/jpms/anotherapp/module-info.java | 2 -- 7 files changed, 38 insertions(+), 17 deletions(-) create mode 100644 jpms/anotherapp/com/linux/complex/ComplexApp.java rename jpms/{com/linux/java/se/nine/jpms/app => anotherapp}/module-info.java (50%) rename jpms/{com/linux/java/se/nine/jpms/app => app/com/linux/simple}/SimpleUiApp.java (57%) rename jpms/{com/linux/java/se/nine/jpms/app => app/com/linux/simple}/internal/GenerateContents.java (91%) create mode 100644 jpms/app/module-info.java delete mode 100644 jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java delete mode 100644 jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java diff --git a/jpms/anotherapp/com/linux/complex/ComplexApp.java b/jpms/anotherapp/com/linux/complex/ComplexApp.java new file mode 100644 index 0000000..a51562d --- /dev/null +++ b/jpms/anotherapp/com/linux/complex/ComplexApp.java @@ -0,0 +1,25 @@ +package com.linux.complex; + +import javafx.application.Application; +import javafx.stage.Stage; + +import app.GenerateContents; + +/** + * ComplexApp + */ +public class ComplexApp extends Application{ + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + GenerateContents.defaultContent(primaryStage); + primaryStage.show(); + } + +} + + +// javac com/linux/java/se/nine/jpms/anotherapp/module-info.java com/linux/java/se/nine/jpms/anotherapp/ComplexApp.java +// java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/app/module-info.java b/jpms/anotherapp/module-info.java similarity index 50% rename from jpms/com/linux/java/se/nine/jpms/app/module-info.java rename to jpms/anotherapp/module-info.java index ef71a7b..8eb330f 100644 --- a/jpms/com/linux/java/se/nine/jpms/app/module-info.java +++ b/jpms/anotherapp/module-info.java @@ -1,4 +1,5 @@ -module jpms.app { +module jpms.anotherapp { requires javafx.graphics; requires javafx.controls; + requires com.linux.simple; } \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java b/jpms/app/com/linux/simple/SimpleUiApp.java similarity index 57% rename from jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java rename to jpms/app/com/linux/simple/SimpleUiApp.java index 3e09e4a..193bf0f 100644 --- a/jpms/com/linux/java/se/nine/jpms/app/SimpleUiApp.java +++ b/jpms/app/com/linux/simple/SimpleUiApp.java @@ -1,9 +1,9 @@ -package com.linux.java.se.nine.jpms.app; +package com.linux.simple; import javafx.application.Application; import javafx.stage.Stage; -import com.linux.java.se.nine.jpms.app.internal.GenerateContents; +import com.linux.simple.internal.GenerateContents; public class SimpleUiApp extends Application{ @@ -18,6 +18,7 @@ public void start(Stage primaryStage) { } - -// javac com/linux/java/se/nine/jpms/app/module-info.java com/linux/java/se/nine/jpms/app/internal/GenerateContents.java com/linux/java/se/nine/jpms/app/SimpleUiApp.java +// cd jpms +// javac `find app -type f -name "*.java"` +// jar -cvf jpms.app.jar -e com.linux.java.se.nine.jpms.app.SimpleUiApp -C com/linux/java/se/nine/jpms/app . // java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/app/internal/GenerateContents.java b/jpms/app/com/linux/simple/internal/GenerateContents.java similarity index 91% rename from jpms/com/linux/java/se/nine/jpms/app/internal/GenerateContents.java rename to jpms/app/com/linux/simple/internal/GenerateContents.java index 0ecbd65..88a0361 100644 --- a/jpms/com/linux/java/se/nine/jpms/app/internal/GenerateContents.java +++ b/jpms/app/com/linux/simple/internal/GenerateContents.java @@ -1,4 +1,4 @@ -package com.linux.java.se.nine.jpms.app.internal; +package com.linux.simple.internal; import javafx.scene.Scene; import javafx.scene.layout.StackPane; diff --git a/jpms/app/module-info.java b/jpms/app/module-info.java new file mode 100644 index 0000000..ce12491 --- /dev/null +++ b/jpms/app/module-info.java @@ -0,0 +1,5 @@ +module com.linux.simple { + requires javafx.graphics; + requires javafx.controls; + exports com.linux.simple; +} \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java b/jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java deleted file mode 100644 index b6c4475..0000000 --- a/jpms/com/linux/java/se/nine/jpms/anotherapp/NowSimpleButWillBeComplexApp.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.linux.java.se.nine.jpms.anotherapp; - -/** - * NowSimpleButWillBeComplexApp - */ -public class NowSimpleButWillBeComplexApp { - - -} \ No newline at end of file diff --git a/jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java b/jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java deleted file mode 100644 index 8ace5c6..0000000 --- a/jpms/com/linux/java/se/nine/jpms/anotherapp/module-info.java +++ /dev/null @@ -1,2 +0,0 @@ -module jpms.anotheruiapp { -} \ No newline at end of file From 56774e1fd6a4dbcd73d6adc0625618eb26f60eef Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 17:07:59 +0100 Subject: [PATCH 07/22] Further updates --- jpms/app/com/linux/simple/SimpleUiApp.java | 24 ----------------- .../simple/internal/GenerateContents.java | 22 --------------- jpms/com.linux.complex/ComplexApp.java | 21 +++++++++++++++ .../com/linux/complex/ComplexApp.java | 7 ++--- .../module-info.java | 2 +- .../com/linux/simple/SimpleUiApp.java | 24 +++++++++++++++++ .../simple/generators/ContentsGenerator.java | 13 +++++++++ .../internal/DefaultContentsGenerator.java | 27 +++++++++++++++++++ .../module-info.java | 1 + jpms/com/module-info.java | 6 +++++ 10 files changed, 97 insertions(+), 50 deletions(-) delete mode 100644 jpms/app/com/linux/simple/SimpleUiApp.java delete mode 100644 jpms/app/com/linux/simple/internal/GenerateContents.java create mode 100644 jpms/com.linux.complex/ComplexApp.java rename jpms/{anotherapp => com.linux.complex}/com/linux/complex/ComplexApp.java (52%) rename jpms/{anotherapp => com.linux.complex}/module-info.java (75%) create mode 100644 jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java create mode 100644 jpms/com.linux.simple/com/linux/simple/generators/ContentsGenerator.java create mode 100644 jpms/com.linux.simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java rename jpms/{app => com.linux.simple}/module-info.java (73%) create mode 100644 jpms/com/module-info.java diff --git a/jpms/app/com/linux/simple/SimpleUiApp.java b/jpms/app/com/linux/simple/SimpleUiApp.java deleted file mode 100644 index 193bf0f..0000000 --- a/jpms/app/com/linux/simple/SimpleUiApp.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.linux.simple; - -import javafx.application.Application; -import javafx.stage.Stage; - -import com.linux.simple.internal.GenerateContents; - -public class SimpleUiApp extends Application{ - - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - GenerateContents.defaultContent(primaryStage); - primaryStage.show(); - } -} - - -// cd jpms -// javac `find app -type f -name "*.java"` -// jar -cvf jpms.app.jar -e com.linux.java.se.nine.jpms.app.SimpleUiApp -C com/linux/java/se/nine/jpms/app . -// java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file diff --git a/jpms/app/com/linux/simple/internal/GenerateContents.java b/jpms/app/com/linux/simple/internal/GenerateContents.java deleted file mode 100644 index 88a0361..0000000 --- a/jpms/app/com/linux/simple/internal/GenerateContents.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.linux.simple.internal; - -import javafx.scene.Scene; -import javafx.scene.layout.StackPane; -import javafx.stage.Stage; -import javafx.scene.control.Button; - -/** - * DefaultStage - */ -public class GenerateContents { - public static void defaultContent(Stage stage) { - stage.setTitle("Hello Java9 World"); - Button button = new Button(); - button.setText("Hello Java9 World"); - button.setOnAction(e -> System.out.println("Performed " + e.getEventType().toString())); - - StackPane root = new StackPane(); - root.getChildren().add(button); - stage.setScene(new Scene(root, 400, 300)); - } -} \ No newline at end of file diff --git a/jpms/com.linux.complex/ComplexApp.java b/jpms/com.linux.complex/ComplexApp.java new file mode 100644 index 0000000..b7ee7ea --- /dev/null +++ b/jpms/com.linux.complex/ComplexApp.java @@ -0,0 +1,21 @@ +package com.linux.complex; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.simple.generators.ContentsGenerator; + +/** + * ComplexApp + */ +public class ComplexApp extends Application{ + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); + contentsGeneratorr.generateContent(primaryStage);Complicated + primaryS" + ComplexAppjavac com/linux/java/se/nine/jpms/anotherapp/module-info.java com/linux/java/se/nine/jpms/anotherapp/ComplexApp.java +// java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file diff --git a/jpms/anotherapp/com/linux/complex/ComplexApp.java b/jpms/com.linux.complex/com/linux/complex/ComplexApp.java similarity index 52% rename from jpms/anotherapp/com/linux/complex/ComplexApp.java rename to jpms/com.linux.complex/com/linux/complex/ComplexApp.java index a51562d..604e306 100644 --- a/jpms/anotherapp/com/linux/complex/ComplexApp.java +++ b/jpms/com.linux.complex/com/linux/complex/ComplexApp.java @@ -3,7 +3,7 @@ import javafx.application.Application; import javafx.stage.Stage; -import app.GenerateContents; +import com.linux.simple.generators.ContentsGenerator; /** * ComplexApp @@ -14,12 +14,13 @@ public static void main(String[] args) { } public void start(Stage primaryStage) { - GenerateContents.defaultContent(primaryStage); + ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); + contentsGenerator.generateContent(primaryStage, "Complicated Hello Java9" , ComplexApp.class.getSimpleName()); primaryStage.show(); } } -// javac com/linux/java/se/nine/jpms/anotherapp/module-info.java com/linux/java/se/nine/jpms/anotherapp/ComplexApp.java +// javac --module-path app anotherapp/module-info.java anotherapp/com/linux/complex/ComplexApp.java // java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file diff --git a/jpms/anotherapp/module-info.java b/jpms/com.linux.complex/module-info.java similarity index 75% rename from jpms/anotherapp/module-info.java rename to jpms/com.linux.complex/module-info.java index 8eb330f..98a345e 100644 --- a/jpms/anotherapp/module-info.java +++ b/jpms/com.linux.complex/module-info.java @@ -1,4 +1,4 @@ -module jpms.anotherapp { +module com.linux.complex { requires javafx.graphics; requires javafx.controls; requires com.linux.simple; diff --git a/jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java b/jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java new file mode 100644 index 0000000..b55cd13 --- /dev/null +++ b/jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java @@ -0,0 +1,24 @@ +package com.linux.simple; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.simple.generators.ContentsGenerator; + +public class SimpleUiApp extends Application{ + + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + ContentsGenerator contentGenerator = ContentsGenerator.getInstance(); + contentGenerator.generateContent(primaryStage, "Hello Java9", SimpleUiApp.class.getSimpleName()); + primaryStage.show(); + } +} + + +// cd jpms +// javac app/module-info.java app/com/linux/simple/SimpleUiApp.java app/com/linux/simple/generators/ContentsGenerator.java app/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// cd app && java com.linux.simple.SimpleUiApp; cd .. \ No newline at end of file diff --git a/jpms/com.linux.simple/com/linux/simple/generators/ContentsGenerator.java b/jpms/com.linux.simple/com/linux/simple/generators/ContentsGenerator.java new file mode 100644 index 0000000..42b337a --- /dev/null +++ b/jpms/com.linux.simple/com/linux/simple/generators/ContentsGenerator.java @@ -0,0 +1,13 @@ +package com.linux.simple.generators; + +import javafx.stage.Stage; + +import com.linux.simple.generators.internal.DefaultContentsGenerator; + +public interface ContentsGenerator { + void generateContent(Stage stage, String title, String messagePrefix); + + static ContentsGenerator getInstance() { + return new DefaultContentsGenerator(); + } +} \ No newline at end of file diff --git a/jpms/com.linux.simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java b/jpms/com.linux.simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java new file mode 100644 index 0000000..586afe4 --- /dev/null +++ b/jpms/com.linux.simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java @@ -0,0 +1,27 @@ +package com.linux.simple.generators.internal; + +import javafx.scene.Scene; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; +import javafx.scene.control.Button; + +import com.linux.simple.generators.ContentsGenerator; + +/** + * DefaultContentsGenerator + */ +public class DefaultContentsGenerator implements ContentsGenerator{ + + @Override + public void generateContent(Stage stage, String title, String messagePrefix) { + System.out.println("Default content generated."); + stage.setTitle(title); + Button button = new Button(); + button.setText(title); + button.setOnAction(e -> System.out.println(messagePrefix + " -- " + e.getEventType().toString())); + + StackPane root = new StackPane(); + root.getChildren().add(button); + stage.setScene(new Scene(root, 400, 300)); + } +} \ No newline at end of file diff --git a/jpms/app/module-info.java b/jpms/com.linux.simple/module-info.java similarity index 73% rename from jpms/app/module-info.java rename to jpms/com.linux.simple/module-info.java index ce12491..0260543 100644 --- a/jpms/app/module-info.java +++ b/jpms/com.linux.simple/module-info.java @@ -1,5 +1,6 @@ module com.linux.simple { requires javafx.graphics; requires javafx.controls; + exports com.linux.simple.generators; exports com.linux.simple; } \ No newline at end of file diff --git a/jpms/com/module-info.java b/jpms/com/module-info.java new file mode 100644 index 0000000..0260543 --- /dev/null +++ b/jpms/com/module-info.java @@ -0,0 +1,6 @@ +module com.linux.simple { + requires javafx.graphics; + requires javafx.controls; + exports com.linux.simple.generators; + exports com.linux.simple; +} \ No newline at end of file From 62602282d09bbc4aaded2e837f0bc8e3256268d2 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 17:52:26 +0100 Subject: [PATCH 08/22] Moved Packages --- .../com/linux/complex => anotherapp}/ComplexApp.java | 10 ++++------ jpms/com.linux.simple/module-info.java | 6 ------ .../com/linux/complex}/ComplexApp.java | 11 +++++++---- jpms/{com.linux.complex => complex}/module-info.java | 4 ++-- .../com/linux/simple/SimpleUiApp.java | 2 +- .../linux/simple/generators/ContentsGenerator.java | 0 .../generators/internal/DefaultContentsGenerator.java | 0 jpms/{com => simple}/module-info.java | 3 +-- 8 files changed, 15 insertions(+), 21 deletions(-) rename jpms/{com.linux.complex/com/linux/complex => anotherapp}/ComplexApp.java (59%) delete mode 100644 jpms/com.linux.simple/module-info.java rename jpms/{com.linux.complex => complex/com/linux/complex}/ComplexApp.java (58%) rename jpms/{com.linux.complex => complex}/module-info.java (50%) rename jpms/{com.linux.simple => simple}/com/linux/simple/SimpleUiApp.java (90%) rename jpms/{com.linux.simple => simple}/com/linux/simple/generators/ContentsGenerator.java (100%) rename jpms/{com.linux.simple => simple}/com/linux/simple/generators/internal/DefaultContentsGenerator.java (100%) rename jpms/{com => simple}/module-info.java (56%) diff --git a/jpms/com.linux.complex/com/linux/complex/ComplexApp.java b/jpms/anotherapp/ComplexApp.java similarity index 59% rename from jpms/com.linux.complex/com/linux/complex/ComplexApp.java rename to jpms/anotherapp/ComplexApp.java index 604e306..8064e21 100644 --- a/jpms/com.linux.complex/com/linux/complex/ComplexApp.java +++ b/jpms/anotherapp/ComplexApp.java @@ -15,12 +15,10 @@ public static void main(String[] args) { public void start(Stage primaryStage) { ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); - contentsGenerator.generateContent(primaryStage, "Complicated Hello Java9" , ComplexApp.class.getSimpleName()); + contentsGenerator.generateContent(primaryStage, "Complex JavaFX Application", ComplexApp.class.getSimpleName()); primaryStage.show(); } - -} - -// javac --module-path app anotherapp/module-info.java anotherapp/com/linux/complex/ComplexApp.java -// java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file +} + +// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java \ No newline at end of file diff --git a/jpms/com.linux.simple/module-info.java b/jpms/com.linux.simple/module-info.java deleted file mode 100644 index 0260543..0000000 --- a/jpms/com.linux.simple/module-info.java +++ /dev/null @@ -1,6 +0,0 @@ -module com.linux.simple { - requires javafx.graphics; - requires javafx.controls; - exports com.linux.simple.generators; - exports com.linux.simple; -} \ No newline at end of file diff --git a/jpms/com.linux.complex/ComplexApp.java b/jpms/complex/com/linux/complex/ComplexApp.java similarity index 58% rename from jpms/com.linux.complex/ComplexApp.java rename to jpms/complex/com/linux/complex/ComplexApp.java index b7ee7ea..8064e21 100644 --- a/jpms/com.linux.complex/ComplexApp.java +++ b/jpms/complex/com/linux/complex/ComplexApp.java @@ -15,7 +15,10 @@ public static void main(String[] args) { public void start(Stage primaryStage) { ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); - contentsGeneratorr.generateContent(primaryStage);Complicated - primaryS" - ComplexAppjavac com/linux/java/se/nine/jpms/anotherapp/module-info.java com/linux/java/se/nine/jpms/anotherapp/ComplexApp.java -// java --module-path jpms.app com.linux.java.se.nine.jpms.app.SimpleUiApp \ No newline at end of file + contentsGenerator.generateContent(primaryStage, "Complex JavaFX Application", ComplexApp.class.getSimpleName()); + primaryStage.show(); + } + +} + +// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java \ No newline at end of file diff --git a/jpms/com.linux.complex/module-info.java b/jpms/complex/module-info.java similarity index 50% rename from jpms/com.linux.complex/module-info.java rename to jpms/complex/module-info.java index 98a345e..7dd77af 100644 --- a/jpms/com.linux.complex/module-info.java +++ b/jpms/complex/module-info.java @@ -1,5 +1,5 @@ -module com.linux.complex { +module complex { requires javafx.graphics; requires javafx.controls; - requires com.linux.simple; + requires simple; } \ No newline at end of file diff --git a/jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java similarity index 90% rename from jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java rename to jpms/simple/com/linux/simple/SimpleUiApp.java index b55cd13..a05b057 100644 --- a/jpms/com.linux.simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -21,4 +21,4 @@ public void start(Stage primaryStage) { // cd jpms // javac app/module-info.java app/com/linux/simple/SimpleUiApp.java app/com/linux/simple/generators/ContentsGenerator.java app/com/linux/simple/generators/internal/DefaultContentsGenerator.java -// cd app && java com.linux.simple.SimpleUiApp; cd .. \ No newline at end of file +// java --module-path simple --module simple/com.linux.simple.SimpleUiApp \ No newline at end of file diff --git a/jpms/com.linux.simple/com/linux/simple/generators/ContentsGenerator.java b/jpms/simple/com/linux/simple/generators/ContentsGenerator.java similarity index 100% rename from jpms/com.linux.simple/com/linux/simple/generators/ContentsGenerator.java rename to jpms/simple/com/linux/simple/generators/ContentsGenerator.java diff --git a/jpms/com.linux.simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java b/jpms/simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java similarity index 100% rename from jpms/com.linux.simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java rename to jpms/simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java diff --git a/jpms/com/module-info.java b/jpms/simple/module-info.java similarity index 56% rename from jpms/com/module-info.java rename to jpms/simple/module-info.java index 0260543..7967644 100644 --- a/jpms/com/module-info.java +++ b/jpms/simple/module-info.java @@ -1,6 +1,5 @@ -module com.linux.simple { +module simple { requires javafx.graphics; requires javafx.controls; - exports com.linux.simple.generators; exports com.linux.simple; } \ No newline at end of file From 53017c11e740b6c25917dce302107b1cd66af76b Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 17:53:15 +0100 Subject: [PATCH 09/22] Moved packages and removed old files --- jpms/anotherapp/ComplexApp.java | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 jpms/anotherapp/ComplexApp.java diff --git a/jpms/anotherapp/ComplexApp.java b/jpms/anotherapp/ComplexApp.java deleted file mode 100644 index 8064e21..0000000 --- a/jpms/anotherapp/ComplexApp.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.linux.complex; - -import javafx.application.Application; -import javafx.stage.Stage; - -import com.linux.simple.generators.ContentsGenerator; - -/** - * ComplexApp - */ -public class ComplexApp extends Application{ - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); - contentsGenerator.generateContent(primaryStage, "Complex JavaFX Application", ComplexApp.class.getSimpleName()); - primaryStage.show(); - } - -} - -// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java \ No newline at end of file From e141ca721ae6caa36797978c7b3ab7d0cd9598a8 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 18:05:55 +0100 Subject: [PATCH 10/22] Moved packages and fixed 03-internal --- jpms/complex/com/linux/complex/ComplexApp.java | 3 ++- jpms/complex/module-info.java | 1 + jpms/simple/com/linux/simple/SimpleUiApp.java | 2 +- jpms/simple/module-info.java | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jpms/complex/com/linux/complex/ComplexApp.java b/jpms/complex/com/linux/complex/ComplexApp.java index 8064e21..5d27f6c 100644 --- a/jpms/complex/com/linux/complex/ComplexApp.java +++ b/jpms/complex/com/linux/complex/ComplexApp.java @@ -21,4 +21,5 @@ public void start(Stage primaryStage) { } -// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java \ No newline at end of file +// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java +// java --module-path simple:complex --module complex/com.linux.complex.ComplexApp \ No newline at end of file diff --git a/jpms/complex/module-info.java b/jpms/complex/module-info.java index 7dd77af..cac0122 100644 --- a/jpms/complex/module-info.java +++ b/jpms/complex/module-info.java @@ -2,4 +2,5 @@ requires javafx.graphics; requires javafx.controls; requires simple; + exports com.linux.complex; } \ No newline at end of file diff --git a/jpms/simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java index a05b057..9a8c1b5 100644 --- a/jpms/simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -20,5 +20,5 @@ public void start(Stage primaryStage) { // cd jpms -// javac app/module-info.java app/com/linux/simple/SimpleUiApp.java app/com/linux/simple/generators/ContentsGenerator.java app/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java // java --module-path simple --module simple/com.linux.simple.SimpleUiApp \ No newline at end of file diff --git a/jpms/simple/module-info.java b/jpms/simple/module-info.java index 7967644..8927e9d 100644 --- a/jpms/simple/module-info.java +++ b/jpms/simple/module-info.java @@ -1,5 +1,6 @@ module simple { requires javafx.graphics; requires javafx.controls; + exports com.linux.simple.generators; exports com.linux.simple; } \ No newline at end of file From de49651bc5fdc6968aa31cab68f0210b846eb6f2 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 18:21:53 +0100 Subject: [PATCH 11/22] removed other folders --- .../addition/CollectionOfMethods.java | 99 -------------- .../CompletableFutureAdditions.java | 41 ------ .../SimpleUserService.java | 32 ----- .../improvment/StreamsImprovements.java | 122 ------------------ .../trywithresources/TryWithResources.java | 47 ------- 5 files changed, 341 deletions(-) delete mode 100644 com/linux/java/se/nine/collection/addition/CollectionOfMethods.java delete mode 100644 com/linux/java/se/nine/completable/future/improvment/CompletableFutureAdditions.java delete mode 100644 com/linux/java/se/nine/privateinterfacemethods/SimpleUserService.java delete mode 100644 com/linux/java/se/nine/streams/improvment/StreamsImprovements.java delete mode 100644 com/linux/java/se/nine/trywithresources/TryWithResources.java diff --git a/com/linux/java/se/nine/collection/addition/CollectionOfMethods.java b/com/linux/java/se/nine/collection/addition/CollectionOfMethods.java deleted file mode 100644 index 204d606..0000000 --- a/com/linux/java/se/nine/collection/addition/CollectionOfMethods.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.linux.java.se.nine.collection.addition; - -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * CollectionOfMethods - */ -public class CollectionOfMethods { - public static void main(String[] args) { - System.out.printf("%n%nPre Java 9 Vs Java 9 %s%n%n", "Lists"); - - // Old - List oldStyleList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - print(oldStyleList, "oldStyleList"); - List oldStyleSingleElementList = Collections.singletonList(100); - print(oldStyleSingleElementList, "oldStyleSingleElementList"); - List oldStyleEmptyList = Collections.emptyList(); - print(oldStyleEmptyList, "oldStyleEmptyList"); - - System.out.printf("%n%n--%n%n"); - - // Java 9 - List newStyleList = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); - print(newStyleList, "newStyleList"); - List newStyleSingleElementList = List.of(100); - print(newStyleSingleElementList, "newStyleSingleElementList"); - List newStyleEmptyList = List.of(); - print(newStyleEmptyList, "newStyleEmptyList"); - - System.out.printf("%n%nPre Java 9 Vs Java 9 %s%n%n", "Sets"); - // ---------- Sets ---------- - // Old - Set oldStyleSet = new HashSet<>(); - oldStyleSet.add("One"); - oldStyleSet.add("Two"); - oldStyleSet.add("Three"); - oldStyleSet.add("Four"); - oldStyleSet.add("Five"); - print(oldStyleSet, "oldStyleSet"); - - Set oldStyleSingleElementSet = Collections.singleton("Hundred!"); - print(oldStyleSingleElementSet, "oldStyleSingleElementSet"); - - Set oldStyleEmptySet = Collections.emptySet(); - print(oldStyleEmptySet, "oldStyleEmptySet"); - - System.out.printf("%n%n--%n%n"); - // Java 9 - Set newStyleSet = Set.of("One", "Two", "Three", "Four", "Five"); - print(newStyleSet, "newStyleSet"); - - Set newStyleSingleElementSet = Set.of("Hundred!"); - print(newStyleSingleElementSet, "newStyleSingleElementSet"); - - Set newStyleEmptySet = Set.of(); - print(newStyleEmptySet, "newStyleEmptySet"); - - System.out.printf("%n%nPre Java 9 Vs Java 9 %s%n%n", "Maps"); - Map oldStyleMap = new HashMap<>(); - oldStyleMap.put(1, "One"); - oldStyleMap.put(2, "Two"); - oldStyleMap.put(3, "Three"); - oldStyleMap.put(4, "Four"); - oldStyleMap.put(5, "Five"); - print(oldStyleMap, "oldStyleMap"); - - Map oldStyleBadMap = new HashMap<>(){{put(1, "One");put(2, "Two");put(3, "Three");put(4, "Four");put(5, "Five");}}; - print(oldStyleBadMap, "oldStyleBadMap"); - - Map oldStyleSingleElementMap = Collections.singletonMap(100, "Hundred!"); - print(oldStyleSingleElementMap, "oldStyleSingleElementMap"); - - Map oldStyleEmptyMap = Collections.emptyMap(); - print(oldStyleEmptyMap, "oldStyleEmptyMap"); - - System.out.printf("%n%n--%n%n"); - - Map newStyleMap = Map.of(1, "One", 2, "Two", 3, "Three", 4, "Four", 5, "Five"); - print(newStyleMap, "newStyleMap"); - - Map newStyleSingleElementMap = Map.of(1, "Hundred!"); - print(newStyleSingleElementMap, "newStyleSingleElementMap"); - - Map newStyleEmptyMap = Map.of(); - print(newStyleEmptyMap, "newStyleEmptyMap"); - } - - private static void print(Object c, String identifier) { - System.out.println(String.join("", Collections.nCopies(150, "-"))); - System.out.printf("%-30s :: Type : %-50s | Elements : %s%n",identifier, c.getClass(), c); - } - -} \ No newline at end of file diff --git a/com/linux/java/se/nine/completable/future/improvment/CompletableFutureAdditions.java b/com/linux/java/se/nine/completable/future/improvment/CompletableFutureAdditions.java deleted file mode 100644 index 459f601..0000000 --- a/com/linux/java/se/nine/completable/future/improvment/CompletableFutureAdditions.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.linux.java.se.nine.completable.future.improvment; - -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; - -/** - * CompletableFutureAdditions - */ -public class CompletableFutureAdditions { - public static void main(String[] args) { - CompletableFutureAdditions additions = new CompletableFutureAdditions(); - CompletableFuture cf = CompletableFuture.supplyAsync(() -> additions.sleep(2)); - System.out.println(" Original Completable Future is done ?" + cf.isDone()); - - CompletableFuture newCopy = cf.copy(); - System.out.println(" Copy of Completable Future is done ?" + cf.isDone()); - newCopy.completeExceptionally(new InterruptedException("Some message")); - - CompletableFuture completeOnTimeOut = cf.copy().completeOnTimeout("Failed to complete", 1, TimeUnit.SECONDS); - System.out.println("Completable Future Complete on Timeout is done ?" + cf.isDone()); - - cf.thenAccept(System.out::println); - newCopy.thenAccept(System.out::println); - completeOnTimeOut.thenAccept(System.out::println); - - - additions.sleep(5); - - } - - - private String sleep(int sleepTimeSeconds) { - try { - Thread.sleep(TimeUnit.SECONDS.toMillis(sleepTimeSeconds)); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - return "Done : " + System.currentTimeMillis() + " By " + Thread.currentThread().getName(); - } - -} \ No newline at end of file diff --git a/com/linux/java/se/nine/privateinterfacemethods/SimpleUserService.java b/com/linux/java/se/nine/privateinterfacemethods/SimpleUserService.java deleted file mode 100644 index a782fab..0000000 --- a/com/linux/java/se/nine/privateinterfacemethods/SimpleUserService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.linux.java.se.nine.privateinterfacemethods; - -interface UserService{ - - default String getUser() { - return getUserFromEnv(); - } - - static String getSystemUser(){ - return getUserFromEnv(); - } - - private static String getUserFromEnv() { - return System.getenv("USER"); - } - -} - -public class SimpleUserService implements UserService{ - - @Override - public String getUser() { - return "john"; - } - - public static void main(String[] args) { - UserService s = new SimpleUserService(); - System.out.println("Current User :: " + s.getUser()); - System.out.println("Current System User :: " + UserService.getSystemUser()); - } - -} \ No newline at end of file diff --git a/com/linux/java/se/nine/streams/improvment/StreamsImprovements.java b/com/linux/java/se/nine/streams/improvment/StreamsImprovements.java deleted file mode 100644 index d3cbf0f..0000000 --- a/com/linux/java/se/nine/streams/improvment/StreamsImprovements.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.linux.java.se.nine.streams.improvment; - -import java.time.LocalDate; -import java.time.Month; -import java.time.Period; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.function.Predicate; -import java.util.stream.Stream; - -import static java.util.Comparator.comparing; -import static java.util.stream.Collectors.toList; - - -/** - * StreamsImprovements - */ - -public class StreamsImprovements { - private static final Book ej3e = new Book("Effective Java 3rd Edition", "Joshua Bloch", "978-0-13-468599-1", LocalDate.of(2017, Month.DECEMBER, 20)); - private static final Book cjs9fi = new Book("Core Java SE 9 for the Impatient, 2nd Edition", "Cay S. Horstmann", "978-0-13-469472-6", LocalDate.of(2017, Month.SEPTEMBER, 15)); - private static final Book j9fp = new Book("Java 9 for Programmers, 4th Edition", "Paul J. Deitel, Harvey Deitel", "978-0-13-477756-6", LocalDate.of(2017, Month.MAY, 11)); - private static final Book ej2e = new Book("Effective Java 2nd Edition", "Joshua Bloch", "978-0-321-35668-0", LocalDate.of(2008, Month.MAY, 8)); - private static final Book rwjeep = new Book("Real World Java EE Patterns", "Adam Bien", "978-1-300-14931-6", LocalDate.of(2012, Month.SEPTEMBER, 5)); - private static final Book rwjeenh = new Book("Real World Java EE Night Hacks", "Adam Bien", "978-0-557-07832-5", LocalDate.of(2008, Month.MAY, 8)); - - - public static void main(String[] args) { - Predicate publishDateGreaterThan2012 = b -> b.getPublishDate().getYear() > 2012; - - print(getBooks().collect(toList()), "***** Original List *****"); - - List booksWithSkip = getBooks() - .skip(3) - .collect(toList()); - print(booksWithSkip, "Java 8 ... skip 3"); - - List booksWithDropWhile = getBooks() - .dropWhile(publishDateGreaterThan2012) - .collect(toList()); - print(booksWithDropWhile, "Java 9 ... dropWhile publishDateGreaterThan2012"); - - List booksWithLimit = getBooks() - .limit(3) - .collect(toList()); - print(booksWithLimit, "Java 8 ... limit"); - - List booksWithTakeWhile = getBooks() - .takeWhile(publishDateGreaterThan2012) - .collect(toList()); - print(booksWithTakeWhile, "Java 9 ... takeWhile publishDateGreaterThan2012"); - - } - - - /** - * New recommendation from Joshua Bloch -- If you know that the callers of your method are happy using Stream as a return, use it!!!! - */ - private static Stream getBooks() { - return Stream.of(ej3e, cjs9fi, j9fp, ej2e, rwjeep, rwjeenh).sorted(comparing(Book::getPublishDate).reversed()); - } - - private static void print(List list, String identifier) { - System.out.println(identifier); - list.forEach(System.out::println); - System.out.println(String.join("", Collections.nCopies(150, "-"))); - } - - - static class Book { - private final String name; - private final String author; - private final String isbn; - private final LocalDate publishDate; - - Book(String name, String author, String isbn, LocalDate publishDate) { - this.name = name; - this.author = author; - this.isbn = isbn; - this.publishDate = publishDate; - } - - public Period getBookAgeinMonths() { - return Period.between(publishDate, LocalDate.now()); - } - - /** - * @return the name - */ - public String getName() { - return name; - } - - /** - * @return the isbn - */ - public String getIsbn() { - return isbn; - } - - /** - * @return the publishDate - */ - public LocalDate getPublishDate() { - return publishDate; - } - - /** - * @return the author - */ - public String getAuthor() { - return author; - } - - @Override - public String toString() { - return String.format("Book{name=%-50s\tauthor=%-30s\tisbn=%-20s\tpublishDate=%10s}", name, author, isbn, publishDate); - } - - } -} diff --git a/com/linux/java/se/nine/trywithresources/TryWithResources.java b/com/linux/java/se/nine/trywithresources/TryWithResources.java deleted file mode 100644 index 9edaefb..0000000 --- a/com/linux/java/se/nine/trywithresources/TryWithResources.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.linux.java.se.nine.trywithresources; - -import java.util.concurrent.TimeUnit; - -class SimpleResource implements AutoCloseable{ - private final String name; - - SimpleResource(String name) { - this.name = name; - } - - public String doWork(String context) { - try{ - TimeUnit.SECONDS.sleep(2); - } catch(InterruptedException ie) { - throw new RuntimeException(ie); - } - return "Work Done for " + context; - } - - @Override - public void close() { - System.out.println("Resource " + name + " closed"); - } -} - -/** - * TryWithResources - */ -public class TryWithResources { - public static void main(String[] args) { - System.out.println("-- Before :: "); - try(SimpleResource res = new SimpleResource("insideTryWithResource")){ - String workResponse = res.doWork("old style try with resources"); - System.out.println(workResponse); - } - - - System.out.println("-- After :: "); - SimpleResource resource = new SimpleResource("OutsideTryWithResource"); - try(resource) { - String workResponse = resource.doWork("yay! java 9"); - System.out.println(workResponse); - } - - } -} \ No newline at end of file From 796c34197a99965af1942c7da1c59b4eda97327b Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 19:02:33 +0100 Subject: [PATCH 12/22] added jdeps commands --- jpms/simple/com/linux/simple/SimpleUiApp.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jpms/simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java index 9a8c1b5..e062f4b 100644 --- a/jpms/simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -21,4 +21,8 @@ public void start(Stage primaryStage) { // cd jpms // javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java -// java --module-path simple --module simple/com.linux.simple.SimpleUiApp \ No newline at end of file +// java --module-path simple --module simple/com.linux.simple.SimpleUiApp + +// jdeps --module-path simple --dot-output . --module simple +// jdeps --module-path simple --dot-output . --module simple -s +// http://www.webgraphviz.com/ \ No newline at end of file From faae9a6f766ef7796bd716eb5f40e414d16a2d98 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 19:31:34 +0100 Subject: [PATCH 13/22] added --- .gitignore | 2 + jpms/anotherapp/ComplexApp.java | 34 +++++++++++++++++ jpms/app/com/linux/simple/SimpleUiApp.java | 37 +++++++++++++++++++ .../complex/com/linux/complex/ComplexApp.java | 11 +++++- jpms/simple/com/linux/simple/SimpleUiApp.java | 11 +++++- 5 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 jpms/anotherapp/ComplexApp.java create mode 100644 jpms/app/com/linux/simple/SimpleUiApp.java diff --git a/.gitignore b/.gitignore index 375be92..8506df2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # Compiled class file *.class +**/target/ +**/tmp/ # Log file *.log diff --git a/jpms/anotherapp/ComplexApp.java b/jpms/anotherapp/ComplexApp.java new file mode 100644 index 0000000..8d5e0c6 --- /dev/null +++ b/jpms/anotherapp/ComplexApp.java @@ -0,0 +1,34 @@ +package com.linux.complex; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.simple.generators.ContentsGenerator; + +/** + * ComplexApp + */ +public class ComplexApp extends Application{ + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); + contentsGenerator.generateContent(primaryStage, "Complex JavaFX Application", ComplexApp.class.getSimpleName()); + primaryStage.show(); + } + +} + +// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java +// java --module-path simple:complex --module complex/com.linux.complex.ComplexApp + +// using jars +// javac -d target --module-path simple.jar complex/module-info.java complex/com/linux/complex/ComplexApp.java +// jar -cvf complex.jar -C target/ . +// java --module-path simple.jar:complex.jar --module complex/com.linux.complex.ComplexApp + +// using executable jars :: seperating the options is important!! +// jar -c -v -f complex.jar -e com.linux.complex.ComplexApp -C target/ . +// diff --git a/jpms/app/com/linux/simple/SimpleUiApp.java b/jpms/app/com/linux/simple/SimpleUiApp.java new file mode 100644 index 0000000..4d97737 --- /dev/null +++ b/jpms/app/com/linux/simple/SimpleUiApp.java @@ -0,0 +1,37 @@ +package com.linux.simple; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.simple.generators.ContentsGenerator; + +public class SimpleUiApp extends Application{ + + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + ContentsGenerator contentGenerator = ContentsGenerator.getInstance(); + contentGenerator.generateContent(primaryStage, "Hello Java9", SimpleUiApp.class.getSimpleName()); + primaryStage.show(); + } +} + + +// cd jpms +// javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// java --module-path simple --module simple/com.linux.simple.SimpleUiApp + +// jdeps --module-path simple --dot-output . --module simple +// jdeps --module-path simple --dot-output . --module simple -s +// http://www.webgraphviz.com/ + +// javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// simple jar (library) +// jar -cvf simple.jar -C target/ . +// java --module-path simple.jar --module simple/com.linux.simple.SimpleUiApp + +// Executable jar +// jar -cvfe simple.jar com.linux.simple.SimpleUiApp -C target/ . +// java -jar simple.jar \ No newline at end of file diff --git a/jpms/complex/com/linux/complex/ComplexApp.java b/jpms/complex/com/linux/complex/ComplexApp.java index 5d27f6c..8d5e0c6 100644 --- a/jpms/complex/com/linux/complex/ComplexApp.java +++ b/jpms/complex/com/linux/complex/ComplexApp.java @@ -22,4 +22,13 @@ public void start(Stage primaryStage) { } // javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java -// java --module-path simple:complex --module complex/com.linux.complex.ComplexApp \ No newline at end of file +// java --module-path simple:complex --module complex/com.linux.complex.ComplexApp + +// using jars +// javac -d target --module-path simple.jar complex/module-info.java complex/com/linux/complex/ComplexApp.java +// jar -cvf complex.jar -C target/ . +// java --module-path simple.jar:complex.jar --module complex/com.linux.complex.ComplexApp + +// using executable jars :: seperating the options is important!! +// jar -c -v -f complex.jar -e com.linux.complex.ComplexApp -C target/ . +// diff --git a/jpms/simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java index e062f4b..4d97737 100644 --- a/jpms/simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -25,4 +25,13 @@ public void start(Stage primaryStage) { // jdeps --module-path simple --dot-output . --module simple // jdeps --module-path simple --dot-output . --module simple -s -// http://www.webgraphviz.com/ \ No newline at end of file +// http://www.webgraphviz.com/ + +// javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// simple jar (library) +// jar -cvf simple.jar -C target/ . +// java --module-path simple.jar --module simple/com.linux.simple.SimpleUiApp + +// Executable jar +// jar -cvfe simple.jar com.linux.simple.SimpleUiApp -C target/ . +// java -jar simple.jar \ No newline at end of file From 11b586d96741e7d304e55f3f9165b07c20d36a5d Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 19:31:49 +0100 Subject: [PATCH 14/22] deleted --- jpms/app/com/linux/simple/SimpleUiApp.java | 37 ---------------------- 1 file changed, 37 deletions(-) delete mode 100644 jpms/app/com/linux/simple/SimpleUiApp.java diff --git a/jpms/app/com/linux/simple/SimpleUiApp.java b/jpms/app/com/linux/simple/SimpleUiApp.java deleted file mode 100644 index 4d97737..0000000 --- a/jpms/app/com/linux/simple/SimpleUiApp.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.linux.simple; - -import javafx.application.Application; -import javafx.stage.Stage; - -import com.linux.simple.generators.ContentsGenerator; - -public class SimpleUiApp extends Application{ - - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - ContentsGenerator contentGenerator = ContentsGenerator.getInstance(); - contentGenerator.generateContent(primaryStage, "Hello Java9", SimpleUiApp.class.getSimpleName()); - primaryStage.show(); - } -} - - -// cd jpms -// javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java -// java --module-path simple --module simple/com.linux.simple.SimpleUiApp - -// jdeps --module-path simple --dot-output . --module simple -// jdeps --module-path simple --dot-output . --module simple -s -// http://www.webgraphviz.com/ - -// javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java -// simple jar (library) -// jar -cvf simple.jar -C target/ . -// java --module-path simple.jar --module simple/com.linux.simple.SimpleUiApp - -// Executable jar -// jar -cvfe simple.jar com.linux.simple.SimpleUiApp -C target/ . -// java -jar simple.jar \ No newline at end of file From 0f7dbd0bec49c402af788e376222105660a3fc57 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 19:44:31 +0100 Subject: [PATCH 15/22] Added packaging and executable jars --- jpms/anotherapp/ComplexApp.java | 4 ++-- jpms/complex/com/linux/complex/ComplexApp.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jpms/anotherapp/ComplexApp.java b/jpms/anotherapp/ComplexApp.java index 8d5e0c6..57cea10 100644 --- a/jpms/anotherapp/ComplexApp.java +++ b/jpms/anotherapp/ComplexApp.java @@ -30,5 +30,5 @@ public void start(Stage primaryStage) { // java --module-path simple.jar:complex.jar --module complex/com.linux.complex.ComplexApp // using executable jars :: seperating the options is important!! -// jar -c -v -f complex.jar -e com.linux.complex.ComplexApp -C target/ . -// +// jar --create --verbose --file complex.jar --main-class com.linux.complex.ComplexApp -C target/ . +// java --module-path simple.jar:complex.jar -m complex diff --git a/jpms/complex/com/linux/complex/ComplexApp.java b/jpms/complex/com/linux/complex/ComplexApp.java index 8d5e0c6..57cea10 100644 --- a/jpms/complex/com/linux/complex/ComplexApp.java +++ b/jpms/complex/com/linux/complex/ComplexApp.java @@ -30,5 +30,5 @@ public void start(Stage primaryStage) { // java --module-path simple.jar:complex.jar --module complex/com.linux.complex.ComplexApp // using executable jars :: seperating the options is important!! -// jar -c -v -f complex.jar -e com.linux.complex.ComplexApp -C target/ . -// +// jar --create --verbose --file complex.jar --main-class com.linux.complex.ComplexApp -C target/ . +// java --module-path simple.jar:complex.jar -m complex From 22e7e978f3cf38c390fbff8e443f22eccea03656 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 19:47:43 +0100 Subject: [PATCH 16/22] updates --- jpms/app/com/linux/simple/SimpleUiApp.java | 37 +++++++++++++++++++ jpms/simple/com/linux/simple/SimpleUiApp.java | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 jpms/app/com/linux/simple/SimpleUiApp.java diff --git a/jpms/app/com/linux/simple/SimpleUiApp.java b/jpms/app/com/linux/simple/SimpleUiApp.java new file mode 100644 index 0000000..67b5220 --- /dev/null +++ b/jpms/app/com/linux/simple/SimpleUiApp.java @@ -0,0 +1,37 @@ +package com.linux.simple; + +import javafx.application.Application; +import javafx.stage.Stage; + +import com.linux.simple.generators.ContentsGenerator; + +public class SimpleUiApp extends Application{ + + public static void main(String[] args) { + launch(args); + } + + public void start(Stage primaryStage) { + ContentsGenerator contentGenerator = ContentsGenerator.getInstance(); + contentGenerator.generateContent(primaryStage, "Hello Java9", SimpleUiApp.class.getSimpleName()); + primaryStage.show(); + } +} + + +// cd jpms +// javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// java --module-path simple --module simple/com.linux.simple.SimpleUiApp + +// jdeps --module-path simple --dot-output . --module simple +// jdeps --module-path simple --dot-output . --module simple -s +// http://www.webgraphviz.com/ + +// javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java +// simple jar (library) +// jar -cvf simple.jar -C target/ . +// java --module-path simple.jar --module simple/com.linux.simple.SimpleUiApp + +// Executable jar +// jar -cvfe simple.jar com.linux.simple.SimpleUiApp -C target/ . +// java -jar simple.jar \ No newline at end of file diff --git a/jpms/simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java index 4d97737..67b5220 100644 --- a/jpms/simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -25,7 +25,7 @@ public void start(Stage primaryStage) { // jdeps --module-path simple --dot-output . --module simple // jdeps --module-path simple --dot-output . --module simple -s -// http://www.webgraphviz.com/ +// http://www.webgraphviz.com/ // javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java // simple jar (library) From 8b468c76b1a6dff7ef75e16cc3a352536ef257bf Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Mon, 8 Jan 2018 19:48:40 +0100 Subject: [PATCH 17/22] removed ghost files --- jpms/anotherapp/ComplexApp.java | 34 -------------------- jpms/app/com/linux/simple/SimpleUiApp.java | 37 ---------------------- 2 files changed, 71 deletions(-) delete mode 100644 jpms/anotherapp/ComplexApp.java delete mode 100644 jpms/app/com/linux/simple/SimpleUiApp.java diff --git a/jpms/anotherapp/ComplexApp.java b/jpms/anotherapp/ComplexApp.java deleted file mode 100644 index 57cea10..0000000 --- a/jpms/anotherapp/ComplexApp.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.linux.complex; - -import javafx.application.Application; -import javafx.stage.Stage; - -import com.linux.simple.generators.ContentsGenerator; - -/** - * ComplexApp - */ -public class ComplexApp extends Application{ - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - ContentsGenerator contentsGenerator = ContentsGenerator.getInstance(); - contentsGenerator.generateContent(primaryStage, "Complex JavaFX Application", ComplexApp.class.getSimpleName()); - primaryStage.show(); - } - -} - -// javac --module-path simple complex/module-info.java complex/com/linux/complex/ComplexApp.java -// java --module-path simple:complex --module complex/com.linux.complex.ComplexApp - -// using jars -// javac -d target --module-path simple.jar complex/module-info.java complex/com/linux/complex/ComplexApp.java -// jar -cvf complex.jar -C target/ . -// java --module-path simple.jar:complex.jar --module complex/com.linux.complex.ComplexApp - -// using executable jars :: seperating the options is important!! -// jar --create --verbose --file complex.jar --main-class com.linux.complex.ComplexApp -C target/ . -// java --module-path simple.jar:complex.jar -m complex diff --git a/jpms/app/com/linux/simple/SimpleUiApp.java b/jpms/app/com/linux/simple/SimpleUiApp.java deleted file mode 100644 index 67b5220..0000000 --- a/jpms/app/com/linux/simple/SimpleUiApp.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.linux.simple; - -import javafx.application.Application; -import javafx.stage.Stage; - -import com.linux.simple.generators.ContentsGenerator; - -public class SimpleUiApp extends Application{ - - public static void main(String[] args) { - launch(args); - } - - public void start(Stage primaryStage) { - ContentsGenerator contentGenerator = ContentsGenerator.getInstance(); - contentGenerator.generateContent(primaryStage, "Hello Java9", SimpleUiApp.class.getSimpleName()); - primaryStage.show(); - } -} - - -// cd jpms -// javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java -// java --module-path simple --module simple/com.linux.simple.SimpleUiApp - -// jdeps --module-path simple --dot-output . --module simple -// jdeps --module-path simple --dot-output . --module simple -s -// http://www.webgraphviz.com/ - -// javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java -// simple jar (library) -// jar -cvf simple.jar -C target/ . -// java --module-path simple.jar --module simple/com.linux.simple.SimpleUiApp - -// Executable jar -// jar -cvfe simple.jar com.linux.simple.SimpleUiApp -C target/ . -// java -jar simple.jar \ No newline at end of file From 0308f38352ebc9048e757c9e250d32c2a7c32739 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Tue, 9 Jan 2018 14:47:42 +0100 Subject: [PATCH 18/22] updated gitignore --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8506df2..b0c8a56 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,6 @@ hs_err_pid* .idea/ out/ -*.iml \ No newline at end of file +*.iml +*.png +*.dot \ No newline at end of file From 6ee8bd6dff2a8a8d833cc2df3149aec6f3d986dc Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Tue, 9 Jan 2018 18:40:24 +0100 Subject: [PATCH 19/22] Added generatin of png locally. --- jpms/simple/com/linux/simple/SimpleUiApp.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jpms/simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java index 67b5220..269e845 100644 --- a/jpms/simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -25,6 +25,7 @@ public void start(Stage primaryStage) { // jdeps --module-path simple --dot-output . --module simple // jdeps --module-path simple --dot-output . --module simple -s +// dot -Tpng simple.dot > simple.png // http://www.webgraphviz.com/ // javac -d target simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java From 275ce5892a5cbbabda3ea60140e2c745f99b4800 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Tue, 9 Jan 2018 18:43:34 +0100 Subject: [PATCH 20/22] Further graph updates --- jpms/simple/com/linux/simple/SimpleUiApp.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jpms/simple/com/linux/simple/SimpleUiApp.java b/jpms/simple/com/linux/simple/SimpleUiApp.java index 269e845..a42e23a 100644 --- a/jpms/simple/com/linux/simple/SimpleUiApp.java +++ b/jpms/simple/com/linux/simple/SimpleUiApp.java @@ -33,6 +33,9 @@ public void start(Stage primaryStage) { // jar -cvf simple.jar -C target/ . // java --module-path simple.jar --module simple/com.linux.simple.SimpleUiApp +// jdeps --dot-output . -s simple.jar +// dot -Tpng summary.dot > summary.png + // Executable jar // jar -cvfe simple.jar com.linux.simple.SimpleUiApp -C target/ . // java -jar simple.jar \ No newline at end of file From 418044f9d6d9101880994f34c06cd3c65701a1ac Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Thu, 18 Jan 2018 11:20:31 +0100 Subject: [PATCH 21/22] Updated readme! --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bcd85c3..93d3c9a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,14 @@ # Java-9-Discovery Java 9 Meetup -For more details see https://github.com/gurukulkarni/Java-9-Discovery/wiki +To run this program, you need to (of course install Java 9 and setup you PATH properly) +1. Change to the directory where this README.md is. +2. cd jpms +3. javac simple/module-info.java simple/com/linux/simple/SimpleUiApp.java simple/com/linux/simple/generators/ContentsGenerator.java simple/com/linux/simple/generators/internal/DefaultContentsGenerator.java +4. java --module-path simple --module simple/com.linux.simple.SimpleUiApp +More commands to run : can be found : (better syntax highlighting) +https://github.com/gurukulkarni/Java-9-Discovery/blob/05-packages/jpms/simple/com/linux/simple/SimpleUiApp.java +https://github.com/gurukulkarni/Java-9-Discovery/blob/05-packages/jpms/complex/com/linux/complex/ComplexApp.java -find Java-9-Discovery -type f -name "*.class" -exec rm -v {} + // linux? or gnu command to remove all .class files from the project \ No newline at end of file +For more details see https://github.com/gurukulkarni/Java-9-Discovery/wiki \ No newline at end of file From 98dc192dc6b0e4c9921542fdcb79624216b55793 Mon Sep 17 00:00:00 2001 From: Guruprasad Kulkarni Date: Thu, 18 Jan 2018 12:12:26 +0100 Subject: [PATCH 22/22] Added blankspaces --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 93d3c9a..4af4635 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,13 @@ To run this program, you need to (of course install Java 9 and setup you PATH pr 4. java --module-path simple --module simple/com.linux.simple.SimpleUiApp More commands to run : can be found : (better syntax highlighting) + https://github.com/gurukulkarni/Java-9-Discovery/blob/05-packages/jpms/simple/com/linux/simple/SimpleUiApp.java + https://github.com/gurukulkarni/Java-9-Discovery/blob/05-packages/jpms/complex/com/linux/complex/ComplexApp.java -For more details see https://github.com/gurukulkarni/Java-9-Discovery/wiki \ No newline at end of file +For more details see https://github.com/gurukulkarni/Java-9-Discovery/wiki + +find . -type f -name "*.class" -exec rm -v {} + + +Linux (actually GNU) command to remove all .class files from the project. This is needed so that when you switch with class files remaining and the directory structure changes, git cannot remove the directories as it is not empty. And no too mention I am too lazy to figure out how to configure VS Code to sent proper command to force this. \ No newline at end of file