knguyen 2004/09/02 11:59:12 CEST
Modified files: (Branch: JAHIA-4-0-BRANCH)
src/java/org/jahia/data/containers
ContainerFilterByContainerDefinition.java
Log:
- back port changes
Revision Changes Path
1.3.4.5 +40 -8
jahia/src/java/org/jahia/data/containers/ContainerFilterByContainerDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/data/containers/ContainerFilterByContainerDefinition.java.diff?r1=1.3.4.4&r2=1.3.4.5&f=h
Index: ContainerFilterByContainerDefinition.java
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/org/jahia/data/containers/Attic/ContainerFilterByContainerDefinition.java,v
retrieving revision 1.3.4.4
retrieving revision 1.3.4.5
diff -u -r1.3.4.4 -r1.3.4.5
--- ContainerFilterByContainerDefinition.java 1 Sep 2004 16:34:27 -0000 1.3.4.4
+++ ContainerFilterByContainerDefinition.java 2 Sep 2004 09:59:12 -0000 1.3.4.5
@@ -122,7 +122,7 @@
private BitSet doFiltering(int ctnListID)
throws JahiaException
{
- String fieldFilterQuery = getSelect(ctnListID);
+ String fieldFilterQuery = getSelect(ctnListID,true);
if ( fieldFilterQuery == null && !fieldFilterQuery.trim().equals("") ){
return null;
}
@@ -175,22 +175,34 @@
/**
* Return the select statement, build with the clauses for all container list
of the site.
*
+ * Return the select statement, build with the clauses for all container list
of the site.
+ * Do not execute this query !! It's only used for comparison between query.
+ * It's not a valable sql query.
+ *
* @param int ctnListID, the container list id
* @return String , the sql statement. Null on error
*/
public String getSelect(int ctnListID)
{
- //JahiaConsole.println("ContainerFilterBean.getSelect","Started");
+ return getSelect (ctnListID, false);
+ }
+ /**
+ * Return the select statement, build with the clauses for all container list
of the site.
+ *
+ * @param int ctnListID, the container list id
+ * @param ignoreLang boolean, add language in query or not ( should not when
performing sql query, because containre table do not have lang column
+ * @return String , the sql statement. Null on error
+ */
+ protected String getSelect (int ctnListID, boolean ignoreLang) {
StringBuffer buff = new StringBuffer("SELECT DISTINCT
id_jahia_ctn_entries,workflow_state FROM jahia_ctn_entries WHERE
listid_jahia_ctn_entries=");
buff.append(ctnListID);
buff.append(" AND ");
- buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest,true));
+
buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest,ignoreLang));
buff.append(" ORDER BY id_jahia_ctn_entries, workflow_state");
return buff.toString();
}
-
//--------------------------------------------------------------------------
/**
* Set reference to a containerFilters
@@ -344,7 +356,7 @@
String containerDefinitionName, int listId)
throws JahiaException
{
- String fieldFilterQuery = this.getSelectBySiteID(siteId,
containerDefinitionName);
+ String fieldFilterQuery = this.getSelectBySiteID(siteId,
containerDefinitionName,true);
if ( fieldFilterQuery == null && !fieldFilterQuery.trim().equals("") ){
return null;
}
@@ -401,15 +413,35 @@
* If the containerDefinitionName is null, return result from all containers
* no regards to it definition !
*
+ * Do not execute this query !! It's only used for comparison between query.
+ * It's not a valable sql query.
+ *
* @param siteId
* @param containerDefinitionName
+ * @param ignoreLang boolean, add language in query or not ( should not when
performing sql query, because containre table do not have lang column
* @return
*/
- public String getSelectBySiteID(int siteId, String containerDefinitionName)
- {
+ public String getSelectBySiteID (int siteId, String containerDefinitionName) {
+ return getSelectBySiteID (siteId, containerDefinitionName, false);
+ }
+
+ /**
+ * Return the select statement, build with the clauses for a given site.
+ * If siteId = -1 -> build query for all sites
+ *
+ * If the containerDefinitionName is null, return result from all containers
+ * no regards to it definition !
+ *
+ * @param siteId
+ * @param containerDefinitionName
+ * @param ignoreLang boolean, add language in query or not ( should not when
performing sql query, because containre table do not have lang column
+ * @return
+ */
+ public String getSelectBySiteID (int siteId, String containerDefinitionName,
+ boolean ignoreLang) {
StringBuffer buff = new StringBuffer("SELECT DISTINCT
id_jahia_ctn_entries,workflow_state FROM jahia_ctn_entries a, jahia_ctn_def b WHERE ");
- buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest,true));
+
buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest,ignoreLang));
if ( siteId != -1 ){
buff.append(" AND ");