Author: mattmann
Date: Thu Mar 14 03:08:41 2013
New Revision: 1456312
URL: http://svn.apache.org/r1456312
Log:
Patch for OODT-574 RADiX POM Parent References contributed by Arni Sumarlidason.
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/engine/processor/WorkflowProcessorQueue.java
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/AbstractPaginatibleInstanceRepository.java
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/MemoryWorkflowInstanceRepository.java
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/WorkflowInstanceRepository.java
Modified: oodt/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1456312&r1=1456311&r2=1456312&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Thu Mar 14 03:08:41 2013
@@ -3,11 +3,13 @@ Apache OODT Change Log
Release 0.6 - Current Development
--------------------------------------------
+* OODT-574 RADiX POM Parent References (Arni Sumarlidason via mattmann)
+
* OODT-491 Add nextState (determineNextState) function to
WorkflowProcessor (mattmann)
-* OODT-558 Introducing optional web-grid servlet init parameter
"org.apache.oodt.grid.GridServlet.config" that can be used to read/write its
configuration
- to a location external to the web app directory (luca).
+* OODT-558 Introducing optional web-grid servlet init parameter
"org.apache.oodt.grid.GridServlet.config"
+ that can be used to read/write its configuration to a location external to
the web app directory (luca).
* OODT-564 XMLPS should provided ordered results based on
requested fields (mattmann, joyce)
Modified: oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml
URL:
http://svn.apache.org/viewvc/oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml?rev=1456312&r1=1456311&r2=1456312&view=diff
==============================================================================
--- oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml (original)
+++ oodt/trunk/pcs/opsui/src/main/webapp/META-INF/context.xml Thu Mar 14
03:08:41 2013
@@ -27,10 +27,13 @@ the License.
value="[RESMGR_URL]"/>
<Parameter name="org.apache.oodt.pcs.opsui.workflow.lifecycleFilePath"
- value="[WORKFLOW_HOME]/policy/workflow-lifecycle.xml"/>
+ value="[WORKFLOW_HOME]/policy/wengine/wengine-lifecycle.xml"/>
<Parameter name="org.apache.oodt.pcs.opsui.winst.statuses"
- value="QUEUED, RSUBMIT, BUILDING CONFIG FILE, PGE EXEC, CRAWLING,
STAGING INPUT, FINISHED, STARTED, PAUSED"/>
+ value="Null, Loaded, Queued, Blocked, WaitingOnResources,
PreConditionSuccess, ExecutionComplete, Unknown, Paused, PreConditionEval,
Executing, PostConditionEval, ResultsSuccess, ResultsFailure, ResultsBail,
Stopped, Off, Failure, Success"/>
+
+ <!-- <Parameter name="org.apache.oodt.pcs.opsui.winst.statuses"
+ value="QUEUED, RSUBMIT, BUILDING CONFIG FILE, PGE EXEC, CRAWLING,
STAGING INPUT, FINISHED, STARTED, PAUSED"/>-->
<Parameter name="org.apache.oodt.pcs.opsui.winst.metFields.filePath"
value="[WORKFLOW_HOME]/policy/workflow-instance-met.xml"/>
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/engine/processor/WorkflowProcessorQueue.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/engine/processor/WorkflowProcessorQueue.java?rev=1456312&r1=1456311&r2=1456312&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/engine/processor/WorkflowProcessorQueue.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/engine/processor/WorkflowProcessorQueue.java
Thu Mar 14 03:08:41 2013
@@ -83,7 +83,7 @@ public class WorkflowProcessorQueue {
public synchronized List<WorkflowProcessor> getProcessors() {
WorkflowInstancePage page = null;
try {
- page = repo.getPagedWorkflows(1);
+ //page = repo.getPagedWorkflowsNotInCategory(1, "done");
} catch (Exception e) {
e.printStackTrace();
LOG.log(Level.WARNING, "Unable to load workflow processors: Message: "
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/AbstractPaginatibleInstanceRepository.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/AbstractPaginatibleInstanceRepository.java?rev=1456312&r1=1456311&r2=1456312&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/AbstractPaginatibleInstanceRepository.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/AbstractPaginatibleInstanceRepository.java
Thu Mar 14 03:08:41 2013
@@ -1,4 +1,4 @@
-/*
+/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
@@ -15,7 +15,6 @@
* limitations under the License.
*/
-
package org.apache.oodt.cas.workflow.instrepo;
//JDK imports
@@ -32,182 +31,203 @@ import org.apache.oodt.cas.workflow.stru
import org.apache.oodt.commons.pagination.PaginationUtils;
/**
+ * Abstract base class containing functionality required for
+ * WorkflowInstance paging.
+ *
* @author mattmann
* @version $Revision$
- *
- * <p>
- * Describe your class here
- * </p>.
*/
public abstract class AbstractPaginatibleInstanceRepository implements
- WorkflowInstanceRepository {
-
- protected int pageSize = -1;
-
- /* our log stream */
- private static final Logger LOG = Logger
- .getLogger(AbstractPaginatibleInstanceRepository.class.getName());
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.workflow.util.Pagination#getFirstPage()
- */
- public WorkflowInstancePage getFirstPage() {
- WorkflowInstancePage firstPage = null;
+ WorkflowInstanceRepository {
- try {
- firstPage = getPagedWorkflows(1);
- } catch (Exception e) {
- e.printStackTrace();
- LOG.log(Level.WARNING, "Exception getting first page: Message: "
- + e.getMessage());
- }
- return firstPage;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.workflow.util.Pagination#getLastPage()
- */
- public WorkflowInstancePage getLastPage() {
- WorkflowInstancePage lastPage = null;
- WorkflowInstancePage firstPage = getFirstPage();
-
- try {
- lastPage = getPagedWorkflows(firstPage.getTotalPages());
- } catch (Exception e) {
- LOG.log(Level.WARNING, "Exception getting last page: Message: "
- + e.getMessage());
- }
-
- return lastPage;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.apache.oodt.cas.workflow.util.Pagination#getNextPage(org.apache.oodt.cas.workflow.structs.WorkflowInstancePage)
- */
- public WorkflowInstancePage getNextPage(WorkflowInstancePage currentPage) {
- if (currentPage == null) {
- return getFirstPage();
- }
-
- if (currentPage.isLastPage()) {
- return currentPage;
- }
-
- WorkflowInstancePage nextPage = null;
-
- try {
- nextPage = getPagedWorkflows(currentPage.getPageNum() + 1);
- } catch (Exception e) {
- LOG.log(Level.WARNING, "Exception getting next page: Message: "
- + e.getMessage());
- }
+ protected int pageSize = -1;
- return nextPage;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.apache.oodt.cas.workflow.util.Pagination#getPrevPage(org.apache.oodt.cas.workflow.structs.WorkflowInstancePage)
- */
- public WorkflowInstancePage getPrevPage(WorkflowInstancePage currentPage) {
- if (currentPage == null) {
- return getFirstPage();
- }
-
- if (currentPage.isLastPage()) {
- return currentPage;
- }
-
- WorkflowInstancePage nextPage = null;
-
- try {
- nextPage = getPagedWorkflows(currentPage.getPageNum() - 1);
- } catch (Exception e) {
- LOG.log(Level.WARNING, "Exception getting next page: Message: "
- + e.getMessage());
- }
-
- return nextPage;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.workflow.util.Pagination#getPagedWorkflows(int)
- */
- public WorkflowInstancePage getPagedWorkflows(int pageNum)
- throws InstanceRepositoryException {
- return getPagedWorkflows(pageNum, null);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.oodt.cas.workflow.util.Pagination#getPagedWorkflows(int,
- * java.lang.String)
- */
- public WorkflowInstancePage getPagedWorkflows(int pageNum, String status)
- throws InstanceRepositoryException {
- int totalPages = PaginationUtils.getTotalPage(
- status != null ? getNumWorkflowInstancesByStatus(status)
- : getNumWorkflowInstances(), this.pageSize);
-
- /*
- * if there are 0 total pages in the result list size then don't bother
- * returning a valid product page instead, return blank ProductPage
- */
- if (totalPages == 0 || pageNum > totalPages || pageNum <= 0) {
- return WorkflowInstancePage.blankPage();
- }
-
- WorkflowInstancePage retPage = new WorkflowInstancePage();
- retPage.setPageNum(pageNum);
- retPage.setPageSize(this.pageSize);
- retPage.setTotalPages(totalPages);
-
- List wInstIds = paginateWorkflows(pageNum, status);
-
- if (wInstIds != null && wInstIds.size() > 0) {
- List workflowInstances = new Vector(wInstIds.size());
-
- for (Iterator i = wInstIds.iterator(); i.hasNext();) {
- String workflowInstId = (String) i.next();
- WorkflowInstance inst =
getWorkflowInstanceById(workflowInstId);
- workflowInstances.add(inst);
- }
-
- retPage.setPageWorkflows(workflowInstances);
- }
-
- return retPage;
- }
-
- /**
- *
- * @param pageNum
- * @return
- * @throws InstanceRepositoryException
- */
- protected List paginateWorkflows(int pageNum)
- throws InstanceRepositoryException {
- return paginateWorkflows(pageNum, null);
- }
-
- /**
- *
- * @param pageNum
- * @param status
- * @return
- * @throws InstanceRepositoryException
- */
- protected abstract List paginateWorkflows(int pageNum, String status)
- throws InstanceRepositoryException;
+ /* our log stream */
+ private static final Logger LOG = Logger
+ .getLogger(AbstractPaginatibleInstanceRepository.class.getName());
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.oodt.cas.workflow.util.Pagination#getFirstPage()
+ */
+ public WorkflowInstancePage getFirstPage() {
+ WorkflowInstancePage firstPage = null;
+
+ try {
+ firstPage = getPagedWorkflows(1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ LOG.log(Level.WARNING,
+ "Exception getting first page: Message: " + e.getMessage());
+ }
+ return firstPage;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.oodt.cas.workflow.util.Pagination#getLastPage()
+ */
+ public WorkflowInstancePage getLastPage() {
+ WorkflowInstancePage lastPage = null;
+ WorkflowInstancePage firstPage = getFirstPage();
+
+ try {
+ lastPage = getPagedWorkflows(firstPage.getTotalPages());
+ } catch (Exception e) {
+ LOG.log(Level.WARNING,
+ "Exception getting last page: Message: " + e.getMessage());
+ }
+
+ return lastPage;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.oodt.cas.workflow.util.Pagination#getNextPage(org.apache.oodt
+ * .cas.workflow.structs.WorkflowInstancePage)
+ */
+ public WorkflowInstancePage getNextPage(WorkflowInstancePage currentPage) {
+ if (currentPage == null) {
+ return getFirstPage();
+ }
+
+ if (currentPage.isLastPage()) {
+ return currentPage;
+ }
+
+ WorkflowInstancePage nextPage = null;
+
+ try {
+ nextPage = getPagedWorkflows(currentPage.getPageNum() + 1);
+ } catch (Exception e) {
+ LOG.log(Level.WARNING,
+ "Exception getting next page: Message: " + e.getMessage());
+ }
+
+ return nextPage;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.oodt.cas.workflow.util.Pagination#getPrevPage(org.apache.oodt
+ * .cas.workflow.structs.WorkflowInstancePage)
+ */
+ public WorkflowInstancePage getPrevPage(WorkflowInstancePage currentPage) {
+ if (currentPage == null) {
+ return getFirstPage();
+ }
+
+ if (currentPage.isLastPage()) {
+ return currentPage;
+ }
+
+ WorkflowInstancePage nextPage = null;
+
+ try {
+ nextPage = getPagedWorkflows(currentPage.getPageNum() - 1);
+ } catch (Exception e) {
+ LOG.log(Level.WARNING,
+ "Exception getting next page: Message: " + e.getMessage());
+ }
+
+ return nextPage;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.oodt.cas.workflow.util.Pagination#getPagedWorkflows(int)
+ */
+ public WorkflowInstancePage getPagedWorkflows(int pageNum)
+ throws InstanceRepositoryException {
+ return getPagedWorkflows(pageNum, null);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.oodt.cas.workflow.util.Pagination#getPagedWorkflows(int,
+ * java.lang.String)
+ */
+ public WorkflowInstancePage getPagedWorkflows(int pageNum, String status)
+ throws InstanceRepositoryException {
+ int totalPages = PaginationUtils.getTotalPage(
+ status != null ? getNumWorkflowInstancesByStatus(status)
+ : getNumWorkflowInstances(), this.pageSize);
+
+ /*
+ * if there are 0 total pages in the result list size then don't bother
+ * returning a valid product page instead, return blank ProductPage
+ */
+ if (totalPages == 0 || pageNum > totalPages || pageNum <= 0) {
+ return WorkflowInstancePage.blankPage();
+ }
+
+ WorkflowInstancePage retPage = new WorkflowInstancePage();
+ retPage.setPageNum(pageNum);
+ retPage.setPageSize(this.pageSize);
+ retPage.setTotalPages(totalPages);
+
+ List wInstIds = paginateWorkflows(pageNum, status);
+
+ if (wInstIds != null && wInstIds.size() > 0) {
+ List workflowInstances = new Vector(wInstIds.size());
+
+ for (Iterator i = wInstIds.iterator(); i.hasNext();) {
+ String workflowInstId = (String) i.next();
+ WorkflowInstance inst = getWorkflowInstanceById(workflowInstId);
+ workflowInstances.add(inst);
+ }
+
+ retPage.setPageWorkflows(workflowInstances);
+ }
+
+ return retPage;
+ }
+
+ /**
+ *
+ * @param pageNum
+ * @return
+ * @throws InstanceRepositoryException
+ */
+ protected List paginateWorkflows(int pageNum)
+ throws InstanceRepositoryException {
+ return paginateWorkflows(pageNum, null);
+ }
+
+ /**
+ *
+ * @param pageNum
+ * @param status
+ * @return
+ * @throws InstanceRepositoryException
+ */
+ protected abstract List paginateWorkflows(int pageNum, String status)
+ throws InstanceRepositoryException;
+
+ /**
+ *
+ * @param pageNum
+ * @param categoryName
+ * @return
+ */
+ /* protected abstract List<WorkflowInstance> paginateWorkflowsByCategory(int
pageNum,
+ String categoryName);*/
+
+ /**
+ *
+ * @param pageNum
+ * @param categoryName
+ * @return
+ */
+ /*protected abstract List<WorkflowInstance>
paginateWorkflowsNotInCategory(int pageNum,
+ String categoryName);*/
}
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/MemoryWorkflowInstanceRepository.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/MemoryWorkflowInstanceRepository.java?rev=1456312&r1=1456311&r2=1456312&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/MemoryWorkflowInstanceRepository.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/MemoryWorkflowInstanceRepository.java
Thu Mar 14 03:08:41 2013
@@ -24,6 +24,7 @@ import org.apache.oodt.cas.workflow.stru
import org.apache.oodt.commons.util.DateConvert;
//JDK imports
+import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -222,4 +223,24 @@ public class MemoryWorkflowInstanceRepos
return cnt;
}
+ /* (non-Javadoc)
+ * @see
org.apache.oodt.cas.workflow.instrepo.WorkflowInstanceRepository#getWorkflowInstancesByCategory(java.lang.String)
+ */
+ // @Override
+ public List<WorkflowInstance> getWorkflowInstancesByCategory(
+ String categoryName) throws InstanceRepositoryException {
+ List<WorkflowInstance> instances = new Vector<WorkflowInstance>();
+ for(WorkflowInstance inst:
+ (List<WorkflowInstance>)(List<?>)Arrays.asList(workflowInstMap.
+ values().toArray())){
+ if(inst.getState() != null &&
+ inst.getState().getCategory().getName().equals(categoryName)){
+ instances.add(inst);
+ }
+
+ }
+
+ return instances;
+ }
+
}
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/WorkflowInstanceRepository.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/WorkflowInstanceRepository.java?rev=1456312&r1=1456311&r2=1456312&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/WorkflowInstanceRepository.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/WorkflowInstanceRepository.java
Thu Mar 14 03:08:41 2013
@@ -22,7 +22,9 @@ package org.apache.oodt.cas.workflow.ins
import java.util.List;
//OODT imports
+import org.apache.oodt.cas.workflow.lifecycle.WorkflowLifecycleStage;
import org.apache.oodt.cas.workflow.structs.WorkflowInstance;
+import org.apache.oodt.cas.workflow.structs.WorkflowInstancePage;
import
org.apache.oodt.cas.workflow.structs.exceptions.InstanceRepositoryException;
import org.apache.oodt.cas.workflow.util.Pagination;
@@ -137,5 +139,20 @@ public interface WorkflowInstanceReposit
* @throws InstanceRepositoryException If there is any error that occurs.
*/
public int getNumWorkflowInstancesByStatus(String status) throws
InstanceRepositoryException;
-
+
+
+ /**
+ * Returns a {@link List} of {@link WorkflowInstance}s with a given
+ * {@link WorkflowLifecycleStage} name (aka "categoryName").
+ *
+ * @param categoryName The name of the {@link WorkflowLifecycleStage} to
look
+ * up associated {@link WorkflowInstance}s.
+ * @return A {@link List} of {@link WorkflowInstance}s with a given
+ * {@link WorkflowLifecycleStage}.
+ *
+ * @throws InstanceRepositoryException If any error occurs.
+ */
+ /* public List<WorkflowInstance> getWorkflowInstancesByCategory(String
categoryName)
+ throws InstanceRepositoryException;*/
+
}