ibm.RepoRESTPipeAdded by IBM on July 25, 2013 | Version 1 (Original)
|Filters a Repository REST operation from a URL and then calls the pipeline corresponding to that REST operation.
RepoRESTPipe reads everything after path in the URL and then maps it to a particular REST call. If a match is found, RepoRESTPipe invokes the appropriate pipeline. For example, if filter = "/myPipeline/" and the inbound URL is http://server/wfsp/myPipeline/libraries/feed then this pipe will strip everything up to and including "/myPipeline/". The resultant string—libraries/feed—will then be matched against a supported set of REST API calls.
See IBM Forms Server – Forms Services Platform Repository REST API calls for details.
Table 1. ibm.RepoRESTPipe expressions and their descriptions
|filter ||String||The root path of the pipeline; the value of the ibm.HeadPipe.Pid.connection. |
|repos ||List||A list of maps containing two parameters: key and value:
The map values can be a jxpath, key or string, but should always resolve to a String. This list represents the file system repositories that can be accessed by the Forms Services Platform Repository REST API. (In Lotus® Quickr these are be called libraries.)
- key = the library id
- value = repository.name
|storeContentAs||Key||The key that will be used to store the content stream into the data bucket.|
|storeMimetypeAs||Key||The key that will be used to store the mimetype string into the data bucket.|
|pidOutputs.main ||Pipe||Triggers the next pipe in the pipeline.|
In the following example, the RepoRESTPipe configuration assumes that headPipe.sample.connection = string:/myPipeline/
Note: The FSRepositories specified in the following example must be defined as repository file system services.
Note: The FSRepositories specified previously must be defined as repository file system services. The following is an example of how to create a file system repository:
ibm.RepoRESTPipe.sample.repos.1.key = string:library1
ibm.RepoRESTPipe.sample.repos.1.value = string:FSRepository1
ibm.RepoRESTPipe.sample.repos.2.key = string:library2
ibm.RepoRESTPipe.sample.repos.2.value = string:FSRepository2
ibm.RepoRESTPipe.sample.repos.3.key = string:library3
ibm.RepoRESTPipe.sample.repos.3.value = string:FSRepository3
ibm.RepoRESTPipe.sample.storeContextAs = key:ibm.RepoRESTPipe.
ibm.RepoRESTPipe.sample.storeMimetypeAs = key:ibm.RepoRESTPipe.
ibm.RepoRESTPipe.sample.pidOutputs.main = pipe:ibm.ReturnDataPipe.
This file system repository code needs to be in a properties file in the Forms Services Platform's extensions directory. Each repository specified previously has to be defined similarly.
ibm.FSRepository.FSRepository1.name = FSRepository1
ibm.FSRepository.FSRepository1.description = Library Repository
ibm.FSRepository.FSRepository1.root = D:/Repositories/
- Each supported REST operation is implemented in its own pipeline. For example, if the inbound URL is http://server/wfsp/myPipeline/libraries/feed, "libraries/feed" corresponds to a call that retrieves the list of all available libraries. In other words, this pipe will call the pipeline responsible for listing all available libraries.