Author: bfoster
Date: Wed Mar 30 23:51:33 2011
New Revision: 1087143

URL: http://svn.apache.org/viewvc?rev=1087143&view=rev
Log:

- added standard filter

-------------------

Added:
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/page/StdPageFilter.java
   (with props)
Modified:
    
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/FilteredAction.java

Added: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/page/StdPageFilter.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/page/StdPageFilter.java?rev=1087143&view=auto
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/page/StdPageFilter.java
 (added)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/page/StdPageFilter.java
 Wed Mar 30 23:51:33 2011
@@ -0,0 +1,53 @@
+package org.apache.oodt.cas.workflow.page;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.oodt.cas.metadata.Metadata;
+import org.apache.oodt.cas.workflow.processor.ProcessorStub;
+import org.apache.oodt.cas.workflow.state.WorkflowState;
+
+public class StdPageFilter implements PageFilter {
+       
+       protected WorkflowState.Category category;
+       protected WorkflowState state;
+       protected String modelId;
+       protected Metadata metadata;
+       
+       public boolean accept(ProcessorStub stub, Metadata cachedMetadata) {
+               if (modelId != null) 
+                       if (!stub.getModelId().equals(modelId))
+                               return false;
+               if (state != null) 
+                       if (!stub.getState().equals(state))
+                               return false;
+               if (category != null) 
+                       if (!stub.getState().getCategory().equals(category))
+                               return false;
+               if (metadata != null) {
+                       for (String key : metadata.getAllKeys()) {
+                               List<String> values = 
cachedMetadata.getAllMetadata(key);
+                               if (values == null || 
Collections.disjoint(metadata.getAllMetadata(key), values))
+                                       return false;
+                       }
+               }
+               return true;
+       }
+
+       public void setCategory(WorkflowState.Category category) {
+               this.category = category;
+       }
+
+       public void setState(WorkflowState state) {
+               this.state = state;
+       }
+
+       public void setModelId(String modelId) {
+               this.modelId = modelId;
+       }
+
+       public void setMetadata(Metadata metadata) {
+               this.metadata = metadata;
+       }
+
+}

Propchange: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/page/StdPageFilter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/FilteredAction.java
URL: 
http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/FilteredAction.java?rev=1087143&r1=1087142&r2=1087143&view=diff
==============================================================================
--- 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/FilteredAction.java
 (original)
+++ 
oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/FilteredAction.java
 Wed Mar 30 23:51:33 2011
@@ -26,6 +26,7 @@ import org.apache.oodt.cas.metadata.Meta
 import org.apache.oodt.cas.workflow.engine.WorkflowEngineClient;
 import org.apache.oodt.cas.workflow.exceptions.EngineException;
 import org.apache.oodt.cas.workflow.page.PageFilter;
+import org.apache.oodt.cas.workflow.page.StdPageFilter;
 import org.apache.oodt.cas.workflow.processor.ProcessorStub;
 import org.apache.oodt.cas.workflow.state.StateUtils;
 import org.apache.oodt.cas.workflow.state.WorkflowState;
@@ -48,34 +49,13 @@ public abstract class FilteredAction ext
                final List<WorkflowState> supportedStates = 
weClient.getSupportedStates();
                if (this.filterKeys.size() > 0) 
                        (metadata = new Metadata()).addMetadata(filterKeys);
-               return new PageFilter() {
-                       
-                       private String modelId = FilteredAction.this.modelId;
-                       private WorkflowState state = 
FilteredAction.this.stateName != null ? 
StateUtils.getStateByName(supportedStates, FilteredAction.this.stateName) : 
null;
-                       private WorkflowState.Category category = 
FilteredAction.this.categoryName != null ? 
StateUtils.getCategoryByName(supportedStates, FilteredAction.this.categoryName) 
: null;
-                       private Metadata metadata = 
FilteredAction.this.metadata;
-                       
-                       public boolean accept(ProcessorStub stub,
-                                       Metadata cachedMetadata) {
-                               if (modelId != null) 
-                                       if (!stub.getModelId().equals(modelId))
-                                               return false;
-                               if (state != null) 
-                                       if (!stub.getState().equals(state))
-                                               return false;
-                               if (category != null) 
-                                       if 
(!stub.getState().getCategory().equals(category))
-                                               return false;
-                               if (metadata != null) {
-                                       for (String key : 
metadata.getAllKeys()) {
-                                               List<String> values = 
cachedMetadata.getAllMetadata(key);
-                                               if (values == null || 
Collections.disjoint(metadata.getAllMetadata(key), values))
-                                                       return false;
-                                       }
-                               }
-                               return true;
-                       }
-               };
+               
+               StdPageFilter pageFilter = new StdPageFilter();
+               pageFilter.setCategory(FilteredAction.this.categoryName != null 
? StateUtils.getCategoryByName(supportedStates, 
FilteredAction.this.categoryName) : null);
+               pageFilter.setState(FilteredAction.this.stateName != null ? 
StateUtils.getStateByName(supportedStates, FilteredAction.this.stateName) : 
null);
+               pageFilter.setMetadata(this.metadata);
+               pageFilter.setModelId(this.modelId);
+               return pageFilter;
        }
        
        public void setModelId(String modelId) {


Reply via email to