<#--
   ******************************************************
   *
   *                       NOTICE
   *
   *  THIS SOFTWARE IS THE PROPERTY OF AND CONTAINS
   *  CONFIDENTIAL INFORMATION OF INFOR GLOBAL 
   *  SOLUTIONS, INC., AND SHALL NOT BE COPIED,
   *  USED, NOR DISCLOSED WITHOUT EXPRESS WRITTEN
   *  AUTHORIZATION.  ALTHOUGH PUBLICATION IS NOT
   *  INTENDED, IN THE EVENT OF PUBLICATION, THE
   *  FOLLOWING NOTICE IS APPLICABLE:
   *
   *  (c) COPYRIGHT 2007 INFOR GLOBAL SOLUTIONS, INC.
   *
   *           INFOR GLOBAL SOLUTIONS, INC.
   *
   ******************************************************
 -->
<#--
     Generate the test request files for a Method
     - object is an instance of Method
     - properties is a HashMap generated by PropertiesHelper.getInstance() - it provides access to the
       named GeneratorProperty elements in ApplicationControlData.
  -->
<#import "common.ftl" as common/>  
<#assign bid=object.eContainer()>
<#assign bdeName = bid.name>
<#assign methodName = object.name>
<!-- 
	Test Request file for BDE '${bdeName}' and method '${methodName}' 
	generated using Business Studio version ${versionhelper.generatorversion} on ${today?datetime} 
-->
<#if methodName="OnEvent">
	<#assign methodName = "onEvent">
</#if>
<BusinessStudioTest>
<#if bid.type = "bde">
	<${methodName}Request>
<#switch methodName>
<#case "List">
		<ControlArea>
			<Filter />
			<Selection>
				<@common.showSelectionAttributes component=bid indent="\t\t\t\t"/>
			</Selection>
			<sortingExpression _optional="true" />
			<iteratorID _optional="true" />
			<iteratorFetchSize _optional="true" />
			<maxNumberOfObjects _optional="true" />
			<language _optional="true" _many="true"/>
			<suppressDefaultLanguageBehavior _optional="true" _enum="true|false" />
			<paging _optional="true" _enum="First|Last|Up|Down|Clean" />
			<logQuery _optional="true"  _enum="true|false"/>
		</ControlArea>
<#break>
<#case "Show">
		<ControlArea>
			<Filter />
			<Selection>
				<@common.showSelectionAttributes component=bid indent="\t\t\t\t"/>
			</Selection>
			<sortingExpression _optional="true" />
			<language _optional="true" _many="true"/>
			<suppressDefaultLanguageBehavior _optional="true" _enum="true|false" />
			<createRef _optional="true" _enum="true|false" />
		</ControlArea>
		<DataArea>
			<${bdeName}>				
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=false />
			</${bdeName}>			
		</DataArea>
<#break>
<#case "Delete">
		<ControlArea>
			<processingScope _optional="true" _enum="request|business_entity|business_entity_component|not_applicable" />
		</ControlArea>
		<DataArea>
			<${bdeName} _many="true" >
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=false />
			</${bdeName}>			
		</DataArea>
<#break>
<#case "Create">
		<ControlArea>
			<processingScope _optional="true" _enum="request|business_entity|business_entity_component|not_applicable" />
		</ControlArea>
		<DataArea>
			<${bdeName} _many="true" >
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=false />
			</${bdeName}>
		</DataArea>
<#break>
<#case "Change">
		<ControlArea>
			<processingScope _optional="true" _enum="request|business_entity|business_entity_component|not_applicable" />
		</ControlArea>
		<DataArea>
			<${bdeName} actionType="change|unchanged" _many="true" >		
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=true />
			</${bdeName}>			
		</DataArea>
<#break>
<#case "SubscribeList">
		<ControlArea>
			<eventConsumer>tcp://${r"${hostname}"}:${r"${port}"}</eventConsumer>
			<destination>tcp://${r"${hostname}"}:${r"${port}"}</destination>
			<maxNumberOfObjects />
			<eventBatchSize />
		</ControlArea>
<#break>
<#case "SubscribeEvent">
		<ControlArea>
			<eventConsumer>tcp://${r"${hostname}"}:${r"${port}"}</eventConsumer>
			<destination>tcp://${r"${hostname}"}:${r"${port}"}</destination>
			<eventAction _optional="true" _many="true" />
			<Filter />
			<Selection>
            	<@common.showSelectionAttributes component=bid indent="\t\t\t\t"/>
            </Selection>
		</ControlArea>
<#break>
<#case "UnSubscribeEvent">
		<ControlArea>
			<eventConsumer>tcp://${r"${hostname}"}:${r"${port}"}</eventConsumer>
		</ControlArea>
<#break>
<#case "CreateRef">
		<DataArea>
			<${bdeName} _many="true" >				
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=false />
			</${bdeName}>			
		</DataArea>
<#break>
<#case "DeleteRef">
		<ControlArea>
			<referenceID />
		</ControlArea>
		<DataArea _optional="true" _many="true" >
			<${bdeName}>
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=false />
			</${bdeName}>
		</DataArea>
<#break>
<#case "SupportsProcessingScope">
		<ControlArea>
			<processingScopeType _enum="request|business_entity|business_entity_component|not_applicable" />
		</ControlArea>
<#break>
<#case "SupportsReferentialIntegrity">
		<ControlArea />
<#break>
<#case "PublishEvent">
		<!--
			For Sending/Publishing an Event please use the 'OnEvent' Method.
		-->
<#break>		
<#case "onEvent">
		<ControlArea>
			<eventEntity />
			<eventAction />
			<eventTimeStamp />
			<eventSupplier />
			<eventPriority _optional="true" />
			<eventContentType _optional="true" />
			<eventRequestID _optional="true" />
			<eventTimeStampSequenceNr _optional="true" />
			<eventConsumer _optional="true" />
			<eventHasMoreBatches _optional="true" />
			<EventReference _optional="true">
				<eventReferenceType _optional="true" />
				<eventReferenceInfo _optional="true" />
			</EventReference>
		</ControlArea>
		<DataArea>
			<${bdeName} actionType="change|unchanged">		
				<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=true />
			</${bdeName}>			
		</DataArea>
<#break>
<#default>
		<ControlArea>
			<processingScope _optional="true" _enum="request|business_entity|business_entity_component|not_applicable" />
			<#if common.methodHasControllingArguments()>
				<#list object.methodArgument as methodArgument>
					<#if methodArgument.type == "controllingAttribute">
						<#if methodArgument.scope=="in" || methodArgument.scope=="inout">
							<#if methodArgument.isMandatory>
					<${methodArgument.name} />
								<#else>
					<${methodArgument.name} _optional="true" />
							</#if>
						</#if>
					</#if>
				</#list>
			</#if>
		</ControlArea>
		<#if !common.isClassMethod()>
			<DataArea>
				<${bdeName} _many="true">
					<@common.showMethodAttributes component=bid indent="\t\t\t\t" actionType=false />
				</${bdeName}>
			</DataArea>
		</#if>
<#break>
</#switch>
	</${methodName}Request>
</#if>
</BusinessStudioTest>
