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 <[email protected]>
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>

Reply via email to