Author: simoneg
Date: Wed Dec 16 16:30:44 2009
New Revision: 891291

URL: http://svn.apache.org/viewvc?rev=891291&view=rev
Log:
LABS-502 : fix for custom filters on SmartList

Modified:
    
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java

Modified: 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java?rev=891291&r1=891290&r2=891291&view=diff
==============================================================================
--- 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java
 (original)
+++ 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/SmartList.java
 Wed Dec 16 16:30:44 2009
@@ -52,6 +52,7 @@
        
        private String query = null;
        private Object[] queryParams = null;
+       private MagmaBeanSupport tempQbe = null;
        private MagmaBeanSupport sessionReservedQbe = null;
        private QueryByExampleBuilder qbuilder = null;
        
@@ -93,7 +94,7 @@
 
        public <T extends MagmaBeanSupport> SmartList(Class<T> beanClass, 
MagmaBeanSupport qbe) {
                this.myclass = beanClass;
-               this.sessionReservedQbe = qbe;
+               this.tempQbe = qbe;
        }
 
        public HtmlProducer do_default() {
@@ -172,7 +173,7 @@
        public HtmlProducer doShow() {
                checkSortables();
                if (this.withFilter) {
-                       if (this.sessionReservedQbe == null) {
+                       if (this.sessionReservedQbe == null && this.tempQbe == 
null) {
                                if (this.query == null || this.query.length() 
== 0) {
                                        try {
                                                this.sessionReservedQbe = 
this.myclass.newInstance();
@@ -182,6 +183,8 @@
                                } else {
                                        throw new MagmaException("You required 
a filter but also provided a query, you should either provide an empty query or 
provide a query by example to use with the filter.");
                                }
+                       } else if (this.tempQbe != null) {
+                               this.sessionReservedQbe = this.tempQbe;
                        }
                }
                Database db = new Database();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to