Author: sdumitriu
Date: 2008-01-10 13:26:43 +0100 (Thu, 10 Jan 2008)
New Revision: 6721

Modified:
   
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/XWikiHibernateStore.java
Log:
[cleanup] Remove unnecessary calls.


Modified: 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/XWikiHibernateStore.java
===================================================================
--- 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/XWikiHibernateStore.java
     2008-01-10 11:40:20 UTC (rev 6720)
+++ 
xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/store/XWikiHibernateStore.java
     2008-01-10 12:26:43 UTC (rev 6721)
@@ -19,6 +19,38 @@
  */
 package com.xpn.xwiki.store;
 
+import java.io.Serializable;
+import java.lang.reflect.Field;
+import java.sql.Connection;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import org.apache.commons.lang.ArrayUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.hibernate.EntityMode;
+import org.hibernate.FlushMode;
+import org.hibernate.ObjectNotFoundException;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.cfg.Settings;
+import org.hibernate.connection.ConnectionProvider;
+import org.hibernate.impl.SessionFactoryImpl;
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.Property;
+
 import com.xpn.xwiki.XWiki;
 import com.xpn.xwiki.XWikiContext;
 import com.xpn.xwiki.XWikiException;
@@ -26,35 +58,24 @@
 import com.xpn.xwiki.doc.XWikiDocument;
 import com.xpn.xwiki.doc.XWikiLink;
 import com.xpn.xwiki.doc.XWikiLock;
-import com.xpn.xwiki.doc.rcs.XWikiRCSNodeInfo;
 import com.xpn.xwiki.monitor.api.MonitorPlugin;
-import com.xpn.xwiki.objects.*;
+import com.xpn.xwiki.objects.BaseCollection;
+import com.xpn.xwiki.objects.BaseElement;
+import com.xpn.xwiki.objects.BaseObject;
+import com.xpn.xwiki.objects.BaseProperty;
+import com.xpn.xwiki.objects.LargeStringProperty;
+import com.xpn.xwiki.objects.ListProperty;
+import com.xpn.xwiki.objects.PropertyInterface;
+import com.xpn.xwiki.objects.StringProperty;
 import com.xpn.xwiki.objects.classes.BaseClass;
 import com.xpn.xwiki.objects.classes.PropertyClass;
 import com.xpn.xwiki.objects.classes.StringClass;
 import com.xpn.xwiki.objects.classes.TextAreaClass;
 import com.xpn.xwiki.render.XWikiRenderer;
 import com.xpn.xwiki.stats.impl.XWikiStats;
-import com.xpn.xwiki.store.DatabaseProduct;
 import com.xpn.xwiki.util.Util;
 import com.xpn.xwiki.web.Utils;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.*;
-import org.hibernate.cfg.Configuration;
-import org.hibernate.cfg.Settings;
-import org.hibernate.connection.ConnectionProvider;
-import org.hibernate.impl.SessionFactoryImpl;
-import org.hibernate.mapping.PersistentClass;
-import org.hibernate.mapping.Property;
 
-import java.io.Serializable;
-import java.lang.reflect.Field;
-import java.sql.Connection;
-import java.sql.Statement;
-import java.util.*;
-
 public class XWikiHibernateStore extends XWikiHibernateBaseStore implements 
XWikiStoreInterface {
 
     private static final Log log = 
LogFactory.getLog(XWikiHibernateStore.class);
@@ -73,9 +94,8 @@
     }
 
     /**
-     * Initialize the storage engine with a specific path
+     * Initialize the storage engine with a specific path.
      * This is used for tests.
-     * This is used for tests.
      * @param hibpath
      */
     public XWikiHibernateStore(String hibpath) {
@@ -233,6 +253,7 @@
             doc.setElement(XWikiDocument.HAS_OBJECTS, 
(doc.getxWikiObjects().size()!=0));
 
             // Let's update the class XML since this is the new way to store it
+            // TODO If all the properties are removed, the old xml stays?
             BaseClass bclass = doc.getxWikiClass();
             if ((bclass!=null)&&(bclass.getFieldList().size()>0)) {
                doc.setxWikiClassXML(bclass.toXMLString());
@@ -483,18 +504,6 @@
         return doc;
     }
 
-
-    private MonitorPlugin getMonitorPlugin(XWikiContext context) {
-        try {
-            if ((context==null)||(context.getWiki()==null))
-                return null;
-
-            return (MonitorPlugin) context.getWiki().getPlugin("monitor", 
context);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
     public void deleteXWikiDoc(XWikiDocument doc, XWikiContext context) throws 
XWikiException {
         boolean bTransaction = true;
         MonitorPlugin monitor  = Util.getMonitorPlugin(context);
@@ -1246,8 +1255,10 @@
                 ((XWikiAttachment)list.get(i)).setDoc(doc);
             }
             doc.setAttachmentList(list);
-            if (bTransaction)
+            if (bTransaction) {
                 endTransaction(context, false, false);
+                bTransaction = false;
+            }
         }
         catch (Exception e) {
             e.printStackTrace();
@@ -1256,8 +1267,9 @@
                     "Exception while searching attachments for documents {0}", 
e, args);
         } finally {
             try {
-                if (bTransaction)
+                if (bTransaction) {
                     endTransaction(context, false, false);
+                }
             } catch (Exception e) {}
         }
     }
@@ -1268,9 +1280,8 @@
                 checkHibernate(context);
                 bTransaction = beginTransaction(context);
             }
-            Session session = getSession(context);
+            getSession(context);
 
-
             List list = doc.getAttachmentList();
             for (int i=0;i<list.size();i++) {
                 XWikiAttachment attachment = (XWikiAttachment) list.get(i);
@@ -1278,8 +1289,10 @@
                 saveAttachment(attachment, false, context, false);
             }
 
-            if (bTransaction)
+            if (bTransaction) {
+                // The session is closed here, too.
                 endTransaction(context, true);
+            }
         }
         catch (Exception e) {
             Object[] args = { doc.getFullName() };
@@ -1789,7 +1802,6 @@
                 monitor.startTimer("hibernate", query.getQueryString());
             checkHibernate(context);
             bTransaction = beginTransaction(false, context);
-            Session session = getSession(context);
             if (start!=0)
                 query.setFirstResult(start);
             if (nb!=0)
@@ -1799,8 +1811,11 @@
             while (it.hasNext()) {
                 list.add(it.next());
             }
-            if (bTransaction)
+            if (bTransaction) {
+                // The session is closed here, too.
                 endTransaction(context, false, false);
+                bTransaction = false;
+            }
             return list;
         }
         catch (Exception e) {
@@ -1809,13 +1824,15 @@
                     "Exception while searching documents with sql {0}", e, 
args);
         } finally {
             try {
-                if (bTransaction)
+                if (bTransaction) {
                     endTransaction(context, false, false);
+                }
             } catch (Exception e) {}
 
             // End monitoring timer
-            if (monitor!=null)
+            if (monitor!=null) {
                 monitor.endTimer("hibernate");
+            }
         }
     }
 

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to