Author: bpapez
Date: Thu Aug 16 14:33:07 2007
New Revision: 18179

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18179&repname=
=3Djahia
Log:
improvement according to PEU-58 and bug fix of MAN-15 and MAN-20

Modified:
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/Contai=
nerFactory.java
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainerUtilsDB.java
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainersBaseService.java
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainersService.java

Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/=
ContainerFactory.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/containers/ContainerFactory.java&rev=3D181=
79&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/Contai=
nerFactory.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/Contai=
nerFactory.java Thu Aug 16 14:33:07 2007
@@ -474,21 +474,14 @@
 =

                         return ctnIds;
                     } else {
+                        // EP : OPE & EKA : patch for sort by ranking
                         ctnIds =3D ServicesRegistry.getInstance ()
-                                .getJahiaContainersService ().getCtnIds (t=
rue);
+                                .getJahiaContainersService ().getCtnIds (t=
rue, resultBitSet);
 =

-                        Vector v =3D new Vector ();
-                        int size =3D ctnIds.size ();
-                        for (int i =3D 0; i < size; i++) {
-                            int ctnid =3D ((Integer) ctnIds.elementAt (i)).
-                                    intValue ();
-                            if (resultBitSet.get (ctnid)) {
-                                v.add (ctnIds.elementAt (i));
-                            }
-                        }
-                        return v;
+                        return ctnIds;
                     }
-                } catch (Throwable t) {
+                }
+                    catch (Throwable t) {
                     logger.warn (t);
                 }
             }

Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/=
JahiaContainerUtilsDB.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/containers/JahiaContainerUtilsDB.java&rev=
=3D18179&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainerUtilsDB.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainerUtilsDB.java Thu Aug 16 14:33:07 2007
@@ -18,6 +18,7 @@
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.ArrayList;
+import java.util.BitSet;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Hashtable;
@@ -25,7 +26,6 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
-import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.Vector;
 =

@@ -41,7 +41,6 @@
 import org.jahia.services.pages.ContentPage;
 import org.jahia.services.version.EntryLoadRequest;
 =

-
 /**
  * JahiaContainerUtilsDB
  *
@@ -1612,54 +1611,6 @@
         return listIDs;
     }
 =

-
-    /***
-     * gets all containers id
-     *
-     * @return       a Vector of ids
-     *
-     * @exception   throws a critical JahiaException if SQL error
-     * @exception   throws a warning JahiaException if cannot free resourc=
es
-     *
-     */
-/*    public Vector db_get_all_containers_id(JahiaLoadVersion loadVersion)
-    throws JahiaException
-    {
-        Vector result =3D new Vector();
-        Connection dbConn =3D null;
-        Statement stmt =3D null;
-        ResultSet rs =3D null;
-        JahiaField theField =3D null;
-        Integer nb_to_insert;
-        try {
-            String sqlQuery =3D "SELECT id_jahia_ctn_entries FROM jahia_ct=
n_entries";
-
-            dbConn =3D ConnectionDispenser.getConnection();
-            stmt =3D dbConn.createStatement();
-            rs =3D stmt.executeQuery(sqlQuery );
-
-            while (rs.next())
-            {
-                nb_to_insert =3D new Integer (rs.getInt("id_jahia_ctn_entr=
ies"));
-                result.addElement (nb_to_insert);
-            }
-
-        } catch (SQLException se) {
-            String errorMsg =3D "Error in db_get_all_containers_id : " + s=
e.getMessage();
-            logger.debug(errorMsg + " -> BAILING OUT", se);
-        } finally {
-            try {
-
-                if ( stmt !=3D null ) stmt.close();
-            } catch ( SQLException ex )
-                logger.debug("Cannot free resources", ex);
-            }
-        }
-
-        return result;
-    } // end db_get_all_containers_id*/
-
-
     /**
      * gets all containers id for a given site
      *
@@ -1739,9 +1690,9 @@
         try {
             String sqlQuery =3D "";
             if ( orderByRanking ){
-                sqlQuery =3D "SELECT DISTINCT id_jahia_ctn_entries, rank_j=
ahia_ctn_entries FROM jahia_ctn_entries ORDER BY rank_jahia_ctn_entries";
+                sqlQuery =3D "SELECT id_jahia_ctn_entries, rank_jahia_ctn_=
entries FROM jahia_ctn_entries GROUP BY id_jahia_ctn_entries ORDER BY min(r=
ank_jahia_ctn_entries)";
             } else {
-                sqlQuery =3D "SELECT DISTINCT id_jahia_ctn_entries FROM ja=
hia_ctn_entries";                =

+                sqlQuery =3D "SELECT id_jahia_ctn_entries FROM jahia_ctn_e=
ntries GROUP BY id_jahia_ctn_entries";                =

             }
 =

             dbConn =3D ConnectionDispenser.getConnection ();
@@ -1772,6 +1723,60 @@
     }
     =

     /**
+     * EP : OPE & EKA : patch for sort by ranking
+     * Correct version to sort a containerList without any sort defined
+     * =

+     * @param orderByRanking
+     * @param ids
+     * @return
+     * @throws JahiaException
+     */
+    public Vector db_get_all_containers_id (boolean orderByRanking, BitSet=
 ids)
+                                                throws JahiaException {
+        Vector result =3D new Vector ();
+        Connection dbConn =3D null;
+        PreparedStatement stmt =3D null;
+        ResultSet rs =3D null;
+        int nb_to_insert;
+        try {
+            String sqlQuery =3D "";
+            if ( orderByRanking ){
+                sqlQuery =3D "SELECT id_jahia_ctn_entries, rank_jahia_ctn_=
entries FROM jahia_ctn_entries GROUP BY id_jahia_ctn_entries ORDER BY min(r=
ank_jahia_ctn_entries)";
+            } else {
+                sqlQuery =3D "SELECT id_jahia_ctn_entries FROM jahia_ctn_e=
ntries GROUP BY id_jahia_ctn_entries";                =

+            }
+        =

+            dbConn =3D ConnectionDispenser.getConnection ();
+            stmt =3D dbConn.prepareStatement (sqlQuery);
+            rs =3D stmt.executeQuery ();
+        =

+            System.out.println("ids " + ids);
+            while (rs.next ()) {
+                nb_to_insert =3D rs.getInt (1);
+                if (ids.get(nb_to_insert)) {
+                    result.add (new Integer (nb_to_insert));
+                }
+            }
+        =

+        } catch (SQLException se) {
+            String errorMsg =3D "Error in db_get_all_containers_id : " + s=
e.getMessage ();
+            logger.debug (errorMsg + " -> BAILING OUT", se);
+            throw new JahiaException ("Cannot load containers from the dat=
abase",
+                    errorMsg, JahiaException.DATABASE_ERROR,
+                    JahiaException.ERROR_SEVERITY, se);
+        } finally {
+            try {
+        =

+                if (stmt !=3D null) stmt.close ();
+            } catch (SQLException ex) {
+                logger.debug ("Cannot free resources", ex);
+            }
+        }
+        =

+        return result;
+    }
+    =

+    /**
      * loads all the container list ids in a container.
      *
      * @param ctnID the container ID

Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/=
JahiaContainersBaseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/containers/JahiaContainersBaseService.java=
&rev=3D18179&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainersBaseService.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainersBaseService.java Thu Aug 16 14:33:07 2007
@@ -646,6 +646,16 @@
        return c_utils.db_get_all_containers_id(orderByRanking);
    }    =

     =

+   /**
+    * EP : OPE & EKA : patch for sort by ranking
+    * Correct version to sort a containerList without any sort defined
+    * =

+    * @see org.jahia.services.containers.JahiaContainersService#getCtnIds(=
boolean, java.util.BitSet)
+    */
+   public Vector getCtnIds(boolean orderByRanking, BitSet ids) throws Jahi=
aException {
+       return c_utils.db_get_all_containers_id(orderByRanking, ids);
+   }
+   =

     /**
      * gets all container ids for a given entryLoadRequest
      *

Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/=
JahiaContainersService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/containers/JahiaContainersService.java&rev=
=3D18179&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainersService.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/containers/JahiaC=
ontainersService.java Thu Aug 16 14:33:07 2007
@@ -13,6 +13,7 @@
 package org.jahia.services.containers;
 =

 import java.io.IOException;
+import java.util.BitSet;
 import java.util.Hashtable;
 import java.util.Map;
 import java.util.Properties;
@@ -221,7 +222,17 @@
    public abstract Vector getCtnIds(boolean orderByRanking)
        throws JahiaException;
     =

-    =

+   /**
+    * EP : OPE & EKA : patch for sort by ranking
+    * Correct version to sort a containerList without any sort defined
+    * =

+    * @param orderByRanking if true, order by container ranking
+    * @return
+    * @throws JahiaException
+    */
+   public abstract Vector getCtnIds(boolean orderByRanking, BitSet ids)
+       throws JahiaException;
+   =

     /**
      * gets all container list ids in a container.
      *

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to