From de9d111db4ad6d9de4d696c0a82bfb1130fa7a0e Mon Sep 17 00:00:00 2001 From: stephen-lazarionok Date: Thu, 13 Aug 2015 21:29:40 -0400 Subject: [PATCH 01/18] Implement the active record pattern example --- active-record/pom.xml | 30 ++ .../com/iluwatar/active/record/MagicWand.java | 264 ++++++++++++++++++ .../active/record/SpellCastException.java | 17 ++ .../iluwatar/active/record/WandCoreType.java | 15 + .../iluwatar/active/record/WandWoodType.java | 15 + .../active/record/sample/Application.java | 35 +++ .../test/java/WizardStickSpecification.java | 60 ++++ 7 files changed, 436 insertions(+) create mode 100644 active-record/pom.xml create mode 100644 active-record/src/main/java/com/iluwatar/active/record/MagicWand.java create mode 100644 active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java create mode 100644 active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java create mode 100644 active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java create mode 100644 active-record/src/main/java/com/iluwatar/active/record/sample/Application.java create mode 100644 active-record/src/test/java/WizardStickSpecification.java diff --git a/active-record/pom.xml b/active-record/pom.xml new file mode 100644 index 000000000000..9a09b9206bd3 --- /dev/null +++ b/active-record/pom.xml @@ -0,0 +1,30 @@ + + + + java-design-patterns + com.iluwatar + 1.5.0 + + 4.0.0 + + active-record + + + + + com.h2database + h2 + + + + + + junit + junit + test + + + + \ No newline at end of file diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java new file mode 100644 index 000000000000..75f14c9b6c3a --- /dev/null +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -0,0 +1,264 @@ +package com.iluwatar.active.record; + +import org.h2.tools.DeleteDbFiles; + +import java.sql.*; + +/** + * "Every single wand is unique and will depend for its character on the particular tree and magical creature + * from which it derives its materials. Moreover, each wand, from the moment it finds its ideal owner, will begin + * to learn from and teach its human partner." @ Garrick Ollivander + *

+ * Created by Stephen Lazarionok. + */ +public class MagicWand { + + private Long id; + + private Double lengthInches; + + private WandWoodType wood; + + private WandCoreType core; + + public Long getId() { + return id; + } + + public Double getLengthInches() { + return lengthInches; + } + + public WandWoodType getWood() { + return wood; + } + + public WandCoreType getCore() { + return core; + } + + public void setLengthInches(Double lengthInches) { + this.lengthInches = lengthInches; + } + + public void setWood(WandWoodType wood) { + this.wood = wood; + } + + public void setCore(WandCoreType core) { + this.core = core; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("MagicWand("); + sb.append(this.getWood()); + sb.append(", "); + sb.append(this.getCore()); + sb.append(", "); + sb.append(this.getLengthInches()); + sb.append(" inch(es))"); + return sb.toString(); + } + + /** + * *********************************** + * ****** Data access methods + * *********************************** + */ + + private static final String SELECT_SQL = "select * from wand where id = ?"; + private static final String DELETE_SQL = "delete from wand where id = ?"; + private static final String UPDATE_SQL = "update wand set length_inches = ?, wood = ?, core = ? where id = ?"; + private static final String CREATE_SQL = "insert into wand values(?, ?, ?, ?)"; + + static { + DeleteDbFiles.execute("~", "test", true); + try { + Class.forName("org.h2.Driver"); + final Connection connection = getConnection(); + final Statement statement = connection.createStatement(); + statement.execute("create table wand(id BIGINT primary key, length_inches REAL, wood varchar(100), core varchar(100))"); + statement.close(); + connection.close(); + } + catch (final SQLException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + + private static Connection getConnection() throws SQLException { + return DriverManager.getConnection("jdbc:h2:~/test"); + } + + public long save() { + validateToSave(); + try { + final Connection connection = getConnection(); + final PreparedStatement ps = connection.prepareStatement(CREATE_SQL); + + final long id = System.currentTimeMillis(); + ps.setLong(1, id); + ps.setDouble(2, this.getLengthInches()); + ps.setString(3, this.getWood().name()); + ps.setString(4, this.getCore().name()); + + ps.execute(); + + ps.close(); + connection.close(); + return id; + } + catch (final SQLException e) { + throw new RuntimeException(e); + } + } + + public void delete() { + validateToDelete(); + try { + final Connection connection = getConnection(); + final PreparedStatement ps = connection.prepareStatement(DELETE_SQL); + + + ps.setLong(1, this.getId()); + ps.execute(); + ps.close(); + connection.close(); + } + catch (final SQLException e) { + throw new RuntimeException(e); + } + } + + public void update() { + validateToUpdate(); + try { + final Connection connection = getConnection(); + final PreparedStatement ps = connection.prepareStatement(UPDATE_SQL); + + + ps.setDouble(1, this.getLengthInches()); + ps.setString(2, this.getWood().name()); + ps.setString(3, this.getCore().name()); + ps.setLong(4, this.getId()); + + ps.execute(); + ps.close(); + connection.close(); + } + catch (final SQLException e) { + throw new RuntimeException(e); + } + } + + public static MagicWand find(long id) { + + try { + final Connection connection = getConnection(); + final PreparedStatement ps = connection.prepareStatement(SELECT_SQL); + + ResultSet rs; + ps.setLong(1, id); + rs = ps.executeQuery(); + if (rs.next()) { + final MagicWand wand = new MagicWand(); + + wand.id = rs.getLong("id"); + wand.setCore(WandCoreType.valueOf(rs.getString("core"))); + wand.setWood(WandWoodType.valueOf(rs.getString("wood"))); + wand.setLengthInches(rs.getDouble("length_inches")); + + return wand; + } + else { + return null; + } + } + catch (final SQLException e) { + throw new RuntimeException(e); + } + + } + + private void validateToSave() { + validateFieldsToBeNotNull(); + if (this.getId() != null) + throw new IllegalStateException("Can not save wand that was previously saved. Use 'update' metod instead."); + } + + private void validateToUpdate() { + validateFieldsToBeNotNull(); + if (this.getId() == null) throw new IllegalStateException("Can not update a record without ID specified"); + } + + private void validateToDelete() { + if (this.getId() == null) throw new IllegalStateException("Can not delete a record without ID specified"); + } + + private void validateFieldsToBeNotNull() { + if (this.getLengthInches() == null) + throw new IllegalStateException("Can not save a wand without length specified"); + if (this.getWood() == null) + throw new IllegalStateException("Can not save a wand without wood specified"); + if (this.getCore() == null) + throw new IllegalStateException("Can not save a wand without core specified"); + } + + /** + * *********************************** + * ****** Domain Logic + * *********************************** + */ + + private double calculateWoodMagicFactor() { + + switch (this.getWood()) { + case HOLLY: + return 1.2d; + case WINE: + return 1.0d; + case HAWTHORN: + return 0.8d; + default: + return 0.0d; + } + } + + private double calculateCoreMagicFactor() { + + switch (this.getCore()) { + case PHOENIX_FEATHER: + return 1.2d; + case DRAGON_HEARTSTRING: + return 1.0d; + case UNICORN_HAIR: + return 0.8d; + default: + return 0.0d; + } + } + + public double calculateMagicPower() { + + return calculateWoodMagicFactor() * calculateWoodMagicFactor() * this.getLengthInches(); + } + + public void castFireball() throws SpellCastException { + + if (this.calculateMagicPower() >= 10.0) { + System.out.println(this.toString() + ": a fireball spell is casted"); + } else { + throw new SpellCastException("Can not cast lighting! Not enough magic power..."); + } + } + + public void castLighting() throws SpellCastException { + if (this.calculateMagicPower() >= 20.0) { + System.out.println(this.toString() + ": a lighting spell is casted"); + } else { + throw new SpellCastException("Can not cast lighting! Not enough magic power..."); + } + } + +} diff --git a/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java b/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java new file mode 100644 index 000000000000..82c8d2a73888 --- /dev/null +++ b/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java @@ -0,0 +1,17 @@ +package com.iluwatar.active.record; + +/** + * Describes the exception that is raised when a spell can not be case for some reason. + * + * Created by Stephen Lazarionok. + */ +public class SpellCastException extends Exception { + + /** + * Create an exception with the reason provided. + * @param message + */ + public SpellCastException(final String message) { + super(message); + } +} diff --git a/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java b/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java new file mode 100644 index 000000000000..9cfcc2f67753 --- /dev/null +++ b/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java @@ -0,0 +1,15 @@ +package com.iluwatar.active.record; + +/** + * The core of a wand is a magical substance placed within the length of wood. They are usually + * bits of hair/feather extracted from some sort of Magical Being or Creature. The materials used + * for wand cores can vary widely, though certain wand-makers may prefer to use certain materials; + * for example, Garrick Ollivander discovered and pioneered the use of phoenix feathers, dragon heartstrings, + * and unicorn tail hairs. + * + * Created by Stephen Lazarionok. + */ +public enum WandCoreType { + + PHOENIX_FEATHER, DRAGON_HEARTSTRING, UNICORN_HAIR +} diff --git a/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java b/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java new file mode 100644 index 000000000000..8f8e9f6dbae6 --- /dev/null +++ b/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java @@ -0,0 +1,15 @@ +package com.iluwatar.active.record; + +/** + * Describes the wood types that can be used to produce magic wands. + * + * "Only a minority of trees can produce wand quality wood (just as a minority of humans can produce magic). + * It takes years of experience to tell which ones have the gift, although the job is made easier if Bowtruckles + * are found nesting in the leaves, as they never inhabit mundane trees." @ Garrick Ollivander + * + * Created by Stephen Lazarionok. + */ +public enum WandWoodType { + + HOLLY, WINE, HAWTHORN +} diff --git a/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java b/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java new file mode 100644 index 000000000000..1e29592a1ab7 --- /dev/null +++ b/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java @@ -0,0 +1,35 @@ +package com.iluwatar.active.record.sample; + +import com.iluwatar.active.record.MagicWand; +import com.iluwatar.active.record.SpellCastException; +import com.iluwatar.active.record.WandCoreType; +import com.iluwatar.active.record.WandWoodType; + +/** + * Created by Stephen Lazarionok. + */ +public class Application { + + public static void main(final String[] args) throws SpellCastException { + + final MagicWand harryPotterStick = new MagicWand(); + + harryPotterStick.setWood(WandWoodType.WINE); + harryPotterStick.setCore(WandCoreType.PHOENIX_FEATHER); + harryPotterStick.setLengthInches(11.0d); + + final long wandId = harryPotterStick.save(); + + final MagicWand wand = MagicWand.find(wandId); + + wand.castFireball(); + + wand.setCore(WandCoreType.DRAGON_HEARTSTRING); + wand.setLengthInches(21.0d); + + wand.update(); + + MagicWand.find(wandId).castLighting(); + MagicWand.find(wandId).delete(); + } +} diff --git a/active-record/src/test/java/WizardStickSpecification.java b/active-record/src/test/java/WizardStickSpecification.java new file mode 100644 index 000000000000..af43a817bcbe --- /dev/null +++ b/active-record/src/test/java/WizardStickSpecification.java @@ -0,0 +1,60 @@ +import com.iluwatar.active.record.SpellCastException; +import com.iluwatar.active.record.WandCoreType; +import com.iluwatar.active.record.WandWoodType; +import com.iluwatar.active.record.MagicWand; +import org.junit.Test; +import sun.jvm.hotspot.utilities.Assert; + +/** + * Created by Stephen Lazarionok. + */ +public class WizardStickSpecification { + + @Test + public void shouldCastFireball_IfMaigPower10AndMore() throws SpellCastException { + + final MagicWand stick = new MagicWand(); + stick.setWood(WandWoodType.WINE); + stick.setCore(WandCoreType.DRAGON_HEARTSTRING); + stick.setLengthInches(10.0d); + + Assert.that(stick.calculateMagicPower() == 10.0d, "Magic power is calculated incorrectly"); + stick.castFireball(); + } + + @Test(expected = SpellCastException.class) + public void shouldNotCastFireball_IfMaigPowerLessThan10() throws SpellCastException { + + final MagicWand stick = new MagicWand(); + stick.setWood(WandWoodType.WINE); + stick.setCore(WandCoreType.DRAGON_HEARTSTRING); + stick.setLengthInches(9.0d); + + Assert.that(stick.calculateMagicPower() == 9.0d, "Magic power is calculated incorrectly"); + stick.castFireball(); + } + + @Test + public void shouldCastLigthing_IfMaigPower20AndMore() throws SpellCastException { + + final MagicWand stick = new MagicWand(); + stick.setWood(WandWoodType.WINE); + stick.setCore(WandCoreType.DRAGON_HEARTSTRING); + stick.setLengthInches(20.5d); + + Assert.that(stick.calculateMagicPower() == 20.5d, "Magic power is calculated incorrectly"); + stick.castLighting(); + } + + @Test(expected = SpellCastException.class) + public void shouldNotCastLigthing_IfMaigPowerLessThan20() throws SpellCastException { + + final MagicWand stick = new MagicWand(); + stick.setWood(WandWoodType.WINE); + stick.setCore(WandCoreType.DRAGON_HEARTSTRING); + stick.setLengthInches(18.0d); + + Assert.that(stick.calculateMagicPower() == 18.0d, "Magic power is calculated incorrectly"); + stick.castLighting(); + } +} From 77b6e738b403fdac63145c39baed97292f1b791c Mon Sep 17 00:00:00 2001 From: stephen-lazarionok Date: Thu, 13 Aug 2015 21:31:34 -0400 Subject: [PATCH 02/18] Add active-recotd module to the main pom.xml --- pom.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 1059edc58425..ba314c106b89 100644 --- a/pom.xml +++ b/pom.xml @@ -20,6 +20,7 @@ abstract-factory + active-record builder factory-method prototype @@ -116,8 +117,8 @@ - org.eclipse.m2e @@ -173,10 +174,10 @@ org.jacoco jacoco-maven-plugin ${jacoco.version} - - From 0c6a5b0a4c1c5db74daa4fb9c786464493125f21 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Thu, 13 Aug 2015 21:43:19 -0400 Subject: [PATCH 03/18] Fix the tests and rename the class --- ...pecification.java => MagicWandSpecification.java} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename active-record/src/test/java/{WizardStickSpecification.java => MagicWandSpecification.java} (77%) diff --git a/active-record/src/test/java/WizardStickSpecification.java b/active-record/src/test/java/MagicWandSpecification.java similarity index 77% rename from active-record/src/test/java/WizardStickSpecification.java rename to active-record/src/test/java/MagicWandSpecification.java index af43a817bcbe..c33a006113e8 100644 --- a/active-record/src/test/java/WizardStickSpecification.java +++ b/active-record/src/test/java/MagicWandSpecification.java @@ -2,13 +2,13 @@ import com.iluwatar.active.record.WandCoreType; import com.iluwatar.active.record.WandWoodType; import com.iluwatar.active.record.MagicWand; +import org.junit.Assert; import org.junit.Test; -import sun.jvm.hotspot.utilities.Assert; /** * Created by Stephen Lazarionok. */ -public class WizardStickSpecification { +public class MagicWandSpecification { @Test public void shouldCastFireball_IfMaigPower10AndMore() throws SpellCastException { @@ -18,7 +18,7 @@ public void shouldCastFireball_IfMaigPower10AndMore() throws SpellCastException stick.setCore(WandCoreType.DRAGON_HEARTSTRING); stick.setLengthInches(10.0d); - Assert.that(stick.calculateMagicPower() == 10.0d, "Magic power is calculated incorrectly"); + Assert.assertTrue(stick.calculateMagicPower() == 10.0d); stick.castFireball(); } @@ -30,7 +30,7 @@ public void shouldNotCastFireball_IfMaigPowerLessThan10() throws SpellCastExcept stick.setCore(WandCoreType.DRAGON_HEARTSTRING); stick.setLengthInches(9.0d); - Assert.that(stick.calculateMagicPower() == 9.0d, "Magic power is calculated incorrectly"); + Assert.assertTrue(stick.calculateMagicPower() == 9.0d); stick.castFireball(); } @@ -42,7 +42,7 @@ public void shouldCastLigthing_IfMaigPower20AndMore() throws SpellCastException stick.setCore(WandCoreType.DRAGON_HEARTSTRING); stick.setLengthInches(20.5d); - Assert.that(stick.calculateMagicPower() == 20.5d, "Magic power is calculated incorrectly"); + Assert.assertTrue(stick.calculateMagicPower() == 20.5d); stick.castLighting(); } @@ -54,7 +54,7 @@ public void shouldNotCastLigthing_IfMaigPowerLessThan20() throws SpellCastExcept stick.setCore(WandCoreType.DRAGON_HEARTSTRING); stick.setLengthInches(18.0d); - Assert.that(stick.calculateMagicPower() == 18.0d, "Magic power is calculated incorrectly"); + Assert.assertTrue(stick.calculateMagicPower() == 18.0d); stick.castLighting(); } } From 7bc202c32da410974229556973e3afd9630d2654 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Thu, 13 Aug 2015 21:57:24 -0400 Subject: [PATCH 04/18] Fix padding in pom.xml and change variable name --- .../src/test/java/MagicWandSpecification.java | 48 +++++++++---------- pom.xml | 12 ++--- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/active-record/src/test/java/MagicWandSpecification.java b/active-record/src/test/java/MagicWandSpecification.java index c33a006113e8..a289262e042e 100644 --- a/active-record/src/test/java/MagicWandSpecification.java +++ b/active-record/src/test/java/MagicWandSpecification.java @@ -13,48 +13,48 @@ public class MagicWandSpecification { @Test public void shouldCastFireball_IfMaigPower10AndMore() throws SpellCastException { - final MagicWand stick = new MagicWand(); - stick.setWood(WandWoodType.WINE); - stick.setCore(WandCoreType.DRAGON_HEARTSTRING); - stick.setLengthInches(10.0d); + final MagicWand wand = new MagicWand(); + wand.setWood(WandWoodType.WINE); + wand.setCore(WandCoreType.DRAGON_HEARTSTRING); + wand.setLengthInches(10.0d); - Assert.assertTrue(stick.calculateMagicPower() == 10.0d); - stick.castFireball(); + Assert.assertTrue(wand.calculateMagicPower() == 10.0d); + wand.castFireball(); } @Test(expected = SpellCastException.class) public void shouldNotCastFireball_IfMaigPowerLessThan10() throws SpellCastException { - final MagicWand stick = new MagicWand(); - stick.setWood(WandWoodType.WINE); - stick.setCore(WandCoreType.DRAGON_HEARTSTRING); - stick.setLengthInches(9.0d); + final MagicWand wand = new MagicWand(); + wand.setWood(WandWoodType.WINE); + wand.setCore(WandCoreType.DRAGON_HEARTSTRING); + wand.setLengthInches(9.0d); - Assert.assertTrue(stick.calculateMagicPower() == 9.0d); - stick.castFireball(); + Assert.assertTrue(wand.calculateMagicPower() == 9.0d); + wand.castFireball(); } @Test public void shouldCastLigthing_IfMaigPower20AndMore() throws SpellCastException { - final MagicWand stick = new MagicWand(); - stick.setWood(WandWoodType.WINE); - stick.setCore(WandCoreType.DRAGON_HEARTSTRING); - stick.setLengthInches(20.5d); + final MagicWand wand = new MagicWand(); + wand.setWood(WandWoodType.WINE); + wand.setCore(WandCoreType.DRAGON_HEARTSTRING); + wand.setLengthInches(20.5d); - Assert.assertTrue(stick.calculateMagicPower() == 20.5d); - stick.castLighting(); + Assert.assertTrue(wand.calculateMagicPower() == 20.5d); + wand.castLighting(); } @Test(expected = SpellCastException.class) public void shouldNotCastLigthing_IfMaigPowerLessThan20() throws SpellCastException { - final MagicWand stick = new MagicWand(); - stick.setWood(WandWoodType.WINE); - stick.setCore(WandCoreType.DRAGON_HEARTSTRING); - stick.setLengthInches(18.0d); + final MagicWand wand = new MagicWand(); + wand.setWood(WandWoodType.WINE); + wand.setCore(WandCoreType.DRAGON_HEARTSTRING); + wand.setLengthInches(18.0d); - Assert.assertTrue(stick.calculateMagicPower() == 18.0d); - stick.castLighting(); + Assert.assertTrue(wand.calculateMagicPower() == 18.0d); + wand.castLighting(); } } diff --git a/pom.xml b/pom.xml index ba314c106b89..fa85344b046c 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ abstract-factory - active-record + active-record builder factory-method prototype @@ -117,8 +117,8 @@ - org.eclipse.m2e @@ -174,10 +174,10 @@ org.jacoco jacoco-maven-plugin ${jacoco.version} - - From 9a80bb0cac8cb8c83a27611634f28008251e4274 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Thu, 13 Aug 2015 22:29:49 -0400 Subject: [PATCH 05/18] Add the description of active record pattern --- README.md | 1 + active-record/etc/active-record.png | Bin 0 -> 123955 bytes active-record/index.md | 22 ++++++++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 active-record/etc/active-record.png create mode 100644 active-record/index.md diff --git a/README.md b/README.md index a1561b4836eb..66a1dc0a842e 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ Integration patterns are concerned with how software applications communicate and exchange data. * [Tolerant Reader](#tolerant-reader) +* [Active Record](#active-record) ### Idioms [↑](#top) diff --git a/active-record/etc/active-record.png b/active-record/etc/active-record.png new file mode 100644 index 0000000000000000000000000000000000000000..1dd1de20ea1f2ccf13388a852967a9957536be84 GIT binary patch literal 123955 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

q=k9i%YpR?WksP9`DC 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 Date: Thu, 13 Aug 2015 22:46:37 -0400 Subject: [PATCH 06/18] Change the variable name --- .../com/iluwatar/active/record/sample/Application.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java b/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java index 1e29592a1ab7..377b1b3fb0cc 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java +++ b/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java @@ -12,13 +12,13 @@ public class Application { public static void main(final String[] args) throws SpellCastException { - final MagicWand harryPotterStick = new MagicWand(); + final MagicWand harryPotterWand = new MagicWand(); - harryPotterStick.setWood(WandWoodType.WINE); - harryPotterStick.setCore(WandCoreType.PHOENIX_FEATHER); - harryPotterStick.setLengthInches(11.0d); + harryPotterWand.setWood(WandWoodType.WINE); + harryPotterWand.setCore(WandCoreType.PHOENIX_FEATHER); + harryPotterWand.setLengthInches(11.0d); - final long wandId = harryPotterStick.save(); + final long wandId = harryPotterWand.save(); final MagicWand wand = MagicWand.find(wandId); From 004593235eafd24459fd0a66a89bb6bcfd1391d8 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Sun, 16 Aug 2015 13:22:32 -0400 Subject: [PATCH 07/18] Use instance methods without this and fix typo --- .../com/iluwatar/active/record/MagicWand.java | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index 75f14c9b6c3a..968b3248d444 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -52,11 +52,11 @@ public void setCore(WandCoreType core) { @Override public String toString() { final StringBuilder sb = new StringBuilder("MagicWand("); - sb.append(this.getWood()); + sb.append(getWood()); sb.append(", "); - sb.append(this.getCore()); + sb.append(getCore()); sb.append(", "); - sb.append(this.getLengthInches()); + sb.append(getLengthInches()); sb.append(" inch(es))"); return sb.toString(); } @@ -99,9 +99,9 @@ public long save() { final long id = System.currentTimeMillis(); ps.setLong(1, id); - ps.setDouble(2, this.getLengthInches()); - ps.setString(3, this.getWood().name()); - ps.setString(4, this.getCore().name()); + ps.setDouble(2, getLengthInches()); + ps.setString(3, getWood().name()); + ps.setString(4, getCore().name()); ps.execute(); @@ -121,7 +121,7 @@ public void delete() { final PreparedStatement ps = connection.prepareStatement(DELETE_SQL); - ps.setLong(1, this.getId()); + ps.setLong(1, getId()); ps.execute(); ps.close(); connection.close(); @@ -138,10 +138,10 @@ public void update() { final PreparedStatement ps = connection.prepareStatement(UPDATE_SQL); - ps.setDouble(1, this.getLengthInches()); - ps.setString(2, this.getWood().name()); - ps.setString(3, this.getCore().name()); - ps.setLong(4, this.getId()); + ps.setDouble(1, getLengthInches()); + ps.setString(2, getWood().name()); + ps.setString(3, getCore().name()); + ps.setLong(4, getId()); ps.execute(); ps.close(); @@ -183,25 +183,25 @@ public static MagicWand find(long id) { private void validateToSave() { validateFieldsToBeNotNull(); - if (this.getId() != null) + if (getId() != null) throw new IllegalStateException("Can not save wand that was previously saved. Use 'update' metod instead."); } private void validateToUpdate() { validateFieldsToBeNotNull(); - if (this.getId() == null) throw new IllegalStateException("Can not update a record without ID specified"); + if (getId() == null) throw new IllegalStateException("Can not update a record without ID specified"); } private void validateToDelete() { - if (this.getId() == null) throw new IllegalStateException("Can not delete a record without ID specified"); + if (getId() == null) throw new IllegalStateException("Can not delete a record without ID specified"); } private void validateFieldsToBeNotNull() { - if (this.getLengthInches() == null) + if (getLengthInches() == null) throw new IllegalStateException("Can not save a wand without length specified"); - if (this.getWood() == null) + if (getWood() == null) throw new IllegalStateException("Can not save a wand without wood specified"); - if (this.getCore() == null) + if (getCore() == null) throw new IllegalStateException("Can not save a wand without core specified"); } @@ -213,7 +213,7 @@ private void validateFieldsToBeNotNull() { private double calculateWoodMagicFactor() { - switch (this.getWood()) { + switch (getWood()) { case HOLLY: return 1.2d; case WINE: @@ -227,7 +227,7 @@ private double calculateWoodMagicFactor() { private double calculateCoreMagicFactor() { - switch (this.getCore()) { + switch (getCore()) { case PHOENIX_FEATHER: return 1.2d; case DRAGON_HEARTSTRING: @@ -241,21 +241,21 @@ private double calculateCoreMagicFactor() { public double calculateMagicPower() { - return calculateWoodMagicFactor() * calculateWoodMagicFactor() * this.getLengthInches(); + return calculateWoodMagicFactor() * calculateWoodMagicFactor() * getLengthInches(); } public void castFireball() throws SpellCastException { - if (this.calculateMagicPower() >= 10.0) { - System.out.println(this.toString() + ": a fireball spell is casted"); + if (calculateMagicPower() >= 10.0) { + System.out.println(toString() + ": a fireball spell is casted"); } else { - throw new SpellCastException("Can not cast lighting! Not enough magic power..."); + throw new SpellCastException("Can not cast fire ball! Not enough magic power..."); } } public void castLighting() throws SpellCastException { - if (this.calculateMagicPower() >= 20.0) { - System.out.println(this.toString() + ": a lighting spell is casted"); + if (calculateMagicPower() >= 20.0) { + System.out.println(toString() + ": a lighting spell is casted"); } else { throw new SpellCastException("Can not cast lighting! Not enough magic power..."); } From 534b713cafc9976762d7a279c98f10afb5ede102 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Sun, 16 Aug 2015 13:25:12 -0400 Subject: [PATCH 08/18] Fix typo --- .../java/com/iluwatar/active/record/SpellCastException.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java b/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java index 82c8d2a73888..3f3f65825873 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java +++ b/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java @@ -1,7 +1,7 @@ package com.iluwatar.active.record; /** - * Describes the exception that is raised when a spell can not be case for some reason. + * Describes the exception that is raised when a spell can not be cast for some reason. * * Created by Stephen Lazarionok. */ From d6c3e74872191d2656bd48ade65ca08e886619cb Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Sun, 16 Aug 2015 13:31:54 -0400 Subject: [PATCH 09/18] Fix typo and extract DB logic into a separate class --- .../java/com/iluwatar/active/record/DB.java | 33 +++++++++++++++++++ .../com/iluwatar/active/record/MagicWand.java | 27 +++------------ .../src/test/java/MagicWandSpecification.java | 8 ++--- 3 files changed, 41 insertions(+), 27 deletions(-) create mode 100644 active-record/src/main/java/com/iluwatar/active/record/DB.java diff --git a/active-record/src/main/java/com/iluwatar/active/record/DB.java b/active-record/src/main/java/com/iluwatar/active/record/DB.java new file mode 100644 index 000000000000..51d6a51cda38 --- /dev/null +++ b/active-record/src/main/java/com/iluwatar/active/record/DB.java @@ -0,0 +1,33 @@ +package com.iluwatar.active.record; + +import org.h2.tools.DeleteDbFiles; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; + +/** + * Created by Stephen Lazarionok. + */ +public class DB { + + static { + DeleteDbFiles.execute("~", "test", true); + try { + Class.forName("org.h2.Driver"); + final Connection connection = getConnection(); + final Statement statement = connection.createStatement(); + statement.execute("create table wand(id BIGINT primary key, length_inches REAL, wood varchar(100), core varchar(100))"); + statement.close(); + connection.close(); + } + catch (final SQLException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + + public static Connection getConnection() throws SQLException { + return DriverManager.getConnection("jdbc:h2:~/test"); + } +} diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index 968b3248d444..e295f24d2f00 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -72,29 +72,10 @@ public String toString() { private static final String UPDATE_SQL = "update wand set length_inches = ?, wood = ?, core = ? where id = ?"; private static final String CREATE_SQL = "insert into wand values(?, ?, ?, ?)"; - static { - DeleteDbFiles.execute("~", "test", true); - try { - Class.forName("org.h2.Driver"); - final Connection connection = getConnection(); - final Statement statement = connection.createStatement(); - statement.execute("create table wand(id BIGINT primary key, length_inches REAL, wood varchar(100), core varchar(100))"); - statement.close(); - connection.close(); - } - catch (final SQLException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - } - - private static Connection getConnection() throws SQLException { - return DriverManager.getConnection("jdbc:h2:~/test"); - } - public long save() { validateToSave(); try { - final Connection connection = getConnection(); + final Connection connection = DB.getConnection(); final PreparedStatement ps = connection.prepareStatement(CREATE_SQL); final long id = System.currentTimeMillis(); @@ -117,7 +98,7 @@ public long save() { public void delete() { validateToDelete(); try { - final Connection connection = getConnection(); + final Connection connection = DB.getConnection(); final PreparedStatement ps = connection.prepareStatement(DELETE_SQL); @@ -134,7 +115,7 @@ public void delete() { public void update() { validateToUpdate(); try { - final Connection connection = getConnection(); + final Connection connection = DB.getConnection(); final PreparedStatement ps = connection.prepareStatement(UPDATE_SQL); @@ -155,7 +136,7 @@ public void update() { public static MagicWand find(long id) { try { - final Connection connection = getConnection(); + final Connection connection = DB.getConnection(); final PreparedStatement ps = connection.prepareStatement(SELECT_SQL); ResultSet rs; diff --git a/active-record/src/test/java/MagicWandSpecification.java b/active-record/src/test/java/MagicWandSpecification.java index a289262e042e..5b5ca0b4556f 100644 --- a/active-record/src/test/java/MagicWandSpecification.java +++ b/active-record/src/test/java/MagicWandSpecification.java @@ -11,7 +11,7 @@ public class MagicWandSpecification { @Test - public void shouldCastFireball_IfMaigPower10AndMore() throws SpellCastException { + public void shouldCastFireball_IfMagicPower10AndMore() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); @@ -23,7 +23,7 @@ public void shouldCastFireball_IfMaigPower10AndMore() throws SpellCastException } @Test(expected = SpellCastException.class) - public void shouldNotCastFireball_IfMaigPowerLessThan10() throws SpellCastException { + public void shouldNotCastFireball_IfMagicPowerLessThan10() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); @@ -35,7 +35,7 @@ public void shouldNotCastFireball_IfMaigPowerLessThan10() throws SpellCastExcept } @Test - public void shouldCastLigthing_IfMaigPower20AndMore() throws SpellCastException { + public void shouldCastLigthing_IfMagicPower20AndMore() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); @@ -47,7 +47,7 @@ public void shouldCastLigthing_IfMaigPower20AndMore() throws SpellCastException } @Test(expected = SpellCastException.class) - public void shouldNotCastLigthing_IfMaigPowerLessThan20() throws SpellCastException { + public void shouldNotCastLigthing_IfMagicPowerLessThan20() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); From c08569039fa179963c92d63bf1a981f0ff298de3 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Sun, 16 Aug 2015 13:59:35 -0400 Subject: [PATCH 10/18] Fix some small issues --- .../java/com/iluwatar/active/record/DB.java | 5 ++++ .../com/iluwatar/active/record/MagicWand.java | 15 ++++++++++++ .../src/test/java/MagicWandSpecification.java | 23 +++++++++++++------ 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/DB.java b/active-record/src/main/java/com/iluwatar/active/record/DB.java index 51d6a51cda38..daffabca5fd4 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/DB.java +++ b/active-record/src/main/java/com/iluwatar/active/record/DB.java @@ -27,6 +27,11 @@ public class DB { } } + /** + * Provides a connection to the database configured. + * @return + * @throws SQLException + */ public static Connection getConnection() throws SQLException { return DriverManager.getConnection("jdbc:h2:~/test"); } diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index e295f24d2f00..90889f1671d6 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -72,6 +72,10 @@ public String toString() { private static final String UPDATE_SQL = "update wand set length_inches = ?, wood = ?, core = ? where id = ?"; private static final String CREATE_SQL = "insert into wand values(?, ?, ?, ?)"; + /** + * Saves the instance to the DB. + * @return + */ public long save() { validateToSave(); try { @@ -95,6 +99,9 @@ public long save() { } } + /** + * Deletes the instance from the DB. + */ public void delete() { validateToDelete(); try { @@ -112,6 +119,9 @@ public void delete() { } } + /** + * Updates the instance in DB. + */ public void update() { validateToUpdate(); try { @@ -133,6 +143,11 @@ public void update() { } } + /** + * Finds the instance in the DB. + * @param id + * @return + */ public static MagicWand find(long id) { try { diff --git a/active-record/src/test/java/MagicWandSpecification.java b/active-record/src/test/java/MagicWandSpecification.java index 5b5ca0b4556f..8d1f3f1e250c 100644 --- a/active-record/src/test/java/MagicWandSpecification.java +++ b/active-record/src/test/java/MagicWandSpecification.java @@ -2,14 +2,20 @@ import com.iluwatar.active.record.WandCoreType; import com.iluwatar.active.record.WandWoodType; import com.iluwatar.active.record.MagicWand; -import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; + +import static org.junit.Assert.assertTrue; /** * Created by Stephen Lazarionok. */ public class MagicWandSpecification { + @Rule + public ExpectedException exception = ExpectedException.none(); + @Test public void shouldCastFireball_IfMagicPower10AndMore() throws SpellCastException { @@ -18,11 +24,11 @@ public void shouldCastFireball_IfMagicPower10AndMore() throws SpellCastException wand.setCore(WandCoreType.DRAGON_HEARTSTRING); wand.setLengthInches(10.0d); - Assert.assertTrue(wand.calculateMagicPower() == 10.0d); + assertTrue(wand.calculateMagicPower() == 10.0d); wand.castFireball(); } - @Test(expected = SpellCastException.class) + @Test public void shouldNotCastFireball_IfMagicPowerLessThan10() throws SpellCastException { final MagicWand wand = new MagicWand(); @@ -30,7 +36,9 @@ public void shouldNotCastFireball_IfMagicPowerLessThan10() throws SpellCastExcep wand.setCore(WandCoreType.DRAGON_HEARTSTRING); wand.setLengthInches(9.0d); - Assert.assertTrue(wand.calculateMagicPower() == 9.0d); + assertTrue(wand.calculateMagicPower() == 9.0d); + exception.expect(SpellCastException.class); + wand.castFireball(); } @@ -42,11 +50,11 @@ public void shouldCastLigthing_IfMagicPower20AndMore() throws SpellCastException wand.setCore(WandCoreType.DRAGON_HEARTSTRING); wand.setLengthInches(20.5d); - Assert.assertTrue(wand.calculateMagicPower() == 20.5d); + assertTrue(wand.calculateMagicPower() == 20.5d); wand.castLighting(); } - @Test(expected = SpellCastException.class) + @Test public void shouldNotCastLigthing_IfMagicPowerLessThan20() throws SpellCastException { final MagicWand wand = new MagicWand(); @@ -54,7 +62,8 @@ public void shouldNotCastLigthing_IfMagicPowerLessThan20() throws SpellCastExcep wand.setCore(WandCoreType.DRAGON_HEARTSTRING); wand.setLengthInches(18.0d); - Assert.assertTrue(wand.calculateMagicPower() == 18.0d); + assertTrue(wand.calculateMagicPower() == 18.0d); + exception.expect(SpellCastException.class); wand.castLighting(); } } From 10d73a965564baeeb5fe83b5b6eaf2476f04b5b5 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Sun, 16 Aug 2015 14:13:33 -0400 Subject: [PATCH 11/18] Optimize imports and use double instead of Double for length --- .../com/iluwatar/active/record/MagicWand.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index 90889f1671d6..5c47c05a72f7 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -1,8 +1,9 @@ package com.iluwatar.active.record; -import org.h2.tools.DeleteDbFiles; - -import java.sql.*; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; /** * "Every single wand is unique and will depend for its character on the particular tree and magical creature @@ -15,7 +16,7 @@ public class MagicWand { private Long id; - private Double lengthInches; + private double lengthInches; private WandWoodType wood; @@ -25,7 +26,7 @@ public Long getId() { return id; } - public Double getLengthInches() { + public double getLengthInches() { return lengthInches; } @@ -37,7 +38,7 @@ public WandCoreType getCore() { return core; } - public void setLengthInches(Double lengthInches) { + public void setLengthInches(double lengthInches) { this.lengthInches = lengthInches; } @@ -178,13 +179,13 @@ public static MagicWand find(long id) { } private void validateToSave() { - validateFieldsToBeNotNull(); + validateProperties(); if (getId() != null) throw new IllegalStateException("Can not save wand that was previously saved. Use 'update' metod instead."); } private void validateToUpdate() { - validateFieldsToBeNotNull(); + validateProperties(); if (getId() == null) throw new IllegalStateException("Can not update a record without ID specified"); } @@ -192,9 +193,9 @@ private void validateToDelete() { if (getId() == null) throw new IllegalStateException("Can not delete a record without ID specified"); } - private void validateFieldsToBeNotNull() { - if (getLengthInches() == null) - throw new IllegalStateException("Can not save a wand without length specified"); + private void validateProperties() { + if (getLengthInches() > 0.0d) + throw new IllegalStateException("Can not save a wand with length <= 0"); if (getWood() == null) throw new IllegalStateException("Can not save a wand without wood specified"); if (getCore() == null) From 9f73cfe9e9a570e575bddbb84805db8821cb060b Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Wed, 19 Aug 2015 19:59:38 -0400 Subject: [PATCH 12/18] Form try-catch blocks --- .../src/main/java/com/iluwatar/active/record/DB.java | 3 +-- .../java/com/iluwatar/active/record/MagicWand.java | 12 ++++-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/DB.java b/active-record/src/main/java/com/iluwatar/active/record/DB.java index daffabca5fd4..40e12ec5622d 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/DB.java +++ b/active-record/src/main/java/com/iluwatar/active/record/DB.java @@ -21,8 +21,7 @@ public class DB { statement.execute("create table wand(id BIGINT primary key, length_inches REAL, wood varchar(100), core varchar(100))"); statement.close(); connection.close(); - } - catch (final SQLException | ClassNotFoundException e) { + } catch (final SQLException | ClassNotFoundException e) { throw new RuntimeException(e); } } diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index 5c47c05a72f7..a75d244a931c 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -94,8 +94,7 @@ public long save() { ps.close(); connection.close(); return id; - } - catch (final SQLException e) { + } catch (final SQLException e) { throw new RuntimeException(e); } } @@ -114,8 +113,7 @@ public void delete() { ps.execute(); ps.close(); connection.close(); - } - catch (final SQLException e) { + } catch (final SQLException e) { throw new RuntimeException(e); } } @@ -138,8 +136,7 @@ public void update() { ps.execute(); ps.close(); connection.close(); - } - catch (final SQLException e) { + } catch (final SQLException e) { throw new RuntimeException(e); } } @@ -171,8 +168,7 @@ public static MagicWand find(long id) { else { return null; } - } - catch (final SQLException e) { + } catch (final SQLException e) { throw new RuntimeException(e); } From 6daddf97c15f63a004e2d59669f4671b7c2c2902 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Wed, 19 Aug 2015 20:14:35 -0400 Subject: [PATCH 13/18] Release all the resources in finally block and add the documentation for DB class --- .../java/com/iluwatar/active/record/DB.java | 27 +++++++++++-- .../com/iluwatar/active/record/MagicWand.java | 40 ++++++++++++++----- 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/DB.java b/active-record/src/main/java/com/iluwatar/active/record/DB.java index 40e12ec5622d..c965649e8480 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/DB.java +++ b/active-record/src/main/java/com/iluwatar/active/record/DB.java @@ -2,12 +2,11 @@ import org.h2.tools.DeleteDbFiles; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; -import java.sql.Statement; +import java.sql.*; /** + * An utility class that holds and encapsulates all the DB related operations. + * * Created by Stephen Lazarionok. */ public class DB { @@ -34,4 +33,24 @@ public class DB { public static Connection getConnection() throws SQLException { return DriverManager.getConnection("jdbc:h2:~/test"); } + + public static void closeConnection(final Connection connection) { + try { + if (connection != null) { + connection.close(); + } + } catch (SQLException e) { + System.out.println("Failed to close a connection"); + } + } + + public static void closePreparedStatement(final PreparedStatement ps) { + try { + if (ps != null) { + ps.close(); + } + } catch (SQLException e) { + System.out.println("Failed to close a prepared statement"); + } + } } diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index a75d244a931c..a064a6a73914 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -79,9 +79,11 @@ public String toString() { */ public long save() { validateToSave(); + Connection connection = null; + PreparedStatement ps = null; try { - final Connection connection = DB.getConnection(); - final PreparedStatement ps = connection.prepareStatement(CREATE_SQL); + connection = DB.getConnection(); + ps = connection.prepareStatement(CREATE_SQL); final long id = System.currentTimeMillis(); ps.setLong(1, id); @@ -91,11 +93,13 @@ public long save() { ps.execute(); - ps.close(); - connection.close(); + return id; } catch (final SQLException e) { throw new RuntimeException(e); + } finally { + DB.closePreparedStatement(ps); + DB.closeConnection(connection); } } @@ -104,9 +108,11 @@ public long save() { */ public void delete() { validateToDelete(); + Connection connection = null; + PreparedStatement ps = null; try { - final Connection connection = DB.getConnection(); - final PreparedStatement ps = connection.prepareStatement(DELETE_SQL); + connection = DB.getConnection(); + ps = connection.prepareStatement(DELETE_SQL); ps.setLong(1, getId()); @@ -115,6 +121,9 @@ public void delete() { connection.close(); } catch (final SQLException e) { throw new RuntimeException(e); + } finally { + DB.closePreparedStatement(ps); + DB.closeConnection(connection); } } @@ -123,9 +132,11 @@ public void delete() { */ public void update() { validateToUpdate(); + Connection connection = null; + PreparedStatement ps = null; try { - final Connection connection = DB.getConnection(); - final PreparedStatement ps = connection.prepareStatement(UPDATE_SQL); + connection = DB.getConnection(); + ps = connection.prepareStatement(UPDATE_SQL); ps.setDouble(1, getLengthInches()); @@ -138,6 +149,9 @@ public void update() { connection.close(); } catch (final SQLException e) { throw new RuntimeException(e); + } finally { + DB.closePreparedStatement(ps); + DB.closeConnection(connection); } } @@ -147,10 +161,11 @@ public void update() { * @return */ public static MagicWand find(long id) { - + Connection connection = null; + PreparedStatement ps = null; try { - final Connection connection = DB.getConnection(); - final PreparedStatement ps = connection.prepareStatement(SELECT_SQL); + connection = DB.getConnection(); + ps = connection.prepareStatement(SELECT_SQL); ResultSet rs; ps.setLong(1, id); @@ -170,6 +185,9 @@ public static MagicWand find(long id) { } } catch (final SQLException e) { throw new RuntimeException(e); + } finally { + DB.closePreparedStatement(ps); + DB.closeConnection(connection); } } From cfc63aff4595d28fbf7820747589d38c6fa55421 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Mon, 31 Aug 2015 22:11:31 -0400 Subject: [PATCH 14/18] Reformat code according to Google style guidelines --- .../java/com/iluwatar/active/record/DB.java | 6 ++++-- .../com/iluwatar/active/record/MagicWand.java | 20 +++++++++++-------- .../active/record/SpellCastException.java | 3 ++- .../iluwatar/active/record/WandCoreType.java | 4 ++-- .../iluwatar/active/record/WandWoodType.java | 4 ++-- .../active/record/sample/Application.java | 2 +- .../src/test/java/MagicWandSpecification.java | 19 +++++++----------- 7 files changed, 30 insertions(+), 28 deletions(-) diff --git a/active-record/src/main/java/com/iluwatar/active/record/DB.java b/active-record/src/main/java/com/iluwatar/active/record/DB.java index c965649e8480..2c8778488bff 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/DB.java +++ b/active-record/src/main/java/com/iluwatar/active/record/DB.java @@ -6,7 +6,7 @@ /** * An utility class that holds and encapsulates all the DB related operations. - * + *

* Created by Stephen Lazarionok. */ public class DB { @@ -17,7 +17,8 @@ public class DB { Class.forName("org.h2.Driver"); final Connection connection = getConnection(); final Statement statement = connection.createStatement(); - statement.execute("create table wand(id BIGINT primary key, length_inches REAL, wood varchar(100), core varchar(100))"); + statement.execute( + "create table wand(id BIGINT primary key, length_inches REAL, wood varchar(100), core varchar(100))"); statement.close(); connection.close(); } catch (final SQLException | ClassNotFoundException e) { @@ -27,6 +28,7 @@ public class DB { /** * Provides a connection to the database configured. + * * @return * @throws SQLException */ diff --git a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java index a064a6a73914..21be0a34bf3f 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java +++ b/active-record/src/main/java/com/iluwatar/active/record/MagicWand.java @@ -50,8 +50,7 @@ public void setCore(WandCoreType core) { this.core = core; } - @Override - public String toString() { + @Override public String toString() { final StringBuilder sb = new StringBuilder("MagicWand("); sb.append(getWood()); sb.append(", "); @@ -70,11 +69,13 @@ public String toString() { private static final String SELECT_SQL = "select * from wand where id = ?"; private static final String DELETE_SQL = "delete from wand where id = ?"; - private static final String UPDATE_SQL = "update wand set length_inches = ?, wood = ?, core = ? where id = ?"; + private static final String UPDATE_SQL = + "update wand set length_inches = ?, wood = ?, core = ? where id = ?"; private static final String CREATE_SQL = "insert into wand values(?, ?, ?, ?)"; /** * Saves the instance to the DB. + * * @return */ public long save() { @@ -157,6 +158,7 @@ public void update() { /** * Finds the instance in the DB. + * * @param id * @return */ @@ -179,8 +181,7 @@ public static MagicWand find(long id) { wand.setLengthInches(rs.getDouble("length_inches")); return wand; - } - else { + } else { return null; } } catch (final SQLException e) { @@ -195,16 +196,19 @@ public static MagicWand find(long id) { private void validateToSave() { validateProperties(); if (getId() != null) - throw new IllegalStateException("Can not save wand that was previously saved. Use 'update' metod instead."); + throw new IllegalStateException( + "Can not save wand that was previously saved. Use 'update' metod instead."); } private void validateToUpdate() { validateProperties(); - if (getId() == null) throw new IllegalStateException("Can not update a record without ID specified"); + if (getId() == null) + throw new IllegalStateException("Can not update a record without ID specified"); } private void validateToDelete() { - if (getId() == null) throw new IllegalStateException("Can not delete a record without ID specified"); + if (getId() == null) + throw new IllegalStateException("Can not delete a record without ID specified"); } private void validateProperties() { diff --git a/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java b/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java index 3f3f65825873..91066f94edc6 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java +++ b/active-record/src/main/java/com/iluwatar/active/record/SpellCastException.java @@ -2,13 +2,14 @@ /** * Describes the exception that is raised when a spell can not be cast for some reason. - * + *

* Created by Stephen Lazarionok. */ public class SpellCastException extends Exception { /** * Create an exception with the reason provided. + * * @param message */ public SpellCastException(final String message) { diff --git a/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java b/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java index 9cfcc2f67753..5d1b806ce123 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java +++ b/active-record/src/main/java/com/iluwatar/active/record/WandCoreType.java @@ -6,10 +6,10 @@ * for wand cores can vary widely, though certain wand-makers may prefer to use certain materials; * for example, Garrick Ollivander discovered and pioneered the use of phoenix feathers, dragon heartstrings, * and unicorn tail hairs. - * + *

* Created by Stephen Lazarionok. */ public enum WandCoreType { - PHOENIX_FEATHER, DRAGON_HEARTSTRING, UNICORN_HAIR + PHOENIX_FEATHER, DRAGON_HEARTSTRING, UNICORN_HAIR } diff --git a/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java b/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java index 8f8e9f6dbae6..b353da5b1722 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java +++ b/active-record/src/main/java/com/iluwatar/active/record/WandWoodType.java @@ -2,11 +2,11 @@ /** * Describes the wood types that can be used to produce magic wands. - * + *

* "Only a minority of trees can produce wand quality wood (just as a minority of humans can produce magic). * It takes years of experience to tell which ones have the gift, although the job is made easier if Bowtruckles * are found nesting in the leaves, as they never inhabit mundane trees." @ Garrick Ollivander - * + *

* Created by Stephen Lazarionok. */ public enum WandWoodType { diff --git a/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java b/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java index 377b1b3fb0cc..e054d76d7b0b 100644 --- a/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java +++ b/active-record/src/main/java/com/iluwatar/active/record/sample/Application.java @@ -18,7 +18,7 @@ public static void main(final String[] args) throws SpellCastException { harryPotterWand.setCore(WandCoreType.PHOENIX_FEATHER); harryPotterWand.setLengthInches(11.0d); - final long wandId = harryPotterWand.save(); + final long wandId = harryPotterWand.save(); final MagicWand wand = MagicWand.find(wandId); diff --git a/active-record/src/test/java/MagicWandSpecification.java b/active-record/src/test/java/MagicWandSpecification.java index 8d1f3f1e250c..5f5b77ac9919 100644 --- a/active-record/src/test/java/MagicWandSpecification.java +++ b/active-record/src/test/java/MagicWandSpecification.java @@ -1,23 +1,21 @@ +import com.iluwatar.active.record.MagicWand; import com.iluwatar.active.record.SpellCastException; import com.iluwatar.active.record.WandCoreType; import com.iluwatar.active.record.WandWoodType; -import com.iluwatar.active.record.MagicWand; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertTrue; /** * Created by Stephen Lazarionok. */ public class MagicWandSpecification { - @Rule - public ExpectedException exception = ExpectedException.none(); + @Rule public ExpectedException exception = ExpectedException.none(); - @Test - public void shouldCastFireball_IfMagicPower10AndMore() throws SpellCastException { + @Test public void shouldCastFireball_IfMagicPower10AndMore() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); @@ -28,8 +26,7 @@ public void shouldCastFireball_IfMagicPower10AndMore() throws SpellCastException wand.castFireball(); } - @Test - public void shouldNotCastFireball_IfMagicPowerLessThan10() throws SpellCastException { + @Test public void shouldNotCastFireball_IfMagicPowerLessThan10() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); @@ -42,8 +39,7 @@ public void shouldNotCastFireball_IfMagicPowerLessThan10() throws SpellCastExcep wand.castFireball(); } - @Test - public void shouldCastLigthing_IfMagicPower20AndMore() throws SpellCastException { + @Test public void shouldCastLigthing_IfMagicPower20AndMore() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); @@ -54,8 +50,7 @@ public void shouldCastLigthing_IfMagicPower20AndMore() throws SpellCastException wand.castLighting(); } - @Test - public void shouldNotCastLigthing_IfMagicPowerLessThan20() throws SpellCastException { + @Test public void shouldNotCastLigthing_IfMagicPowerLessThan20() throws SpellCastException { final MagicWand wand = new MagicWand(); wand.setWood(WandWoodType.WINE); From c01f49bd2b11495c17d86b0599b3f01f7b3fdca6 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Mon, 31 Aug 2015 22:12:19 -0400 Subject: [PATCH 15/18] Remove the class diagram --- active-record/etc/.gitkeep | 0 active-record/etc/active-record.png | Bin 123955 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 active-record/etc/.gitkeep delete mode 100644 active-record/etc/active-record.png diff --git a/active-record/etc/.gitkeep b/active-record/etc/.gitkeep new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/active-record/etc/active-record.png b/active-record/etc/active-record.png deleted file mode 100644 index 1dd1de20ea1f2ccf13388a852967a9957536be84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123955 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

q=k9i%YpR?WksP9`DC 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 Date: Mon, 31 Aug 2015 22:18:51 -0400 Subject: [PATCH 16/18] Revert README.md --- README.md | 194 +++++------------------------------------------------- 1 file changed, 17 insertions(+), 177 deletions(-) diff --git a/README.md b/README.md index 66a1dc0a842e..19ccf64b7863 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# Design pattern samples in Java. + + +# Design pattern samples in Java [![Join the chat at https://gitter.im/iluwatar/java-design-patterns](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/iluwatar/java-design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) @@ -7,26 +11,18 @@ src="https://scan.coverity.com/projects/5634/badge.svg"/> - + + + +# Table of Contents - Introduction - - List of Design Patterns - - Creational Patterns - - Structural Patterns - - Behavioral Patterns - - Concurrency Patterns - - Presentation Tier Patterns - - Business Tier Patterns - - Architectural Patterns - - Integration Patterns - - Idioms + - How to contribute - Frequently Asked Questions - - How to contribute - - Versioning - Credits - License - -## Introduction + +# Introduction [↑](#top) Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. @@ -38,120 +34,11 @@ Reusing design patterns helps to prevent subtle issues that can cause major problems, and it also improves code readability for coders and architects who are familiar with the patterns. -## List of Design Patterns [↑](#top) -### Creational Patterns [↑](#top) - -Creational design patterns abstract the instantiation process. They help make a -system independent of how its objects are created, composed, and represented. - -* [Abstract Factory](#abstract-factory) -* [Builder](#builder) -* [Factory Method](#factory-method) -* [Prototype](#prototype) -* [Property](#property) -* [Singleton](#singleton) -* [Step Builder](#step-builder) -* [Multiton](#multiton) -* [Object Pool](#object-pool) - -### Structural Patterns [↑](#top) - -Structural patterns are concerned with how classes and objects are composed to -form larger structures. - -* [Adapter](#adapter) -* [Bridge](#bridge) -* [Composite](#composite) -* [Decorator](#decorator) -* [Facade](#facade) -* [Flyweight](#flyweight) -* [Proxy](#proxy) -* [Service Locator](#service-locator) -* [Servant](#servant) -* [Event Aggregator](#event-aggregator) - -### Behavioral Patterns [↑](#top) - -Behavioral patterns are concerned with algorithms and the assignment of -responsibilities between objects. - -* [Chain of responsibility](#chain-of-responsibility) -* [Command](#command) -* [Interpreter](#interpreter) -* [Iterator](#iterator) -* [Mediator](#mediator) -* [Memento](#memento) -* [Observer](#observer) -* [State](#state) -* [Strategy](#strategy) -* [Template method](#template-method) -* [Visitor](#visitor) -* [Null Object](#null-object) -* [Intercepting Filter](#intercepting-filter) -* [Specification](#specification) -* [Dependency Injection](#dependency-injection) - -### Concurrency Patterns [↑](#top) - -Concurrency patterns are those types of design patterns that deal with the -multi-threaded programming paradigm. - -* [Double Checked Locking](#double-checked-locking) -* [Thread Pool](#thread-pool) -* [Async Method Invocation](#async-method-invocation) -* [Half-Sync/Half-Async](#half-sync-half-async) - -### Presentation Tier Patterns [↑](#top) - -Presentation Tier patterns are the top-most level of the application, this is -concerned with translating tasks and results to something the user can -understand. - -* [Model-View-Controller](#model-view-controller) -* [Model-View-Presenter](#model-view-presenter) -* [Flux](#flux) -* [Front Controller](#front-controller) - -### Business Tier Patterns [↑](#top) - -* [Business Delegate](#business-delegate) - -### Architectural Patterns [↑](#top) - -An architectural pattern is a general, reusable solution to a commonly occurring -problem in software architecture within a given context. - -* [Data Access Object](#dao) -* [Service Layer](#service-layer) -* [Naked Objects](#naked-objects) -* [Repository](#repository) - -### Integration Patterns [↑](#top) - -Integration patterns are concerned with how software applications communicate -and exchange data. - -* [Tolerant Reader](#tolerant-reader) -* [Active Record](#active-record) - -### Idioms [↑](#top) - -A programming idiom is a means of expressing a recurring construct in one or -more programming languages. Generally speaking, a programming idiom is an -expression of a simple task, algorithm, or data structure that is not a built-in -feature in the programming language being used, or, conversely, the use of an -unusual or notable feature that is built into a programming language. What -distinguishes idioms from patterns is generally the size, the idioms tend to be -something small while the patterns are larger. - -* [Execute Around](#execute-around) -* [Poison Pill](#poison-pill) -* [Callback](#callback) -* [Lazy Loading](#lazy-loading) -* [Double Dispatch](#double-dispatch) -* [Resource Acquisition Is Initialization](#resource-acquisition-is-initialization) -* [Private Class Data](#private-class-data) +# How to contribute [↑](#top) + +If you are willing to contribute to the project you will find the relevant information in our [developer wiki](https://github.com/iluwatar/java-design-patterns/wiki). + # Frequently asked questions [↑](#top) @@ -212,53 +99,6 @@ blocked waiting for available object from the pool. This is not the case with Flyweight. - -# How to contribute [↑](#top) - -**To work on a new pattern** you need to do the following steps: - -1. If there is no issue for the new pattern yet, raise new issue. Comment on - the issue that you are working on it so that others don't start work on the - same thing. -2. Fork the repository. -3. Implement the code changes in your fork. Remember to add sufficient comments - documenting the implementation. Reference the issue id e.g. #52 in your - commit messages. -4. Create a simple class diagram from your example code. -5. Add description of the pattern in README.md and link to the class diagram. -6. Create a pull request. - -**To work on one of the non-pattern issues** you need to do the following steps: - -1. Check that the issue has "help wanted" badge -2. Comment on the issue that you are working on it -3. Fork the repository. -4. Implement the code changes in your fork. Remember to add sufficient comments - documenting the implementation. Reference the issue id e.g. #52 in your - commit messages. -5. Create a pull request. - -**For creating/editing UML diagrams** you need [ObjectAid UML Explorer for Eclipse](http://www.objectaid.com/home). - -**For inspiration** check out the following sources: - -* there is a good list of design patterns at [Wikipedia](http://en.wikipedia.org/wiki/Software_design_pattern) -* Martin Fowler's [Catalog of Patterns of Enterprise Application Architecture](http://martinfowler.com/eaaCatalog/) -* [pattern language for microservices](http://microservices.io/patterns/index.html) -* Microsoft's [Cloud Design Patterns](http://download.microsoft.com/download/B/B/6/BB69622C-AB5D-4D5F-9A12-B81B952C1169/CloudDesignPatternsBook-PDF.pdf) - -**Links to patterns applied in real world applications** are welcome. The links -should be added to the corresponding section of the `README.md`. - - -# Versioning [↑](#top) - -Java-design-patterns project uses [semantic versioning](http://semver.org/) -scheme. However, version numbers in this project do not signify binary releases -(since we don't make any) but rather milestones achieved on the roadmap. In -other words, version numbers are used only for project planning sake. - - # Credits [↑](#top) * [Design Patterns: Elements of Reusable Object-Oriented Software](http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612) @@ -286,4 +126,4 @@ other words, version numbers are used only for project planning sake. # License [↑](#top) -This project is licensed under the terms of the MIT license. +This project is licensed under the terms of the MIT license. \ No newline at end of file From ea4bf894734702edafde9171074b1f876495d763 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Mon, 31 Aug 2015 22:22:17 -0400 Subject: [PATCH 17/18] Fix readme --- active-record/index.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/active-record/index.md b/active-record/index.md index b16202e20959..b042104c58ce 100644 --- a/active-record/index.md +++ b/active-record/index.md @@ -2,16 +2,15 @@ layout: pattern title: Active Record folder: active-record -categories: pattern_cat -tags: pattern_tag +permalink: /patterns/active-record/ +categories: Architectural +tags: Java --- **Intent:** Active record is an object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. Active Record uses the most obvious approach, putting data access logic in the domain object. -![alt text](./etc/active-record.png "Active Record") - **Applicability:** Use active record pattern when * objects correspond directly to the database tables @@ -19,4 +18,4 @@ tags: pattern_tag **Real world examples:** -* [ActiveJDBC](https://en.wikipedia.org/wiki/ActiveJDBC) \ No newline at end of file +* [ActiveJDBC](https://en.wikipedia.org/wiki/ActiveJDBC) From 91294470339bcffc3200b6581c7d23ed278faf18 Mon Sep 17 00:00:00 2001 From: Stephen Lazarionok Date: Mon, 31 Aug 2015 22:25:31 -0400 Subject: [PATCH 18/18] Update the version in pom.xml --- active-record/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/active-record/pom.xml b/active-record/pom.xml index 9a09b9206bd3..7664faea109d 100644 --- a/active-record/pom.xml +++ b/active-record/pom.xml @@ -5,7 +5,7 @@ java-design-patterns com.iluwatar - 1.5.0 + 1.6.0 4.0.0 @@ -27,4 +27,4 @@ - \ No newline at end of file +