Author: bpapez
Date: Mon Dec 17 19:36:30 2007
New Revision: 19377

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19377&repname=
=3Djahia
Log:
Refactor StagedContainerFilterByContainerDefinition to use Hibernate and fi=
x visibility issue in superclass and getting of a Boolean

Modified:
    trunk/core/src/java/org/jahia/data/containers/ContainerFilterByContaine=
rDefinition.java
    trunk/core/src/java/org/jahia/data/containers/ContainerMetadataSorterBe=
an.java
    trunk/core/src/java/org/jahia/data/containers/StagedContainerFilterByCo=
ntainerDefinition.java

Modified: trunk/core/src/java/org/jahia/data/containers/ContainerFilterByCo=
ntainerDefinition.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/containers/ContainerFilterByContainerDefinition.java&rev=3D19=
377&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
--- trunk/core/src/java/org/jahia/data/containers/ContainerFilterByContaine=
rDefinition.java (original)
+++ trunk/core/src/java/org/jahia/data/containers/ContainerFilterByContaine=
rDefinition.java Mon Dec 17 19:36:30 2007
@@ -54,7 +54,7 @@
     public static final String VERSION_ID =3D "version_id";
     public static final String WORKFLOW_STATE =3D "workflow_state";
 =

-    private EntryLoadRequest entryLoadRequest =3D EntryLoadRequest.CURRENT;
+    protected EntryLoadRequest entryLoadRequest =3D EntryLoadRequest.CURRE=
NT;
 =

     private String containerDefinitionName;
 =


Modified: trunk/core/src/java/org/jahia/data/containers/ContainerMetadataSo=
rterBean.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/containers/ContainerMetadataSorterBean.java&rev=3D19377&repna=
me=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
--- trunk/core/src/java/org/jahia/data/containers/ContainerMetadataSorterBe=
an.java (original)
+++ trunk/core/src/java/org/jahia/data/containers/ContainerMetadataSorterBe=
an.java Mon Dec 17 19:36:30 2007
@@ -336,7 +336,7 @@
         ApplicationContext context =3D SpringContextSingleton.getInstance(=
).getContext();
         JahiaContainerManager containerMgr =3D (JahiaContainerManager) con=
text.getBean(JahiaContainerManager.class.getName());
         List ctnIds =3D containerMgr.getSortedContainerIds(new Integer(thi=
s.ctnListID),new Integer(this.siteId),
-                new Boolean(siteLevel),containerDefinitionName, fieldName,=
 this.entryLoadRequest,false,false,
+                Boolean.valueOf(siteLevel),containerDefinitionName, fieldN=
ame, this.entryLoadRequest,false,false,
                 this.ASC_Ordering);
         Vector v =3D new Vector();
         if ( ctnIds !=3D null && !ctnIds.isEmpty() ){

Modified: trunk/core/src/java/org/jahia/data/containers/StagedContainerFilt=
erByContainerDefinition.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/data/containers/StagedContainerFilterByContainerDefinition.java&re=
v=3D19377&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
--- trunk/core/src/java/org/jahia/data/containers/StagedContainerFilterByCo=
ntainerDefinition.java (original)
+++ trunk/core/src/java/org/jahia/data/containers/StagedContainerFilterByCo=
ntainerDefinition.java Mon Dec 17 19:36:30 2007
@@ -18,10 +18,14 @@
 package org.jahia.data.containers;
 =

 import java.util.BitSet;
+import java.util.Iterator;
+import java.util.List;
 =

 import org.jahia.exceptions.JahiaException;
+import org.jahia.hibernate.manager.JahiaContainerManager;
+import org.jahia.hibernate.manager.SpringContextSingleton;
 import org.jahia.services.version.EntryLoadRequest;
-import org.jahia.utils.JahiaTools;
+import org.springframework.context.ApplicationContext;
 =

 /**
  * Retrieves the unpublished container IDs in the site by the container
@@ -32,8 +36,6 @@
 public class StagedContainerFilterByContainerDefinition extends
         ContainerFilterByContainerDefinition {
 =

-    private int siteId;
-
     /**
      * Initializes an instance of this class.
      * =

@@ -45,44 +47,48 @@
     public StagedContainerFilterByContainerDefinition(
             String containerDefinitionName, int siteId) {
         super(containerDefinitionName, EntryLoadRequest.STAGED);
-        this.siteId =3D siteId;
-    }
-
-    public BitSet doFilter() throws JahiaException {
-        return super.doFilterBySite(siteId, getContainerDefinitionName(), =
0);
-    }
-
-    public BitSet doFilter(int ctnListID) throws JahiaException {
-        throw new UnsupportedOperationException(
-                "Method is not supported. Use doFilter() instead.");
-    }
-
-    public BitSet doFilterBySite(int siteId, String containerDefinitionNam=
e,
-            int listId) throws JahiaException {
-        throw new UnsupportedOperationException(
-                "Method is not supported. Use doFilter() instead.");
     }
-
-    public String getSelectBySiteID(int siteId, String containerDefinition=
Name,
-            boolean ignoreLang) {
-        StringBuffer buff =3D new StringBuffer(256);
-        buff.append("SELECT DISTINCT id_jahia_ctn_entries,workflow_state"
-                + " FROM jahia_ctn_entries a, jahia_ctn_def b WHERE "
-                + WORKFLOW_STATE + "=3D"
-                + EntryLoadRequest.STAGING_WORKFLOW_STATE
-                + " AND version_id <> -1 ");
-
-        buff.append(" AND  jahiaid_jahia_ctn_entries=3D");
-        buff.append(siteId);
-        buff.append(" AND "
-                + " a.ctndefid_jahia_ctn_entries =3D b.id_jahia_ctn_def "
-                + " AND b.name_jahia_ctn_def=3D'");
-        buff.append(JahiaTools.quote(containerDefinitionName));
-        buff.append("'");
-
-        buff.append(" ORDER BY id_jahia_ctn_entries," + WORKFLOW_STATE);
-
-        return buff.toString();
+    /**
+     * The expected result is a bit set of matching container ids.
+     *
+     * @param int ctnListID, the container list id
+     * @return BitSet bits, the expected result as a bit set of matching c=
tn ids,each bit position set to true correspond to matching ctn ids.
+     */
+    private BitSet doFiltering(int ctnListID) throws JahiaException {
+        return doFilteringBySite(0, "", ctnListID);
     }
-
+    =

+    /**
+    *
+    * The expected result is a bit set of matching container ids for a giv=
en siteId.
+    * if siteId =3D -1 , return result from all sites
+    *
+    * If the containerDefinitionName is null, return result from all conta=
iners
+    * no regards to it definition !
+    *
+    * @param siteId
+    * @return BitSet bits, the expected result as a bit set of matching ct=
n ids,each bit position set to true correspond to matching ctn ids.
+    * @throws JahiaException
+    */
+   private BitSet doFilteringBySite(int siteId,
+            String containerDefinitionName, int listId) throws JahiaExcept=
ion {
+        ApplicationContext context =3D SpringContextSingleton.getInstance()
+                .getContext();
+        JahiaContainerManager containerMgr =3D (JahiaContainerManager) con=
text
+                .getBean(JahiaContainerManager.class.getName());
+        List ctnIds =3D containerMgr.getContainerIds(new Integer(listId),
+                new Integer(siteId), siteId > 0 ? Boolean.TRUE : Boolean.F=
ALSE,
+                containerDefinitionName, this.entryLoadRequest, false, tru=
e,
+                true, siteId > 0 ? true : false);
+
+        BitSet bits =3D new BitSet();
+
+        for (Iterator it =3D ctnIds.iterator(); it.hasNext();) {
+            Object[] row =3D (Object[]) it.next();
+            int ctnID =3D ((Integer) row[0]).intValue();
+            bits.set(ctnID);
+
+        }
+        return bits;
+    }    =

 }
\ No newline at end of file

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

Reply via email to