blob: 5e4f121b121fabc169f32c9acedabaadb2df7bf6 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE.txt file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
TODO(bfoster): Make this a working example.
-->
<pgeConfig>
<import namespace="commons" file="common-metadata-pge-config.xml" />
<import namespace="writers" file="dyn-input-writers-pge-config.xml" />
<dynInputFiles>
<file path="[TextInputFile]" writerClass="[writers/TextWriter]" args="[TextFileTemplate]" />
<file path="[CsvInputFile]" writerClass="[writers/CsvWriter]" args="[CsvHeader]" />
</dynInputFiles>
<fileStaging dir="[StagingDir]" force="[ForceStaging]">
<stageFiles metadataKey="InputFiles" />
</fileStaging>
<exe dir="[WorkingDir]" shellType="csh">
<cmd>echo [TextInputFile] [commons/GreaterThan] [OutputFileName]</cmd>
<cmd>echo [CsvInputFile] [commons/GreaterThan][commons/GreaterThan] [OutputFileName]</cmd>
<cmd>if ( ! -e [InputFile1] || ! -e [InputFile2] ) then</cmd>
<cmd> exit 1</cmd>
<cmd>endif</cmd>
</exe>
<output>
<dir path="[OutputDir]" createBeforeExe="true"/>
</output>
<customMetadata>
<!-- Defaults -->
<metadata key="GREETING_ENUM" val="Simple" />
<metadata key="FORCE_STAGING" val="true" />
<metadata key="CUSTOM_GREETING_ENUM" val="Custom" />
<metadata key="CUSTOM_GREETING_ENUM_VALUE" val="[commons/LessThan]Custom Greeting Here[commons/GreaterThan]" />
<!-- Remap externally set metadata so if name changes easy to update config file -->
<metadata key="WorkingDir" key-ref="WORKING_DIR" />
<metadata key="GreetingEnum" key-ref="GREETING_ENUM" />
<metadata key="CustomGreetingEnum" key-ref="CUSTOM_GREETING_ENUM" />
<metadata key="CustomGreetingEnumValue" key-ref="CUSTOM_GREETING_ENUM_VALUE" />
<metadata key="InputFile1" key-ref="INPUT_FILE_1" />
<metadata key="InputFile2" key-ref="INPUT_FILE_2" />
<metadata key="ForceStaging" key-ref="FORCE_STAGING" />
<!-- Input Files -->
<metadata key="InputFiles" val="[InputFile1],[InputFile2]" split="true" />
<!-- Working sub-directories -->
<metadata key="ConfigDir" val="[WorkingDir]/config" />
<metadata key="OutputDir" val="[WorkingDir]/output" />
<metadata key="StagingDir" val="[WorkingDir]/staging" />
<!-- Dynamically generated PGE input config files -->
<metadata key="DynInput/Text/Name" val="dyn-input.txt" />
<metadata key="DynInput/CSV/Name" val="dyn-input.csv" />
<metadata key="TextInputFile" val="[ConfigDir]/[DynInput/Text/Name]" />
<metadata key="CsvInputFile" val="[ConfigDir]/[DynInput/CSV/Name]" />
<!-- Output file names -->
<metadata key="OutputFileName" val="PgeOutput.txt" />
<!-- Text input file template metadata -->
<metadata key="TextFileTemplate" envReplace="false">
[Greeting],
This is a template for text file [TextInputFile].
This template was written at: [DATE.UTC].
[Signature]
</metadata>
<metadata key="SimpleGreeting" val="Hello" />
<metadata key="CasualGreeting" val="Hi" />
<metadata key-gen="[CustomGreetingEnum]Greeting" val="[CustomGreetingEnumValue]" />
<metadata key="Greating" key-ref="[GreetingEnum]Greeting" />
<metadata key="Signature" val="-bfost" />
<!-- CSV input file metadata -->
<metadata key="AuxInputFiles" val="File1.txt,File2.dat,File3.xml" split="true" />
<metadata key="IsText" val="true,false,true" split="true" />
<metadata key="CsvHeader" val="AuxInputFiles,IsText" split="true" />
</customMetadata>
</pgeConfig>