<?xml version="1.0"?>
 
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://research.sun.com/wadl/2006/10 https://wadl.dev.java.net/wadl20061109.xsd"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns="http://research.sun.com/wadl/2006/10">


 <resources base="http://edis.usitc.gov/data/">
	 <resource path="reports/documentProcessing">
	 	<method name="GET">
	 		<request>
	 			<param name="fromDate" required="true" style="template" type="xsd:string"/>
				<param name="toDate" required="true" style="template" type="xsd:string"/>
	 		</request>
	 		<response>
 				<representation mediaType="application/xml" element="results"/>
				<fault status="500" mediaType="application/xml" element="errors"/>
 			</response>
	 	</method>
	 </resource>
	 <resource path="investigation/{investigationNumber}/{investigationPhase}">
 		<param name="investigationNumber" style="template" type="xsd:string"/>
		<param name="investigationPhase" style="template" type="xsd:string"/>
		<param style="header" name="Authorization" type="xsd:string"/>

 		<method name="GET" id="investigation">
 			<request>
 				<param name="investigationType" style="query" type="xsd:string"/>
 				<param name="investigationStatus" style="query" type="xsd:string"/>
 				<param name="pageNumber" style="query" type="xsd:int"/>
 			</request>
 			<response>
 				<representation mediaType="application/xml" element="results"/>
				<fault status="500" mediaType="application/xml" element="error"/>
 			</response>
 		</method>
 	</resource>
 	<resource path="document/{documentId}/detail">
 	    <param name="documentId" style="template" type="xsd:int"/>
 	    <param style="header" name="Authorization" type="xsd:string"/>
 	    <method name="GET" id="document">
 	          <response>
                <representation mediaType="application/xml" element="results"/>
                <fault status="500" mediaType="application/xml" element="error"/>
 	          </response>
 	    </method>
 	</resource>
 	<resource path="document/{documentId}">
		<param name="documentId" style="template" type="xsd:int"/>
		<param style="header" name="Authorization" type="xsd:string"/>
 		<method name="GET" id="document">
 			<request>
 				<param name="keywords" style="query" type="xsd:string"/>
 				<param name="investigationNumber" style="query" type="xsd:string"/>
 				<param name="investigationPhase" style="query" type="xsd:string"/>
 				<param name="documentType" style="query" type="xsd:string"/>
 				<param name="pageNumber" style="query" type="xsd:int"/>
 				<param name="firmOrg" style="query" type="xsd:string"/>
 				<param name="securityLevel" style="query" type="xsd:string"/>
 				<!-- 
 				   The officialReceivedDate parameter is a "DateComparison" 
 				   representation.
 				   
 				   The "DateComparison" representation can take two forms.
 				   
 				   1.) Complex DateComparison
 				       [ComparisonType]:[date1]:[date2]
 				       
 				       The ComparisonType must be one of:
 				           1.) EXACT
 				           2.) BEFORE
 				           3.) AFTER
 				           4.) BETWEEN 				       
 				       
 				       When the ComparisonType is EXACT, BEFORE or AFTER only date1 is required.  
 				       Any value in date2 will be ignored.
 				       example: officialReceivedDate=AFTER:2009-01-01
 				       
 				       When the ComparisonType is BETWEEN, date2 must be provided.
 				       example: officialReceivedDate=BETWEEN:2009-01-01:2010-01-01
 				       
 				       All date comparisons are inclusive of dates.
 				       
 				   2.) Simple DateComparison  				      
 				       example: officialReceivedDate=2010-01-01
 				       The single date reprsentation will be interpreted as an EXACT date
 				       
 				   Valid date formats are:
 				   
 				      1.) yyyy.MM.dd
 				      2.) yyyy-MM-dd
 				      3.) yyyy/MM/dd
 				       
 				 -->
 				<param name="officialReceivedDate" style="query" type="xsd:string"/>
 				<!-- 
                   The modifiedDate parameter is a "DateComparison" 
                   representation.  See above for details about the datecomparison format
                -->
 				<param name="modifiedDate" style="query" type="xsd:string"/>
                <!--
                    Selects field used to sort the documents returned.  Ignored
                    if a documentId is specified in the path.
                -->
                <param name="sort" style="query" type="xsd:string"/>
                <!--
                    Selects field used to control the sort direction of the
                    documents returned.  Ignored if a documentId is specified
                    in the path.
                -->
                <param name="sd" style="query" type="xsd:string"/>
 			</request>
 			<response>
 				<representation mediaType="application/xml" element="results"/>
				<fault status="500" mediaType="application/xml" element="errors"/>
 			</response>
 		</method>
 	</resource>
 	<resource path="attachment/{documentId}">
		<param name="documentId" style="template" type="xsd:int" required="true"/>
		<param style="header" name="Authorization" type="xsd:string"/>
 		<method name="GET" id="attachment">
 			<request/>
 			<response>
 				<representation mediaType="application/xml" element="results"/>
				<fault status="500" mediaType="application/xml" element="errors"/>
 			</response>
 		</method>
 	</resource>
 	<resource path="download/{documentId}/{attachmentId}">
		<param name="documentId" style="template" type="xsd:int" required="true"/>
		<param name="attachmentId" style="template" type="xsd:int" required="true"/>
		<param style="header" name="Authorization" type="xsd:string"/>
 		<method name="GET" id="download">
 			<request/>
 			<response>
 				<representation mediaType="application/pdf"/>
				<fault status="500" mediaType="application/xml" element="errors"/>
 			</response>
 		</method>
 	</resource> 	
 	<resource path="secretKey/{username}">
 		<param name="username" style="template" type="xsd:string" required="true"/>
 		<method name="POST" id="secretKey">
 			<request>
 				<representation mediaType="application/x-www-form-urlencoded">
 					<param name="password" style="query" type="xsd:string" required="true"/>
 				</representation>
 			</request>
 			<response>
 				<representation mediaType="application/xml" element="results"/>
				<fault status="500" mediaType="application/xml" element="errors"/>
 			</response>
 		</method>
 	</resource>  	
 </resources>
 
</application>
