Browse Source

add correct fortune repo

Nick Kasvosve 10 years ago
parent
commit
e50948b260

+ 2 - 2
frameworks/Java/beyondj/beyondj-data-loader/src/main/resources/beyondj-data-loader-jpa-spring-config.xml

@@ -80,11 +80,11 @@
         <property name="password" value="${system.jdbc.password}"/>
     </bean>
 
-    <bean  id="fortuneRepository" class="com.techempower.beyondj.repository.FortuneRepositoryImpl">
+    <bean  id="fortuneRepository" class="com.techempower.beyondj.repository.FortuneRepository">
         <property name="sessionFactory" ref="sessionFactory"/>
     </bean>
 
-    <bean  id="worldRepositoryImpl" class="com.techempower.beyondj.repository.WorldRepositoryImpl">
+    <bean  id="worldRepositoryImpl" class="com.techempower.beyondj.repository.WorldRepository">
         <property name="sessionFactory" ref="sessionFactory"/>
     </bean>
 

+ 31 - 2
frameworks/Java/beyondj/beyondj-data/src/main/java/com/techempower/beyondj/repository/FortuneRepository.java

@@ -1,7 +1,36 @@
 package com.techempower.beyondj.repository;
 
 import com.techempower.beyondj.domain.Fortune;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.transaction.annotation.Transactional;
 
-public interface FortuneRepository extends CrudRepository<Fortune, Integer> {
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import java.util.List;
+
+public class FortuneRepository {
+
+    @PersistenceContext
+    private EntityManager entityManager;
+
+    public Fortune findOne(Integer id) {
+        return entityManager.find(Fortune.class, id);
+    }
+
+    public long count() {
+        CriteriaBuilder qb = entityManager.getCriteriaBuilder();
+        CriteriaQuery<Long> cq = qb.createQuery(Long.class);
+        cq.select(qb.count(cq.from(Fortune.class)));
+        return entityManager.createQuery(cq).getSingleResult();
+    }
+
+    public List<Fortune> findAll() {
+        return entityManager.createQuery("Select t from " + Fortune.class.getSimpleName() + " t").getResultList();
+    }
+
+    @Transactional
+    public void save(Fortune obj) {
+        entityManager.merge(obj);
+    }
 }

+ 31 - 2
frameworks/Java/beyondj/beyondj-data/src/main/java/com/techempower/beyondj/repository/WorldRepository.java

@@ -1,7 +1,36 @@
 package com.techempower.beyondj.repository;
 
 import com.techempower.beyondj.domain.World;
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.transaction.annotation.Transactional;
 
-public interface WorldRepository extends CrudRepository<World, Integer>{
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import java.util.List;
+
+public class WorldRepository {
+
+    @PersistenceContext
+    private EntityManager entityManager;
+
+    public World findOne(Integer id) {
+        return entityManager.find(World.class, id);
+    }
+
+    public long count() {
+        CriteriaBuilder qb = entityManager.getCriteriaBuilder();
+        CriteriaQuery<Long> cq = qb.createQuery(Long.class);
+        cq.select(qb.count(cq.from(World.class)));
+        return entityManager.createQuery(cq).getSingleResult();
+    }
+
+    public List<World> findAll() {
+        return entityManager.createQuery("Select t from " + World.class.getSimpleName() + " t").getResultList();
+    }
+
+    @Transactional
+    public void save(World obj) {
+        entityManager.merge(obj);
+    }
 }

+ 0 - 39
frameworks/Java/beyondj/beyondj-data/src/main/java/com/techempower/beyondj/repository/WorldRepositoryImpl.java

@@ -1,39 +0,0 @@
-package com.techempower.beyondj.repository;
-
-import com.techempower.beyondj.domain.World;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import java.util.List;
-
-public class WorldRepositoryImpl { //implements WorldRepository {
-
-    @PersistenceContext
-    private EntityManager entityManager;
-
-    //@Override
-    public World findOne(Integer id) {
-        return entityManager.find(World.class, id);
-    }
-
-    //@Override
-    public long count() {
-        CriteriaBuilder qb = entityManager.getCriteriaBuilder();
-        CriteriaQuery<Long> cq = qb.createQuery(Long.class);
-        cq.select(qb.count(cq.from(World.class)));
-        return entityManager.createQuery(cq).getSingleResult();
-    }
-
-    public List<World> findAll() {
-        return entityManager.createQuery("Select t from " + World.class.getSimpleName() + " t").getResultList();
-    }
-
-    //@Override
-    @Transactional
-    public void save(World obj) {
-        entityManager.merge(obj);
-    }
-}

+ 1 - 12
frameworks/Java/beyondj/beyondj-service/src/main/java/com/techempower/beyondj/action/FortuneActionBean.java

@@ -1,13 +1,9 @@
 package com.techempower.beyondj.action;
 
-import com.techempower.beyondj.ApplicationContextProvider;
 import com.techempower.beyondj.domain.Fortune;
 import com.techempower.beyondj.repository.FortuneRepository;
-import com.techempower.beyondj.repository.WorldRepository;
 import net.sourceforge.stripes.action.*;
 import net.sourceforge.stripes.integration.spring.SpringBean;
-import net.sourceforge.stripes.validation.ValidationMethod;
-import net.sourceforge.stripes.validation.ValidationState;
 
 import java.util.*;
 
@@ -37,15 +33,8 @@ public class FortuneActionBean extends BaseActionBean {
         return fortunes;
     }
 
-    @ValidationMethod(when = ValidationState.ALWAYS)
-    public void validateRepository() {
-        fortuneRepository = (FortuneRepository) applicationContextProvider.getApplicationContext().getBean(FORTUNE_REPOSITORY);
-    }
-
-    private FortuneRepository fortuneRepository;
-
     @SpringBean
-    private ApplicationContextProvider applicationContextProvider;
+    private FortuneRepository fortuneRepository;
 
     public static final String FORTUNES = "fortunes";
     public static final String JSP = "/WEB-INF/templates/fortunes.jsp";

+ 5 - 27
frameworks/Java/beyondj/beyondj-service/src/main/java/com/techempower/beyondj/action/WorldDatabaseActionBean.java

@@ -6,15 +6,12 @@ import com.techempower.beyondj.ApplicationContextProvider;
 import com.techempower.beyondj.Common;
 import com.techempower.beyondj.domain.World;
 import com.techempower.beyondj.repository.WorldRepository;
-import com.techempower.beyondj.repository.WorldRepositoryImpl;
 import net.sourceforge.stripes.action.DefaultHandler;
 import net.sourceforge.stripes.action.HandlesEvent;
 import net.sourceforge.stripes.action.Resolution;
 import net.sourceforge.stripes.action.UrlBinding;
 import net.sourceforge.stripes.integration.spring.SpringBean;
 import net.sourceforge.stripes.validation.Validate;
-import net.sourceforge.stripes.validation.ValidationMethod;
-import net.sourceforge.stripes.validation.ValidationState;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.stripesrest.JsonResolution;
@@ -36,7 +33,7 @@ public class WorldDatabaseActionBean extends BaseActionBean {
     public Resolution queryOne() {
 
         final Random random = ThreadLocalRandom.current();
-        World world = worldRepositoryImpl.findOne(random.nextInt(DB_ROWS) + 1);
+        World world = worldRepository.findOne(random.nextInt(DB_ROWS) + 1);
         Gson gson = new GsonBuilder()
                 .enableComplexMapKeySerialization()
                 .serializeNulls()
@@ -64,7 +61,7 @@ public class WorldDatabaseActionBean extends BaseActionBean {
                             new Callable<World>() {
                                 @Override
                                 public World call() throws Exception {
-                                    return (World) worldRepositoryImpl.findOne(
+                                    return (World) worldRepository.findOne(
                                             ThreadLocalRandom.current().nextInt(DB_ROWS) + 1);
                                 }
                             }));
@@ -109,9 +106,9 @@ public class WorldDatabaseActionBean extends BaseActionBean {
                         @Transactional(propagation = Propagation.REQUIRES_NEW)
                         public World call() throws Exception {
                             Random random = ThreadLocalRandom.current();
-                            World world = (World) worldRepositoryImpl.findOne(random.nextInt(DB_ROWS) + 1);
+                            World world = (World) worldRepository.findOne(random.nextInt(DB_ROWS) + 1);
                             world.setRandomNumber(random.nextInt(DB_ROWS) + 1);
-                            worldRepositoryImpl.save(world);
+                            worldRepository.save(world);
                             return world;
                         }
                     }));
@@ -163,33 +160,14 @@ public class WorldDatabaseActionBean extends BaseActionBean {
         return queriesValue;
     }
 
-    @ValidationMethod(when = ValidationState.ALWAYS)
-    public void validateRepository() {
-
-        String[] beanNames = applicationContextProvider.getApplicationContext().getBeanDefinitionNames();
-
-        for (String beanName : beanNames) {
-
-            System.out.println(beanName + " : " + applicationContextProvider.getApplicationContext().getBean(beanName).getClass().toString());
-        }
-       // worldRepository = (WorldRepository) applicationContextProvider.getApplicationContext().getBean(WORLD_REPOSITORY);
-    }
-
     private static final int DB_ROWS = 10000;
 
-    //private WorldRepository worldRepository;
-
     @SpringBean
-    private WorldRepositoryImpl worldRepositoryImpl;
-
-    @SpringBean
-    private ApplicationContextProvider applicationContextProvider;
+    private WorldRepository worldRepository;
 
     private static final String DB = "db";
     private static final String QUERIES = "queries";
     private static final String UPDATES = "updates";
     public static final String CONTENT_LENGTH = "Content-Length";
-    public static final String WORLD_REPOSITORY = "worldRepositoryImpl";
-
 }
 

+ 2 - 1
frameworks/Java/beyondj/beyondj-service/src/main/resources/beyondj-service-jpa-spring-config.xml

@@ -88,7 +88,8 @@
 
     <bean id="applicationContextProvider" class="com.techempower.beyondj.ApplicationContextProvider"/>
 
-    <bean  id="worldRepositoryImpl" class="com.techempower.beyondj.repository.WorldRepositoryImpl"/>
+    <bean  id="worldRepository" class="com.techempower.beyondj.repository.WorldRepository"/>
+    <bean  id="fortuneRepository" class="com.techempower.beyondj.repository.FortuneRepository"/>
 
 </beans>