<?xml version="1.0" encoding="UTF-8"?>
<!--
   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

     https://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.
-->
<project basedir="." default="all" name="Fortress Sample Data">
    <taskdef classname="org.apache.directory.fortress.core.ant.FortressAntTask" name="FortressAdmin" >
        <classpath path="${java.class.path}"/>
    </taskdef>

    <target name="all">
        <FortressAdmin>

            <addorgunit>
                <orgunit name="uou1" typeName="USER" description="Test User Org 1"/>
                <orgunit name="uou2" typeName="USER" description="Test User Org 2"/>
                <orgunit name="uou3" typeName="USER" description="Test User Org 3"/>
                <orgunit name="uou4" typeName="USER" description="Test User Org 4"/>
                <orgunit name="pou1" typeName="PERM" description="Test Perm Org 1"/>
                <orgunit name="pou2" typeName="PERM" description="Test Perm Org 2"/>
                <orgunit name="pou3" typeName="PERM" description="Test Perm Org 3"/>
                <orgunit name="pou4" typeName="PERM" description="Test Perm Org 4"/>
            </addorgunit>

            <delorgunit>
                <orgunit name="uou1" typeName="USER"/>
                <orgunit name="uou2" typeName="USER"/>
                <orgunit name="uou3" typeName="USER"/>
                <orgunit name="uou4" typeName="USER"/>
                <orgunit name="pou1" typeName="PERM"/>
                <orgunit name="pou2" typeName="PERM"/>
                <orgunit name="pou3" typeName="PERM"/>
                <orgunit name="pou4" typeName="PERM"/>
            </delorgunit>

            <adduserorgunitinheritance>
                <relationship child="uou2" parent="uou1"/>
                <relationship child="uou3" parent="uou1"/>
                <relationship child="uou4" parent="uou1"/>
            </adduserorgunitinheritance>

            <addpermorgunitinheritance>
                <relationship child="pou2" parent="pou1"/>
                <relationship child="pou3" parent="pou1"/>
                <relationship child="pou4" parent="pou1"/>
            </addpermorgunitinheritance>

            <deluserorgunitinheritance>
                <relationship child="uou2" parent="uou1"/>
                <relationship child="uou3" parent="uou1"/>
                <relationship child="uou4" parent="uou1"/>
            </deluserorgunitinheritance>

            <delpermorgunitinheritance>
                <relationship child="pou2" parent="pou1"/>
                <relationship child="pou3" parent="pou1"/>
                <relationship child="pou4" parent="pou1"/>
            </delpermorgunitinheritance>

         </FortressAdmin>
    </target>
</project>

