<?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.
-->

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    

    <!-- Precondition Comparators -->
    <bean id="PreconditionComparator" lazy-init="true" abstract="true" class="org.apache.oodt.cas.metadata.preconditions.PreConditionComparator"/>
    
    
    <bean id="CheckThatDataFileSizeIsGreaterThanZero" lazy-init="true" parent="PreconditionComparator" class="org.apache.oodt.cas.metadata.preconditions.FileSizeComparator">
        <property name="description" value="Check if the current data file size is greater than zero"/>        
        <property name="compareItem">
            <value type="java.lang.Long">0</value>
        </property>
        <property name="type" value="greater_than"/>
    </bean>
    
    <bean id="CheckThatDataFileExists" lazy-init="true" parent="PreconditionComparator" class="org.apache.oodt.cas.metadata.preconditions.ExistanceCheckComparator">
        <property name="description" value="Check if the current data file exists"/>        
        <property name="compareItem">
            <value type="java.lang.Boolean">true</value>
        </property>
        <property name="type" value="equal_to"/>    
    </bean>

    <bean id="CheckDataFileMimeType" lazy-init="true" parent="PreconditionComparator" class="org.apache.oodt.cas.metadata.preconditions.MimeTypeComparator">
        <property name="description" value="Check that data file mime type matches the specified mime type"/>        
        <property name="compareItem">
            <value type="java.lang.String">application/xml</value>
        </property>
        <property name="type" value="equal_to"/>   
        <property name="mimeTypeRepo" value="./src/testdata/tika-mimetypes.xml"/>
        <property name="useMagic" value="true"/> 
    </bean>

</beans>