knguyen 2005/03/07 15:19:22 CET
Modified files: (Branch: JAHIA-4-0-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.4 +10 -1
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.4&f=h
1.4.4.2 +20 -5
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.2&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.4
diff -u -r1.20.4.3 -r1.20.4.4
--- ContainerFilterBean.java 1 Sep 2004 17:18:41 -0000 1.20.4.3
+++ ContainerFilterBean.java 7 Mar 2005 14:19:22 -0000 1.20.4.4
@@ -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();
@@ -1870,7 +1876,10 @@
|| 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.2
diff -u -r1.4.4.1 -r1.4.4.2
--- FilterClause.java 12 Aug 2004 12:51:33 -0000 1.4.4.1
+++ FilterClause.java 7 Mar 2005 14:19:22 -0000 1.4.4.2
@@ -213,7 +213,6 @@
//--------------------------------------------------------------------------
/**
- * Return true if the value is equals with one of the clause's values
*
* @param long value
* @return boolean , the comparison result.
@@ -229,9 +228,23 @@
int size = vals.length;
for ( int i=0; i<size; i++ ){
String val = vals[i];
+ 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,6 +270,8 @@
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);