From 8ecdee44c81793d31dff68fe97de05b7489b9778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Tue, 5 Nov 2019 17:38:05 +0200 Subject: [PATCH] #1021 Checkstyle fixes for Layers --- .../main/java/com/iluwatar/layers/App.java | 64 +++++++++---------- .../main/java/com/iluwatar/layers/Cake.java | 4 +- .../iluwatar/layers/CakeBakingException.java | 7 +- .../iluwatar/layers/CakeBakingService.java | 16 ++--- .../layers/CakeBakingServiceImpl.java | 7 +- .../java/com/iluwatar/layers/CakeDao.java | 4 +- .../java/com/iluwatar/layers/CakeInfo.java | 10 ++- .../java/com/iluwatar/layers/CakeLayer.java | 7 +- .../com/iluwatar/layers/CakeLayerDao.java | 4 +- .../com/iluwatar/layers/CakeLayerInfo.java | 8 +-- .../java/com/iluwatar/layers/CakeTopping.java | 7 +- .../com/iluwatar/layers/CakeToppingDao.java | 4 +- .../com/iluwatar/layers/CakeToppingInfo.java | 11 ++-- .../com/iluwatar/layers/CakeViewImpl.java | 4 +- .../main/java/com/iluwatar/layers/View.java | 4 +- 15 files changed, 69 insertions(+), 92 deletions(-) diff --git a/layers/src/main/java/com/iluwatar/layers/App.java b/layers/src/main/java/com/iluwatar/layers/App.java index a4e0a4ab2..1c5da2d9d 100644 --- a/layers/src/main/java/com/iluwatar/layers/App.java +++ b/layers/src/main/java/com/iluwatar/layers/App.java @@ -26,32 +26,32 @@ package com.iluwatar.layers; import java.util.List; /** - * - * Layers is an architectural style where software responsibilities are divided among the different layers of the - * application. - *

- * This example demonstrates a traditional 3-layer architecture consisting of data access layer, business layer and - * presentation layer. - *

- * The data access layer is formed of Spring Data repositories CakeDao, CakeToppingDao and - * CakeLayerDao. The repositories can be used for CRUD operations on cakes, cake toppings and cake layers - * respectively. - *

- * The business layer is built on top of the data access layer. CakeBakingService offers methods to - * retrieve available cake toppings and cake layers and baked cakes. Also the service is used to create new cakes out of - * cake toppings and cake layers. - *

- * The presentation layer is built on the business layer and in this example it simply lists the cakes that have been - * baked. - *

- * We have applied so called strict layering which means that the layers can only access the classes directly beneath - * them. This leads the solution to create an additional set of DTOs ( CakeInfo, - * CakeToppingInfo, CakeLayerInfo) to translate data between layers. In other words, - * CakeBakingService cannot return entities ( Cake, CakeTopping, - * CakeLayer) directly since these reside on data access layer but instead translates these into business - * layer DTOs (CakeInfo, CakeToppingInfo, CakeLayerInfo) and returns them - * instead. This way the presentation layer does not have any knowledge of other layers than the business layer and thus - * is not affected by changes to them. + * Layers is an architectural style where software responsibilities are divided among the + * different layers of the application. + * + *

This example demonstrates a traditional 3-layer architecture consisting of data access + * layer, business layer and presentation layer. + * + *

The data access layer is formed of Spring Data repositories CakeDao, + * CakeToppingDao and CakeLayerDao. The repositories can be used + * for CRUD operations on cakes, cake toppings and cake layers respectively. + * + *

The business layer is built on top of the data access layer. CakeBakingService + * offers methods to retrieve available cake toppings and cake layers and baked cakes. Also the + * service is used to create new cakes out of cake toppings and cake layers. + * + *

The presentation layer is built on the business layer and in this example it simply lists + * the cakes that have been baked. + * + *

We have applied so called strict layering which means that the layers can only access the + * classes directly beneath them. This leads the solution to create an additional set of DTOs + * ( CakeInfo, CakeToppingInfo, CakeLayerInfo) to translate + * data between layers. In other words, CakeBakingService cannot return entities + * ( Cake, CakeTopping, CakeLayer) directly since these + * reside on data access layer but instead translates these into business layer DTOs + * (CakeInfo, CakeToppingInfo, CakeLayerInfo) and returns + * them instead. This way the presentation layer does not have any knowledge of other layers than + * the business layer and thus is not affected by changes to them. * * @see Cake * @see CakeTopping @@ -70,7 +70,7 @@ public class App { private static CakeBakingService cakeBakingService = new CakeBakingServiceImpl(); /** - * Application entry point + * Application entry point. * * @param args Command line parameters */ @@ -85,7 +85,7 @@ public class App { } /** - * Initializes the example data + * Initializes the example data. */ private static void initializeData(CakeBakingService cakeBakingService) { cakeBakingService.saveNewLayer(new CakeLayerInfo("chocolate", 1200)); @@ -108,10 +108,10 @@ public class App { } catch (CakeBakingException e) { e.printStackTrace(); } - CakeInfo cake2 = - new CakeInfo(new CakeToppingInfo("cherry", 0), List.of( - new CakeLayerInfo("vanilla", 0), new CakeLayerInfo("lemon", 0), new CakeLayerInfo( - "strawberry", 0))); + CakeInfo cake2 = new CakeInfo(new CakeToppingInfo("cherry", 0), List.of( + new CakeLayerInfo("vanilla", 0), + new CakeLayerInfo("lemon", 0), + new CakeLayerInfo("strawberry", 0))); try { cakeBakingService.bakeNewCake(cake2); } catch (CakeBakingException e) { diff --git a/layers/src/main/java/com/iluwatar/layers/Cake.java b/layers/src/main/java/com/iluwatar/layers/Cake.java index 3f866974c..ee1139a23 100644 --- a/layers/src/main/java/com/iluwatar/layers/Cake.java +++ b/layers/src/main/java/com/iluwatar/layers/Cake.java @@ -35,9 +35,7 @@ import javax.persistence.OneToMany; import javax.persistence.OneToOne; /** - * - * Cake entity - * + * Cake entity. */ @Entity public class Cake { diff --git a/layers/src/main/java/com/iluwatar/layers/CakeBakingException.java b/layers/src/main/java/com/iluwatar/layers/CakeBakingException.java index 0c6607b05..32ff30701 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeBakingException.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeBakingException.java @@ -24,15 +24,14 @@ package com.iluwatar.layers; /** - * - * Custom exception used in cake baking - * + * Custom exception used in cake baking. */ public class CakeBakingException extends Exception { private static final long serialVersionUID = 1L; - public CakeBakingException() {} + public CakeBakingException() { + } public CakeBakingException(String message) { super(message); diff --git a/layers/src/main/java/com/iluwatar/layers/CakeBakingService.java b/layers/src/main/java/com/iluwatar/layers/CakeBakingService.java index 2bface968..31eaef83b 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeBakingService.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeBakingService.java @@ -26,39 +26,37 @@ package com.iluwatar.layers; import java.util.List; /** - * - * Service for cake baking operations - * + * Service for cake baking operations. */ public interface CakeBakingService { /** - * Bakes new cake according to parameters + * Bakes new cake according to parameters. */ void bakeNewCake(CakeInfo cakeInfo) throws CakeBakingException; /** - * Get all cakes + * Get all cakes. */ List getAllCakes(); /** - * Store new cake topping + * Store new cake topping. */ void saveNewTopping(CakeToppingInfo toppingInfo); /** - * Get available cake toppings + * Get available cake toppings. */ List getAvailableToppings(); /** - * Add new cake layer + * Add new cake layer. */ void saveNewLayer(CakeLayerInfo layerInfo); /** - * Get available cake layers + * Get available cake layers. */ List getAvailableLayers(); } diff --git a/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java b/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java index 4b48b7345..ac4c11c06 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeBakingServiceImpl.java @@ -37,9 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** - * - * Implementation of CakeBakingService - * + * Implementation of CakeBakingService. */ @Service @Transactional @@ -73,7 +71,8 @@ public class CakeBakingServiceImpl implements CakeBakingService { } } CakeToppingDao toppingBean = context.getBean(CakeToppingDao.class); - Optional topping = toppingBean.findById(matchingToppings.iterator().next().getId()); + Optional topping = toppingBean.findById( + matchingToppings.iterator().next().getId()); CakeDao cakeBean = context.getBean(CakeDao.class); if (topping.isPresent()) { Cake cake = new Cake(); diff --git a/layers/src/main/java/com/iluwatar/layers/CakeDao.java b/layers/src/main/java/com/iluwatar/layers/CakeDao.java index 3128fe973..70071a21c 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeDao.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeDao.java @@ -27,9 +27,7 @@ import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; /** - * - * CRUD repository for cakes - * + * CRUD repository for cakes. */ @Repository public interface CakeDao extends CrudRepository { diff --git a/layers/src/main/java/com/iluwatar/layers/CakeInfo.java b/layers/src/main/java/com/iluwatar/layers/CakeInfo.java index 3957dbeda..6d8f1c83d 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeInfo.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeInfo.java @@ -27,9 +27,7 @@ import java.util.List; import java.util.Optional; /** - * - * DTO for cakes - * + * DTO for cakes. */ public class CakeInfo { @@ -38,7 +36,7 @@ public class CakeInfo { public final List cakeLayerInfos; /** - * Constructor + * Constructor. */ public CakeInfo(Long id, CakeToppingInfo cakeToppingInfo, List cakeLayerInfos) { this.id = Optional.of(id); @@ -47,7 +45,7 @@ public class CakeInfo { } /** - * Constructor + * Constructor. */ public CakeInfo(CakeToppingInfo cakeToppingInfo, List cakeLayerInfos) { this.id = Optional.empty(); @@ -56,7 +54,7 @@ public class CakeInfo { } /** - * Calculate calories + * Calculate calories. */ public int calculateTotalCalories() { int total = cakeToppingInfo != null ? cakeToppingInfo.calories : 0; diff --git a/layers/src/main/java/com/iluwatar/layers/CakeLayer.java b/layers/src/main/java/com/iluwatar/layers/CakeLayer.java index 5fed0db22..3f09c8d77 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeLayer.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeLayer.java @@ -30,9 +30,7 @@ import javax.persistence.Id; import javax.persistence.ManyToOne; /** - * - * CakeLayer entity - * + * CakeLayer entity. */ @Entity public class CakeLayer { @@ -48,7 +46,8 @@ public class CakeLayer { @ManyToOne(cascade = CascadeType.ALL) private Cake cake; - public CakeLayer() {} + public CakeLayer() { + } public CakeLayer(String name, int calories) { this.setName(name); diff --git a/layers/src/main/java/com/iluwatar/layers/CakeLayerDao.java b/layers/src/main/java/com/iluwatar/layers/CakeLayerDao.java index 15d35c0df..d8ea05ab0 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeLayerDao.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeLayerDao.java @@ -27,9 +27,7 @@ import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; /** - * - * CRUD repository for cake layers - * + * CRUD repository for cake layers. */ @Repository public interface CakeLayerDao extends CrudRepository { diff --git a/layers/src/main/java/com/iluwatar/layers/CakeLayerInfo.java b/layers/src/main/java/com/iluwatar/layers/CakeLayerInfo.java index 692cf6c44..60f70aa76 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeLayerInfo.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeLayerInfo.java @@ -26,9 +26,7 @@ package com.iluwatar.layers; import java.util.Optional; /** - * - * DTO for cake layers - * + * DTO for cake layers. */ public class CakeLayerInfo { @@ -37,7 +35,7 @@ public class CakeLayerInfo { public final int calories; /** - * Constructor + * Constructor. */ public CakeLayerInfo(Long id, String name, int calories) { this.id = Optional.of(id); @@ -46,7 +44,7 @@ public class CakeLayerInfo { } /** - * Constructor + * Constructor. */ public CakeLayerInfo(String name, int calories) { this.id = Optional.empty(); diff --git a/layers/src/main/java/com/iluwatar/layers/CakeTopping.java b/layers/src/main/java/com/iluwatar/layers/CakeTopping.java index d49fd5072..b4b057dd0 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeTopping.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeTopping.java @@ -30,9 +30,7 @@ import javax.persistence.Id; import javax.persistence.OneToOne; /** - * - * CakeTopping entity - * + * CakeTopping entity. */ @Entity public class CakeTopping { @@ -48,7 +46,8 @@ public class CakeTopping { @OneToOne(cascade = CascadeType.ALL) private Cake cake; - public CakeTopping() {} + public CakeTopping() { + } public CakeTopping(String name, int calories) { this.setName(name); diff --git a/layers/src/main/java/com/iluwatar/layers/CakeToppingDao.java b/layers/src/main/java/com/iluwatar/layers/CakeToppingDao.java index 5ae63e345..e9931785e 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeToppingDao.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeToppingDao.java @@ -27,9 +27,7 @@ import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; /** - * - * CRUD repository cake toppings - * + * CRUD repository cake toppings. */ @Repository public interface CakeToppingDao extends CrudRepository { diff --git a/layers/src/main/java/com/iluwatar/layers/CakeToppingInfo.java b/layers/src/main/java/com/iluwatar/layers/CakeToppingInfo.java index dc138778a..eee28601c 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeToppingInfo.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeToppingInfo.java @@ -26,9 +26,7 @@ package com.iluwatar.layers; import java.util.Optional; /** - * - * DTO for cake toppings - * + * DTO for cake toppings. */ public class CakeToppingInfo { @@ -37,7 +35,7 @@ public class CakeToppingInfo { public final int calories; /** - * Constructor + * Constructor. */ public CakeToppingInfo(Long id, String name, int calories) { this.id = Optional.of(id); @@ -46,7 +44,7 @@ public class CakeToppingInfo { } /** - * Constructor + * Constructor. */ public CakeToppingInfo(String name, int calories) { this.id = Optional.empty(); @@ -56,6 +54,7 @@ public class CakeToppingInfo { @Override public String toString() { - return String.format("CakeToppingInfo id=%d name=%s calories=%d", id.orElse(-1L), name, calories); + return String.format("CakeToppingInfo id=%d name=%s calories=%d", + id.orElse(-1L), name, calories); } } diff --git a/layers/src/main/java/com/iluwatar/layers/CakeViewImpl.java b/layers/src/main/java/com/iluwatar/layers/CakeViewImpl.java index 67c409793..934096673 100644 --- a/layers/src/main/java/com/iluwatar/layers/CakeViewImpl.java +++ b/layers/src/main/java/com/iluwatar/layers/CakeViewImpl.java @@ -27,9 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * - * View implementation for displaying cakes - * + * View implementation for displaying cakes. */ public class CakeViewImpl implements View { diff --git a/layers/src/main/java/com/iluwatar/layers/View.java b/layers/src/main/java/com/iluwatar/layers/View.java index e2456d524..14ab91f03 100644 --- a/layers/src/main/java/com/iluwatar/layers/View.java +++ b/layers/src/main/java/com/iluwatar/layers/View.java @@ -24,9 +24,7 @@ package com.iluwatar.layers; /** - * - * View interface - * + * View interface. */ public interface View {