org.eclipse.jetty
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/FrontControllerServlet.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/FrontControllerServlet.java
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/FrontControllerServlet.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/FrontControllerServlet.java
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/FrontCommand.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/FrontCommand.java
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/FrontCommand.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/FrontCommand.java
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/SearchCommand.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/SearchCommand.java
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/SearchCommand.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/SearchCommand.java
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/UnknownCommand.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/UnknownCommand.java
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/UnknownCommand.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/commands/UnknownCommand.java
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookImpl.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Book.java
similarity index 75%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookImpl.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Book.java
index b270bc7985..634e05c3a0 100644
--- a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookImpl.java
+++ b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Book.java
@@ -1,45 +1,39 @@
package com.baeldung.enterprise.patterns.front.controller.data;
-public class BookImpl implements Book {
+public class Book {
private String author;
private String title;
private Double price;
- public BookImpl() {
+ public Book() {
}
- public BookImpl(String author, String title, Double price) {
+ public Book(String author, String title, Double price) {
this.author = author;
this.title = title;
this.price = price;
}
- @Override
public String getAuthor() {
return author;
}
- @Override
public void setAuthor(String author) {
this.author = author;
}
- @Override
public String getTitle() {
return title;
}
- @Override
public void setTitle(String title) {
this.title = title;
}
- @Override
public Double getPrice() {
return price;
}
- @Override
public void setPrice(Double price) {
this.price = price;
}
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Bookshelf.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Bookshelf.java
similarity index 55%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Bookshelf.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Bookshelf.java
index 1e30452d95..524e000bd9 100644
--- a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Bookshelf.java
+++ b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/Bookshelf.java
@@ -3,8 +3,8 @@ package com.baeldung.enterprise.patterns.front.controller.data;
public interface Bookshelf {
default void init() {
- add(new BookImpl("Wilson, Robert Anton & Shea, Robert", "Illuminati", 9.99));
- add(new BookImpl("Fowler, Martin", "Patterns of Enterprise Application Architecture", 27.88));
+ add(new Book("Wilson, Robert Anton & Shea, Robert", "Illuminati", 9.99));
+ add(new Book("Fowler, Martin", "Patterns of Enterprise Application Architecture", 27.88));
}
Bookshelf getInstance();
diff --git a/enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookshelfImpl.java b/patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookshelfImpl.java
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookshelfImpl.java
rename to patterns/src/main/java/com/baeldung/enterprise/patterns/front/controller/data/BookshelfImpl.java
diff --git a/enterprise-patterns/front-controller-pattern/src/main/resources/front controller.png b/patterns/src/main/resources/front controller.png
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/resources/front controller.png
rename to patterns/src/main/resources/front controller.png
diff --git a/enterprise-patterns/front-controller-pattern/src/main/resources/front controller.puml b/patterns/src/main/resources/front controller.puml
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/resources/front controller.puml
rename to patterns/src/main/resources/front controller.puml
diff --git a/enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/jsp/book-found.jsp b/patterns/src/main/webapp/WEB-INF/jsp/book-found.jsp
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/jsp/book-found.jsp
rename to patterns/src/main/webapp/WEB-INF/jsp/book-found.jsp
diff --git a/enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/jsp/book-notfound.jsp b/patterns/src/main/webapp/WEB-INF/jsp/book-notfound.jsp
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/jsp/book-notfound.jsp
rename to patterns/src/main/webapp/WEB-INF/jsp/book-notfound.jsp
diff --git a/enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/jsp/unknown.jsp b/patterns/src/main/webapp/WEB-INF/jsp/unknown.jsp
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/jsp/unknown.jsp
rename to patterns/src/main/webapp/WEB-INF/jsp/unknown.jsp
diff --git a/enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/web.xml b/patterns/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from enterprise-patterns/front-controller-pattern/src/main/webapp/WEB-INF/web.xml
rename to patterns/src/main/webapp/WEB-INF/web.xml
diff --git a/play-framework/student-api/app/controllers/AsyncController.java b/play-framework/student-api/app/controllers/AsyncController.java
index 33cd112837..92c84bb755 100644
--- a/play-framework/student-api/app/controllers/AsyncController.java
+++ b/play-framework/student-api/app/controllers/AsyncController.java
@@ -1,13 +1,17 @@
package controllers;
import akka.actor.ActorSystem;
+
import javax.inject.*;
+
import play.*;
import play.mvc.*;
+
import java.util.concurrent.Executor;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
+
import scala.concurrent.duration.Duration;
import scala.concurrent.ExecutionContextExecutor;
@@ -17,11 +21,11 @@ import scala.concurrent.ExecutionContextExecutor;
* asynchronously delay sending a response for 1 second.
*
* @param actorSystem We need the {@link ActorSystem}'s
- * {@link Scheduler} to run code after a delay.
- * @param exec We need a Java {@link Executor} to apply the result
- * of the {@link CompletableFuture} and a Scala
- * {@link ExecutionContext} so we can use the Akka {@link Scheduler}.
- * An {@link ExecutionContextExecutor} implements both interfaces.
+ * {@link Scheduler} to run code after a delay.
+ * @param exec We need a Java {@link Executor} to apply the result
+ * of the {@link CompletableFuture} and a Scala
+ * {@link ExecutionContext} so we can use the Akka {@link Scheduler}.
+ * An {@link ExecutionContextExecutor} implements both interfaces.
*/
@Singleton
public class AsyncController extends Controller {
@@ -31,14 +35,14 @@ public class AsyncController extends Controller {
@Inject
public AsyncController(ActorSystem actorSystem, ExecutionContextExecutor exec) {
- this.actorSystem = actorSystem;
- this.exec = exec;
+ this.actorSystem = actorSystem;
+ this.exec = exec;
}
/**
* An action that returns a plain text message after a delay
* of 1 second.
- *
+ *
* The configuration in the routes file means that this method
* will be called when the application receives a GET request with
* a path of /message.
@@ -50,9 +54,9 @@ public class AsyncController extends Controller {
private CompletionStage getFutureMessage(long time, TimeUnit timeUnit) {
CompletableFuture future = new CompletableFuture<>();
actorSystem.scheduler().scheduleOnce(
- Duration.create(time, timeUnit),
- () -> future.complete("Hi!"),
- exec
+ Duration.create(time, timeUnit),
+ () -> future.complete("Hi!"),
+ exec
);
return future;
}
diff --git a/play-framework/student-api/app/controllers/StudentController.java b/play-framework/student-api/app/controllers/StudentController.java
index 0adedfa432..8b759b9598 100644
--- a/play-framework/student-api/app/controllers/StudentController.java
+++ b/play-framework/student-api/app/controllers/StudentController.java
@@ -1,56 +1,63 @@
package controllers;
-import models.*;
-import util.*;
-import play.mvc.*;
-import play.libs.Json;
-import play.libs.Json.*;
-import com.fasterxml.jackson.databind.JsonNode;
+
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import java.util.List;
+import models.Student;
+import models.StudentStore;
+import play.libs.Json;
+import play.mvc.Controller;
+import play.mvc.Result;
+import util.Util;
+
+import java.util.Set;
public class StudentController extends Controller {
public Result create() {
- JsonNode json = request().body().asJson();
- if(json == null)
- return badRequest(Util.createResponse("Expecting Json data",false));
- Student student=StudentStore.getInstance().addStudent((Student)Json.fromJson(json,Student.class));
- JsonNode jsonObject=Json.toJson(student);
- return created(Util.createResponse(jsonObject,true));
- }
- public Result update() {
JsonNode json = request().body().asJson();
- if(json == null)
- return badRequest(Util.createResponse("Expecting Json data",false));
- Student student=StudentStore.getInstance().updateStudent((Student)Json.fromJson(json,Student.class));
- if(student==null){
- return notFound(Util.createResponse("Student not found",false));
- }
-
- JsonNode jsonObject=Json.toJson(student);
- return ok(Util.createResponse(jsonObject,true));
+ if (json == null) {
+ return badRequest(Util.createResponse("Expecting Json data", false));
+ }
+ Student student = StudentStore.getInstance().addStudent(Json.fromJson(json, Student.class));
+ JsonNode jsonObject = Json.toJson(student);
+ return created(Util.createResponse(jsonObject, true));
}
- public Result retrieve(int id) {
- Student student=StudentStore.getInstance().getStudent(id);
- if(student==null){
- return notFound(Util.createResponse("Student with id:"+id+" not found",false));
- }
- JsonNode jsonObjects=Json.toJson(student);
- return ok(Util.createResponse(jsonObjects,true));
- }
- public Result listStudents() {
- List result=StudentStore.getInstance().getAllStudents();
- ObjectMapper mapper = new ObjectMapper();
- JsonNode jsonData=mapper.convertValue(result, JsonNode.class);
- return ok(Util.createResponse(jsonData,true));
+ public Result update() {
+ JsonNode json = request().body().asJson();
+ if (json == null) {
+ return badRequest(Util.createResponse("Expecting Json data", false));
+ }
+ Student student = StudentStore.getInstance().updateStudent(Json.fromJson(json, Student.class));
+ if (student == null) {
+ return notFound(Util.createResponse("Student not found", false));
+ }
+
+ JsonNode jsonObject = Json.toJson(student);
+ return ok(Util.createResponse(jsonObject, true));
+ }
+
+ public Result retrieve(int id) {
+ if (StudentStore.getInstance().getStudent(id) == null) {
+ return notFound(Util.createResponse("Student with id:" + id + " not found", false));
+ }
+ JsonNode jsonObjects = Json.toJson(StudentStore.getInstance().getStudent(id));
+ return ok(Util.createResponse(jsonObjects, true));
+ }
+
+ public Result listStudents() {
+ Set result = StudentStore.getInstance().getAllStudents();
+ ObjectMapper mapper = new ObjectMapper();
+
+ JsonNode jsonData = mapper.convertValue(result, JsonNode.class);
+ return ok(Util.createResponse(jsonData, true));
}
- public Result delete(int id) {
- boolean status=StudentStore.getInstance().deleteStudent(id);
- if(!status){
- return notFound(Util.createResponse("Student with id:"+id+" not found",false));
- }
- return ok(Util.createResponse("Student with id:"+id+" deleted",true));
+
+ public Result delete(int id) {
+ if (!StudentStore.getInstance().deleteStudent(id)) {
+ return notFound(Util.createResponse("Student with id:" + id + " not found", false));
+ }
+ return ok(Util.createResponse("Student with id:" + id + " deleted", true));
}
}
diff --git a/play-framework/student-api/app/models/StudentStore.java b/play-framework/student-api/app/models/StudentStore.java
index 3290e141cd..add6a5dbd6 100644
--- a/play-framework/student-api/app/models/StudentStore.java
+++ b/play-framework/student-api/app/models/StudentStore.java
@@ -1,40 +1,39 @@
package models;
-import java.util.ArrayList;
+
import java.util.HashMap;
-import java.util.List;
+import java.util.HashSet;
import java.util.Map;
+import java.util.Set;
public class StudentStore {
private static StudentStore instance;
private Map students = new HashMap<>();
public static StudentStore getInstance() {
- if (instance == null)
+ if (instance == null) {
instance = new StudentStore();
+ }
return instance;
}
public Student addStudent(Student student) {
- int id = students.size() + 1;
+ int id = students.size();
student.setId(id);
students.put(id, student);
return student;
}
public Student getStudent(int id) {
- if (students.containsKey(id))
- return students.get(id);
- return null;
+ return students.get(id);
}
- public List getAllStudents() {
- return new ArrayList(students.values());
+ public Set getAllStudents() {
+ return new HashSet<>(students.values());
}
public Student updateStudent(Student student) {
- int id=student.getId();
+ int id = student.getId();
if (students.containsKey(id)) {
- student.setId(id);
students.put(id, student);
return student;
}
@@ -42,11 +41,6 @@ public class StudentStore {
}
public boolean deleteStudent(int id) {
-
- if (!students.containsKey(id))
- return false;
- students.remove(id);
- return true;
-
+ return students.remove(id) != null;
}
}
\ No newline at end of file
diff --git a/play-framework/student-api/app/util/Util.java b/play-framework/student-api/app/util/Util.java
index 3718b50677..a853a4cb43 100644
--- a/play-framework/student-api/app/util/Util.java
+++ b/play-framework/student-api/app/util/Util.java
@@ -1,17 +1,17 @@
package util;
-import com.fasterxml.jackson.databind.node.ObjectNode;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import play.libs.Json;
-import play.libs.Json.*;
-import com.fasterxml.jackson.databind.JsonNode;
-public class Util{
- public static ObjectNode createResponse(Object response,boolean ok){
- ObjectNode result = Json.newObject();
- result.put("isSuccessfull", ok);
- if(response instanceof String)
- result.put("body",(String)response);
- else result.put("body",(JsonNode)response);
+public class Util {
+ public static ObjectNode createResponse(Object response, boolean ok) {
+ ObjectNode result = Json.newObject();
+ result.put("isSuccessfull", ok);
+ if (response instanceof String)
+ result.put("body", (String) response);
+ else result.put("body", (JsonNode) response);
- return result;
- }
+ return result;
+ }
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 33162777b7..5526c1e2a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,15 +22,14 @@
cdi
core-java
core-java-8
+ couchbase-sdk
- couchbase-sdk-intro
- couchbase-sdk-spring-service
dozer
dependency-injection
deltaspike
- enterprise-patterns
+ patterns
feign-client
@@ -70,6 +69,7 @@
rest-assured
rest-testing
resteasy
+ okhttp
spring-all
spring-akka
@@ -80,7 +80,6 @@
spring-cucumber
spring-data-cassandra
spring-data-couchbase-2
- spring-data-couchbase-2b
spring-data-elasticsearch
spring-data-neo4j
spring-data-mongodb
@@ -91,11 +90,13 @@
spring-hibernate3
spring-hibernate4
spring-jpa
+ spring-jms
spring-katharsis
spring-mockito
spring-mvc-java
spring-mvc-no-xml
spring-mvc-xml
+ spring-mvc-tiles
spring-openid
spring-protobuf
spring-quartz
@@ -132,6 +133,7 @@
wicket
xstream
java-cassandra
+ annotations