more functionality in StorageService and creation of TopicService
[mir.git] / source / mir / core / service / storage / StorageService.java
index 32043b5..03b9ad4 100755 (executable)
@@ -48,7 +48,7 @@ import net.sf.hibernate.expression.Order;
  * 
  * StorageService
  * @author idefix
- * @version $Id: StorageService.java,v 1.6 2003/09/18 21:39:42 idfx Exp $
+ * @version $Id: StorageService.java,v 1.7 2003/09/30 19:27:10 idfx Exp $
  */
 public abstract class StorageService {
        private final int defaultLimit;
@@ -138,6 +138,37 @@ public abstract class StorageService {
                        throw new StorageServiceFailure(e);
                }
        }
+
+       /**
+        * Load a list of Objects from the database
+        * @return a list of Objects
+        */
+       public List list() {
+               try {
+                       Session session = null;
+                       Transaction transaction = null;
+                       try {
+                               session = sessionHolder.currentSession();
+                               transaction = session.beginTransaction();
+                               Criteria criteria = session.createCriteria(objectClass);
+                               List returnList = criteria.list();
+                               transaction.commit();
+                               return returnList;
+                       } catch (HibernateException e) {
+                               if(transaction != null){
+                                       transaction.rollback();
+                               }
+                               throw new StorageServiceFailure(e);
+                       } finally {
+                               if (session != null) {
+                                       sessionHolder.closeSession();
+                               }
+                       }
+               } catch (Exception e){
+                       throw new StorageServiceFailure(e);
+               }
+       }
+
        
        /**
         * Load a Object with the given unique identifier