<!-- ~ Licensed to the Apache Software Foundation (ASF) under one ~ or more
    contributor license agreements. See the NOTICE 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. -->

<GFac>
    <DaemonHandlers>
        <Handler class="org.apache.airavata.gfac.monitor.handlers.GridPullMonitorHandler"/>
    </DaemonHandlers>
    <GlobalHandlers>
        <InHandlers>
            <Handler class="org.apache.airavata.gfac.core.handler.AppDescriptorCheckHandler">
                    <property name="name" value="value"/>
            </Handler>
        </InHandlers>
        <OutHandlers></OutHandlers>
    </GlobalHandlers>
    <Provider class="org.apache.airavata.gfac.local.provider.impl.LocalProvider" host="org.apache.airavata.schemas.gfac.impl.HostDescriptionTypeImpl">
        <InHandlers>
            <Handler class="org.apache.airavata.gfac.local.handler.LocalDirectorySetupHandler"/>
        </InHandlers>
    </Provider>
   <Provider class="org.apache.airavata.gfac.gram.provider.impl.GramProvider" host="org.apache.airavata.schemas.gfac.impl.GlobusHostTypeImpl">
        <property name="name" value="value"/>
        <InHandlers>
            <Handler class="org.apache.airavata.gfac..gram.handler.GramDirectorySetupHandler">
                    <property name="name" value="value"/>
            </Handler>
            <Handler class="org.apache.airavata.gfac..gram.handler.GridFTPInputHandler"/>
        </InHandlers>
        <OutHandlers>
            <Handler class="org.apache.airavata.gfac..gram.handler.GridFTPOutputHandler"/>
        </OutHandlers>
    </Provider>
    <Provider class="org.apache.airavata.gfac.bes.provider.impl.BESProvider" host="org.apache.airavata.schemas.gfac.impl.UnicoreHostTypeImpl">
    </Provider>

    <Provider class="org.apache.airavata.gfac.ec2.EC2Provider" host="org.apache.airavata.schemas.gfac.impl.Ec2HostTypeImpl">
        <InHandlers/>
        <OutHandlers/>
    </Provider>

    <Provider class="org.apache.airavata.gfac.hadoop.provider.impl.HadoopProvider" host="org.apache.airavata.schemas.gfac.impl.HadoopHostTypeImpl">
        <InHandlers>
        	<Handler class="org.apache.airavata.gfac.hadoop.handler.HadoopDeploymentHandler"/>
            <Handler class="org.apache.airavata.gfac.hadoop.handler.HDFSDataMovementHandler"/>
        </InHandlers>
        <OutHandlers/>
    </Provider>

    <Application name="UltraScan">
        <InHandlers>
            <Handler class="org.apache.airavata.gfac.handler.GfacDirectorySetupHandler"/>
            <Handler class="org.apache.airavata.gfac.gram.handler.GridFTPInputHandler"/>
        </InHandlers>
        <OutHandlers>
            <Handler class="org.apache.airavata.gfac.gram.handler.GridFTPOutputHandler"/>
        </OutHandlers>
    </Application>

     <Provider class="org.apache.airavata.gfac.ssh.provider.impl.SSHProvider" host="org.apache.airavata.schemas.gfac.impl.SSHHostTypeImpl" executionMode="async">
         <InHandlers>
            <Handler class="org.apache.airavata.gfac.ssh.handler.SSHDirectorySetupHandler"/>
            <Handler class="org.apache.airavata.gfac.ssh.handler.SSHInputHandler"/>
        </InHandlers>
        <OutHandlers>
            <Handler class="org.apache.airavata.gfac.ssh.handler.SSHOutputHandler"/>
        </OutHandlers>
    </Provider>
    <Provider class="org.apache.airavata.gfac.gsissh.provider.impl.GSISSHProvider" host="org.apache.airavata.schemas.gfac.impl.GsisshHostTypeImpl" executionMode="async">
             <InHandlers>
                <Handler class="org.apache.airavata.gfac.gsissh.handler.GSISSHDirectorySetupHandler"/>
                 <!--Handler class="org.apache.airavata.gfac.ssh.handler.AdvancedSCPInputHandler">
                            <property name="privateKeyPath" value="/Users/lahirugunathilake/.ssh/id_dsa"/>
                            <property name="publicKeyPath" value="/Users/lahirugunathilake/.ssh/id_dsa.pub"/>
                        <property name="userName" value="root"/>
                        <property name="hostName" value="gw98.iu.xsede.org"/>
                        <property name="inputPath" value="/tmp"/>
                        <property name="passPhrase" value="/home/airavata/outputData"/>
                        <property name="password" value="/home/airavata/outputData"/> <either we have to set password or keys, password has higher preference>
                </Handler-->
                <Handler class="org.apache.airavata.gfac.gsissh.handler.GSISSHInputHandler"/>
            </InHandlers>
            <OutHandlers>
                <Handler class="org.apache.airavata.gfac.gsissh.handler.GSISSHOutputHandler"/>
                <!--Handler class="org.apache.airavata.gfac.ssh.handler.AdvancedSCPOutputHandler">
                            <property name="privateKeyPath" value="/Users/lahirugunathilake/.ssh/id_dsa"/>
                            <property name="publicKeyPath" value="/Users/lahirugunathilake/.ssh/id_dsa.pub"/>
                        <property name="userName" value="root"/>
                        <property name="hostName" value="gw111.iu.xsede.org"/>
                        <property name="outputPath" value="/tmp"/>
                        <property name="passPhrase" value="/home/airavata/outputData"/>
                        <property name="password" value="/home/airavata/outputData"/> <either we have to set password or keys, password has higher preference>
                </Handler-->
            </OutHandlers>
        </Provider>
</GFac>