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) {