You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2010/05/21 05:50:30 UTC

svn commit: r946860 - in /ode/trunk: bpel-api/src/main/java/org/apache/ode/bpel/common/Filter.java bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java

Author: rr
Date: Fri May 21 03:50:29 2010
New Revision: 946860

URL: http://svn.apache.org/viewvc?rev=946860&view=rev
Log:
ODE-822: In pmapi - garbage filter for instances select everything (fix, thanks to Anurag Aggarwal)

Modified:
    ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/common/Filter.java
    ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java

Modified: ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/common/Filter.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/common/Filter.java?rev=946860&r1=946859&r2=946860&view=diff
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/common/Filter.java (original)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/common/Filter.java Fri May 21 03:50:29 2010
@@ -49,7 +49,7 @@ public abstract class Filter<FKEY extend
    *  The not-equal op, '<>' works only with pids.
    *  </p>
    */
-  private static final Pattern __comparatorPattern = 
+  public static final Pattern __comparatorPattern = 
     Pattern.compile("([^=<> ]*) *(<>|<=|>=|<|>|=) *([^=<> ]*)");
 
   protected Map<FKEY, Restriction<String>> _criteria = new HashMap<FKEY,Restriction<String>>();

Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java?rev=946860&r1=946859&r2=946860&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementImpl.java Fri May 21 03:50:29 2010
@@ -33,6 +33,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import javax.xml.namespace.QName;
@@ -337,9 +338,23 @@ public class ProcessAndInstanceManagemen
         return ret;
     }
 
+    private boolean garbage(String filter) {
+    	if(filter == null) {
+    		return false;
+    	}
+        Matcher expressionMatcher = Filter.__comparatorPattern.matcher(filter);        
+        if(!filter.trim().equals("") && !expressionMatcher.find()) {
+        	return true;
+        }
+        return false;
+    }
+        
     public InstanceInfoListDocument listInstances(String filter, String order, int limit) {
         InstanceInfoListDocument ret = InstanceInfoListDocument.Factory.newInstance();
         final TInstanceInfoList infolist = ret.addNewInstanceInfoList();
+        if(garbage(filter)) {
+        	return ret;
+        }
         final InstanceFilter instanceFilter = new InstanceFilter(filter, order, limit);
         try {
             _db.exec(new BpelDatabase.Callable<Object>() {
@@ -361,6 +376,9 @@ public class ProcessAndInstanceManagemen
     public InstanceInfoListDocument listInstancesSummary(String filter, String order, int limit) {
         InstanceInfoListDocument ret = InstanceInfoListDocument.Factory.newInstance();
         final TInstanceInfoList infolist = ret.addNewInstanceInfoList();
+        if(garbage(filter)) {
+        	return ret;
+        }
         final InstanceFilter instanceFilter = new InstanceFilter(filter, order, limit);
         try {
             _db.exec(new BpelDatabase.Callable<Object>() {
@@ -519,6 +537,9 @@ public class ProcessAndInstanceManagemen
     public Collection<Long> delete(String filter) {
         final InstanceFilter instanceFilter = new InstanceFilter(filter);
         final List<Long> ret = new LinkedList<Long>();
+        if(garbage(filter)) {
+        	return ret;
+        }
         try {
             _db.exec(new BpelDatabase.Callable<Object>() {
                 public Object run(BpelDAOConnection conn) {