knguyen 2005/03/03 13:15:37 CET
Modified files: (Branch: JAHIA-4-1-BRANCH)
src/java/org/jahia/data/containers ContainerFilterBean.java
FilterClause.java
Log:
- enabling not equals, not null, is null comparison in containers filters
Revision Changes Path
1.20.4.3.2.1 +12 -2
jahia/src/java/org/jahia/data/containers/ContainerFilterBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/data/containers/ContainerFilterBean.java.diff?r1=1.20.4.3&r2=1.20.4.3.2.1&f=h
1.4.4.1.2.1 +24 -9
jahia/src/java/org/jahia/data/containers/FilterClause.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/src/java/org/jahia/data/containers/FilterClause.java.diff?r1=1.4.4.1&r2=1.4.4.1.2.1&f=h
Index: ContainerFilterBean.java
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/org/jahia/data/containers/Attic/ContainerFilterBean.java,v
retrieving revision 1.20.4.3
retrieving revision 1.20.4.3.2.1
diff -u -r1.20.4.3 -r1.20.4.3.2.1
--- ContainerFilterBean.java 1 Sep 2004 17:18:41 -0000 1.20.4.3
+++ ContainerFilterBean.java 3 Mar 2005 12:15:36 -0000 1.20.4.3.2.1
@@ -79,6 +79,12 @@
*/
public static final String COMP_BIGGER = ">";
+ public static final String COMP_NOT_EQUAL = "<>";
+
+ public static final String COMP_NOTNULL = "NOTNULL";
+
+ public static final String COMP_ISNULL = "ISNULL";
+
private static final String CLASS_NAME =
ContainerFilterBean.class.getName();
@@ -1861,16 +1867,20 @@
/**
* Check if the comparator is valid
*
- * @param String comparator, the comparator
+ * @param comparator the comparator
*/
private boolean checkComparator(String comparator){
if ( comparator == null )
return false;
+
return ( comparator.equals(COMP_EQUAL)
|| comparator.equals(COMP_SMALLER)
|| comparator.equals(COMP_SMALLER_OR_EQUAL)
|| comparator.equals(COMP_BIGGER_OR_EQUAL)
- || comparator.equals(COMP_BIGGER) );
+ || comparator.equals(COMP_BIGGER)
+ || comparator.equals(COMP_NOTNULL)
+ || comparator.equals(COMP_ISNULL)
+ || comparator.equals(COMP_NOT_EQUAL));
}
Index: FilterClause.java
===================================================================
RCS file:
/home/cvs/repository/jahia/src/java/org/jahia/data/containers/Attic/FilterClause.java,v
retrieving revision 1.4.4.1
retrieving revision 1.4.4.1.2.1
diff -u -r1.4.4.1 -r1.4.4.1.2.1
--- FilterClause.java 12 Aug 2004 12:51:33 -0000 1.4.4.1
+++ FilterClause.java 3 Mar 2005 12:15:36 -0000 1.4.4.1.2.1
@@ -213,9 +213,8 @@
//--------------------------------------------------------------------------
/**
- * Return true if the value is equals with one of the clause's values
*
- * @param long value
+ * @param value
* @return boolean , the comparison result.
*/
public boolean compare(String value){
@@ -229,8 +228,22 @@
int size = vals.length;
for ( int i=0; i<size; i++ ){
String val = vals[i];
- if ( value.equals(val) ){
- return true;
+ if ( ContainerFilterBean.COMP_EQUAL.equals(this.getComp()) ){
+ if ( value.equals(val) ){
+ return true;
+ }
+ } else if (
ContainerFilterBean.COMP_NOT_EQUAL.equals(this.getComp())) {
+ if ( !value.equals(val) ){
+ return true;
+ }
+ } else if (
ContainerFilterBean.COMP_ISNULL.equals(this.getComp())) {
+ if ( value == null || "".equals(value.trim()) ){
+ return true;
+ }
+ } else if (
ContainerFilterBean.COMP_NOTNULL.equals(this.getComp())) {
+ if ( value != null || !"".equals(value.trim()) ){
+ return true;
+ }
}
}
return result;
@@ -240,10 +253,10 @@
/**
* Return true if the given long valueA (left) match the given valueB
(right)
*
- * @param String valueA
- * @param String valueB
- * @param String comp, the comparator
- * @return boolean , the comparison result.
+ * @param valueA
+ * @param valueB
+ * @param comp the comparator
+ * @return boolean the comparison result.
*/
private boolean compare(long valueA, long valueB, String comp){
boolean result = false;
@@ -257,8 +270,10 @@
result = ( valueA >= valueB );
} else if ( comp.equals(ContainerFilterBean.COMP_BIGGER) ){
result = ( valueA > valueB );
+ } else if ( comp.equals(ContainerFilterBean.COMP_NOT_EQUAL) ){
+ result = valueA != valueB ;
}
- //JahiaConsole.println(CLASS_NAME+".compare","valueA["+ valueA
+"] " + comp + " valueB[" + valueB + "] result=" + result);
+ //JahiaConsole.println(CLASS_NAME+".compare","valueA["+ valueA +"] "
+ comp + " valueB[" + valueB + "] result=" + result);
return result;
}