View Javadoc

1   /*
2    * Copyright 2005-2008 The Kuali Foundation
3    *
4    *
5    * Licensed under the Educational Community License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    *
9    * http://www.opensource.org/licenses/ecl2.php
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.kuali.rice.kew.batch;
18  
19  import java.util.Collection;
20  import java.util.List;
21  
22  
23  
24  /**
25   * A service which is responsible for iterating through
26   * a list of xml documents or collections of xml documents
27   * and ingesting them into the workflow engine.
28   * Pipeline:<br/>
29   * <ol>
30   *   <li>Acquisition: <code>XmlPollerService</code>, <i>Struts upload action</i></li>
31   *   <li>Ingestion: XmlIngesterService</li>
32   *   <li>Digestion: XmlDigesterService</li>
33   * </ol>
34   * @see org.kuali.rice.kew.batch.XmlDigesterService
35   * @author Kuali Rice Team (rice.collab@kuali.org)
36   */
37  public interface XmlIngesterService {
38      /**
39       * Ingest a list of xml doc collections
40       * @param xmlDocCollections the list of {@link XmlDocCollection}s
41       * @return failed xml doc collections
42       * @throws Exception if failed to ingest
43       */
44      Collection<XmlDocCollection> ingest(List<XmlDocCollection> xmlDocCollections) throws Exception;
45  
46      /**
47       * Ingest a list of xml doc collections, but it routing is supported by any of the services ultimately being called
48       * route the xml data with user being the initiator of any documents created.
49       * @param xmlDocCollections list
50       * @param principalId of user
51       * @return failed xml doc collections
52       * @throws Exception  if failed to ingest
53       */
54      Collection<XmlDocCollection> ingest(List<XmlDocCollection> xmlDocCollections, String principalId) throws Exception;
55  }