You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2019/10/30 20:14:13 UTC
[juneau-petstore] 12/31: spring data added
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau-petstore.git
commit d40d8996a926c682f4368954b6b9e06288717e56
Author: rasa <fi...@gmail.com>
AuthorDate: Sat Oct 12 10:29:48 2019 +0300
spring data added
---
juneau-petstore-server/pom.xml | 6 +++-
.../main/java/org/apache/juneau/petstore/App.java | 2 ++
.../petstore/repository/OrderRepository.java | 10 ++++++
.../juneau/petstore/repository/PetRepository.java | 10 ++++++
.../juneau/petstore/repository/UserRepository.java | 14 ++++++++
.../juneau/petstore/service/PetStoreService.java | 42 ++++++++++++++--------
.../src/main/resources/META-INF/persistence.xml | 2 +-
7 files changed, 70 insertions(+), 16 deletions(-)
diff --git a/juneau-petstore-server/pom.xml b/juneau-petstore-server/pom.xml
index 362f799..8ec5361 100644
--- a/juneau-petstore-server/pom.xml
+++ b/juneau-petstore-server/pom.xml
@@ -95,7 +95,11 @@
<artifactId>xml-apis</artifactId>
<version>${xml.apis.version}</version>
</dependency>
-
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
+ <version>${springframework.version}</version>
+ </dependency>
</dependencies>
<build>
diff --git a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/App.java b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/App.java
index e79b507..b26eba7 100644
--- a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/App.java
+++ b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/App.java
@@ -15,11 +15,13 @@ package org.apache.juneau.petstore;
import org.apache.juneau.rest.springboot.JuneauRestInitializer;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
/**
* Entry point for PetStore application.
*/
@SpringBootApplication
+@EnableJpaRepositories(basePackages = "org.apache.juneau.petstore")
@SuppressWarnings("javadoc")
public class App {
diff --git a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/OrderRepository.java b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/OrderRepository.java
new file mode 100644
index 0000000..7fd1545
--- /dev/null
+++ b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/OrderRepository.java
@@ -0,0 +1,10 @@
+package org.apache.juneau.petstore.repository;
+
+import org.apache.juneau.petstore.dto.Order;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface OrderRepository extends JpaRepository <Order, Long>{
+
+}
diff --git a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/PetRepository.java b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/PetRepository.java
new file mode 100644
index 0000000..fd32831
--- /dev/null
+++ b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/PetRepository.java
@@ -0,0 +1,10 @@
+package org.apache.juneau.petstore.repository;
+
+import org.apache.juneau.petstore.dto.Pet;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface PetRepository extends JpaRepository <Pet, Long> {
+
+}
diff --git a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/UserRepository.java b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/UserRepository.java
new file mode 100644
index 0000000..76948ea
--- /dev/null
+++ b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/repository/UserRepository.java
@@ -0,0 +1,14 @@
+package org.apache.juneau.petstore.repository;
+
+
+
+import org.apache.juneau.petstore.dto.User;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface UserRepository extends JpaRepository <User, Long>{
+
+ User findByUsername(String username);
+ Long deleteByUsername(String username);
+}
diff --git a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/service/PetStoreService.java b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/service/PetStoreService.java
index ac83c4c..3e45a30 100644
--- a/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/service/PetStoreService.java
+++ b/juneau-petstore-server/src/main/java/org/apache/juneau/petstore/service/PetStoreService.java
@@ -22,8 +22,15 @@ import javax.persistence.*;
import org.apache.juneau.json.*;
import org.apache.juneau.parser.*;
import org.apache.juneau.petstore.dto.*;
-import org.apache.juneau.pojotools.*;
-import org.apache.juneau.pojotools.SearchArgs;
+import org.apache.juneau.petstore.repository.OrderRepository;
+import org.apache.juneau.petstore.repository.PetRepository;
+import org.apache.juneau.petstore.repository.UserRepository;
+//import org.apache.juneau.pojotools.*;
+//import org.apache.juneau.pojotools.SearchArgs;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+
/**
* Pet store database application.
@@ -37,6 +44,15 @@ import org.apache.juneau.pojotools.SearchArgs;
*/
public class PetStoreService extends AbstractPersistenceService {
+
+ @Autowired
+ private PetRepository petRepository;
+
+ @Autowired
+ private UserRepository userRepository;
+
+ @Autowired
+ private OrderRepository orderRepository;
//-----------------------------------------------------------------------------------------------------------------
// Initialization methods.
//-----------------------------------------------------------------------------------------------------------------
@@ -104,7 +120,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @throws IdNotFound If pet was not found.
*/
public Pet getPet(long id) throws IdNotFound {
- return find(Pet.class, id);
+ return petRepository.getOne(id);
}
/**
@@ -115,7 +131,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @throws IdNotFound If order was not found.
*/
public Order getOrder(long id) throws IdNotFound {
- return find(Order.class, id);
+ return orderRepository.getOne(id);
}
/**
@@ -128,7 +144,7 @@ public class PetStoreService extends AbstractPersistenceService {
*/
public User getUser(String username) throws InvalidUsername, IdNotFound {
assertValidUsername(username);
- return find(User.class, username);
+ return userRepository.findByUsername(username);
}
/**
@@ -137,7 +153,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @return All pets in the database.
*/
public List<Pet> getPets() {
- return query("select X from PetstorePet X", Pet.class, (SearchArgs)null, (PageArgs)null);
+ return petRepository.findAll();
}
/**
@@ -146,7 +162,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @return All orders in the database.
*/
public List<Order> getOrders() {
- return query("select X from PetstoreOrder X", Order.class, (SearchArgs)null, (PageArgs)null);
+ return orderRepository.findAll();
}
/**
@@ -155,7 +171,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @return All users in the database.
*/
public List<User> getUsers() {
- return query("select X from PetstoreUser X", User.class, (SearchArgs)null, (PageArgs)null);
+ return userRepository.findAll();
}
/**
@@ -165,6 +181,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @return a new {@link Pet} object.
*/
public Pet create(CreatePet c) {
+
return merge(new Pet().status(PetStatus.AVAILABLE).apply(c));
}
@@ -233,8 +250,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @throws IdNotFound Pet was not found.
*/
public void removePet(long id) throws IdNotFound {
- EntityManager em = getEntityManager();
- remove(em, find(em, Pet.class, id));
+ petRepository.deleteById(id);
}
/**
@@ -244,8 +260,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @throws IdNotFound Order was not found.
*/
public void removeOrder(long id) throws IdNotFound {
- EntityManager em = getEntityManager();
- remove(em, find(em, Order.class, id));
+ orderRepository.deleteById(id);
}
/**
@@ -255,8 +270,7 @@ public class PetStoreService extends AbstractPersistenceService {
* @throws IdNotFound User was not found.
*/
public void removeUser(String username) throws IdNotFound {
- EntityManager em = getEntityManager();
- remove(em, find(em, User.class, username));
+ userRepository.deleteByUsername(username);
}
/**
diff --git a/juneau-petstore-server/src/main/resources/META-INF/persistence.xml b/juneau-petstore-server/src/main/resources/META-INF/persistence.xml
index 8db6a41..74ea1a9 100644
--- a/juneau-petstore-server/src/main/resources/META-INF/persistence.xml
+++ b/juneau-petstore-server/src/main/resources/META-INF/persistence.xml
@@ -26,7 +26,7 @@
<property name="javax.persistence.jdbc.user" value="" />
<property name="javax.persistence.jdbc.password" value="" />
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect" />
- <property name="hibernate.hbm2ddl.auto" value="create-drop" />
+ <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
<property name="show_sql" value="true" />
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
</properties>