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