You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2014/10/22 17:45:02 UTC
[43/51] [partial] Rename packages from org.openldap.fortress to
org.apache.directory.fortress.core. Change default suffix to org.apache.
Switch default ldap api from unbound to apache ldap.
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Addroleinheritance.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Addroleinheritance.java b/src/main/java/org/apache/directory/fortress/core/ant/Addroleinheritance.java
new file mode 100755
index 0000000..f1e2f4d
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Addroleinheritance.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.Relationship;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link Relationship}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#addInheritance(org.apache.directory.fortress.core.rbac.Role, org.apache.directory.fortress.core.rbac.Role)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Addroleinheritance', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <addroleinheritance>
+ * ...
+ * </addroleinheritance>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Addroleinheritance
+{
+ final private List<Relationship> relationships = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Addroleinheritance()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addRelationship', is used for derived xml tag 'relationship' in the load script.</p>
+ * <pre>
+ * {@code
+ * <addroleinheritance>
+ * <relationship child="r2" parent="r1"/>
+ * <relationship child="r3" parent="r1"/>
+ * <relationship child="r4" parent="r1"/>
+ * </addroleinheritance>
+ * }
+ * </pre>
+ *
+ * @param relationship contains reference to data element targeted for insertion..
+ */
+ public void addRelationship(Relationship relationship)
+ {
+ this.relationships.add(relationship);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#addRoleInheritances()} to retrieve list of Role relationships as defined in input xml file.
+ *
+ * @return collection containing {@link Relationship}s targeted for insertion.
+ */
+ public List<Relationship> getRelationships()
+ {
+ return this.relationships;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Addsdset.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Addsdset.java b/src/main/java/org/apache/directory/fortress/core/ant/Addsdset.java
new file mode 100755
index 0000000..06d88a3
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Addsdset.java
@@ -0,0 +1,91 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link FortressAntTask} to create new {@link SDSetAnt}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#createSsdSet(org.apache.directory.fortress.core.rbac.SDSet)} or {@link org.apache.directory.fortress.core.AdminMgr#createDsdSet(org.apache.directory.fortress.core.rbac.SDSet)}.
+ *
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Addsdset', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <addsdset>
+ * ...
+ * </addsdset>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Addsdset
+{
+ final private List<SDSetAnt> sds = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Addsdset()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addSdset', is used for derived xml tag 'sdset' in the load script.</p>
+ * <pre>
+ * {@code
+ * <addsdset>
+ * <sdset name="DemoSSD1"
+ * description="Demo static separation of duties"
+ * cardinality="2"
+ * settype="STATIC"
+ * setmembers="role1,role2"/>
+ * <sdset name="DemoDSD1"
+ * description="Demo dynamic separation of duties"
+ * cardinality="2"
+ * settype="DYNAMIC"
+ * setmembers="role1,role3"/>
+ * </addsdset>
+ * }
+ * </pre>
+ *
+ * @param sd contains reference to data element targeted for insertion..
+ */
+ public void addSdset(SDSetAnt sd)
+ {
+ this.sds.add(sd);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#addSdsets()} to retrieve list of SDSetAnt as defined in input xml file.
+ *
+ * @return collection containing {@link SDSetAnt}s targeted for insertion.
+ */
+ public List<SDSetAnt> getSdset()
+ {
+ return this.sds;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Addsuffix.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Addsuffix.java b/src/main/java/org/apache/directory/fortress/core/ant/Addsuffix.java
new file mode 100755
index 0000000..cfeb710
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Addsuffix.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.fortress.core.ldap.suffix.Suffix;
+
+/**
+ * The class is used by {@link FortressAntTask} to create new {@link org.apache.directory.fortress.core.ldap.suffix.Suffix} used to drive {@link org.apache.directory.fortress.core.ldap.suffix.SuffixP#add(org.apache.directory.fortress.core.ldap.suffix.Suffix)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Addsuffix', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <addsuffix>
+ * ...
+ * </addsuffix>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Addsuffix
+
+{
+ final private List<Suffix> suffixes = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Addsuffix()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addSuffix', is used for derived xml tag 'suffix' in the load script.</p>
+ * <pre>
+ * {@code
+ * <addsuffix>
+ * <suffix name="jts" dc="com" description="Joshua Tree Software"/>
+ * </addsuffix>
+ * }
+ * </pre>
+ *
+ * @param suffix contains reference to data element targeted for insertion..
+ */
+ public void addSuffix(Suffix suffix)
+ {
+ this.suffixes.add(suffix);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#addSuffixes()} to retrieve list of Suffixes as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.ldap.suffix.Suffix}s targeted for insertion.
+ */
+ public List<Suffix> getSuffixes()
+ {
+ return this.suffixes;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Adduser.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Adduser.java b/src/main/java/org/apache/directory/fortress/core/ant/Adduser.java
new file mode 100755
index 0000000..c9ddcf5
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Adduser.java
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link UserAnt}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#addUser(org.apache.directory.fortress.core.rbac.User)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Adduser', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <adduser>
+ * ...
+ * </adduser>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Adduser
+{
+ final private List<UserAnt> users = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Adduser()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addUser', is used for derived xml tag 'user' in the load script.</p>
+ * <pre>
+ * {@code
+ * <adduser>
+ * <!-- Bad User end time -->
+ * <user userId="demoUser1" password="password" description="Demo Test User 1" ou="demousrs1" cn="JoeUser1" sn="User1" pwPolicy="Test1" beginTime="0000" endTime="0800" beginDate="20090101" endDate="20990101" beginLockDate="none" endLockDate="none" dayMask="1234567" timeout="60"/>
+ * <!-- Bad User day mask -->
+ * <user userId="demoUser3" password="password" description="Demo Test User 3" ou="demousrs1" cn="JoeUser3" sn="User3" pwPolicy="Test1" beginTime="0000" endTime="0000" beginDate="20090101" endDate="20990101" beginLockDate="none" endLockDate="none" dayMask="17" timeout="60"/>
+ * <!-- This one is good -->
+ * <user userId="demoUser4" password="password" description="Demo Test User 4" ou="demousrs1" cn="JoeUser4" sn="User4" pwPolicy="Test1" beginTime="0000" endTime="0000" beginDate="20090101" endDate="20990101" beginLockDate="none" endLockDate="none" dayMask="1234567" timeout="60"/>
+ * <!-- Bad User end time -->
+ * <user userId="demoUser5" password="password" description="Demo Test User 5" ou="demousrs1" cn="JoeUser5" sn="User5" pwPolicy="Test1" beginTime="0000" endTime="0000" beginDate="20090101" endDate="20990101" beginLockDate="none" endLockDate="none" dayMask="1234567" timeout="60"/>
+ * <!-- Bad User begin date -->
+ * <user userId="demoUser7" password="password" description="Demo Test User 7" ou="demousrs1" cn="JoeUser7" sn="User7" pwPolicy="Test1" beginTime="0000" endTime="0000" beginDate="20090101" endDate="20990101" beginLockDate="none" endLockDate="none" dayMask="1234567" timeout="60"/>
+ * <!-- Bad User end date -->
+ * <user userId="demoUser9" password="password" description="Demo Test User 9" ou="demousrs1" cn="JoeUser9" sn="User9" pwPolicy="Test1" beginTime="0000" endTime="0000" beginDate="20090101" endDate="20990101" beginLockDate="none" endLockDate="none" dayMask="1234567" timeout="60"/>
+ * </adduser>
+ * }
+ * </pre>
+ *
+ * @param user contains reference to data element targeted for insertion..
+ */
+ public void addUser(UserAnt user)
+ {
+ this.users.add(user);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#addUsers()} to retrieve list of Users as defined in input xml file.
+ *
+ * @return collection containing {@link UserAnt}s targeted for insertion.
+ */
+ public List<UserAnt> getUsers()
+ {
+ return this.users;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Adduseradminrole.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Adduseradminrole.java b/src/main/java/org/apache/directory/fortress/core/ant/Adduseradminrole.java
new file mode 100755
index 0000000..7f8ce8c
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Adduseradminrole.java
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.UserAdminRole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link org.apache.directory.fortress.core.rbac.UserAdminRole}s used to drive {@link org.apache.directory.fortress.core.DelAdminMgr#assignUser(org.apache.directory.fortress.core.rbac.UserAdminRole)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Adduseradminrole', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <adduseradminrole>
+ * ...
+ * </adduseradminrole>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Adduseradminrole
+{
+ final private List<UserAdminRole> userroles = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Adduseradminrole()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addUserRole', is used for derived xml tag 'userrole' in the load script.</p>
+ * <pre>
+ * {@code
+ * <adduseradminrole>
+ * <userrole userId="demouser4"
+ * name="DemoAdminUsers"
+ * beginTime="0800"
+ * endTime="1700"
+ * beginDate="20110101"
+ * endDate="none"
+ * beginLockDate="none"
+ * endLockDate="none"
+ * dayMask="23456"
+ * timeout="15"/>
+ * </adduseradminrole>
+ * }
+ * </pre>
+ *
+ * @param userRole contains reference to data element targeted for insertion..
+ */
+ public void addUserRole(UserAdminRole userRole)
+ {
+ this.userroles.add(userRole);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#addUserAdminRoles()} to retrieve list of UserAdminRoles as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.rbac.UserAdminRole}s targeted for insertion.
+ */
+ public List<UserAdminRole> getUserRoles()
+ {
+ return this.userroles;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Adduserorgunitinheritance.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Adduserorgunitinheritance.java b/src/main/java/org/apache/directory/fortress/core/ant/Adduserorgunitinheritance.java
new file mode 100755
index 0000000..924ebb8
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Adduserorgunitinheritance.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.Relationship;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link Relationship}s used to drive {@link org.apache.directory.fortress.core.DelAdminMgr#addAscendant(org.apache.directory.fortress.core.rbac.OrgUnit, org.apache.directory.fortress.core.rbac.OrgUnit)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Adduserorgunitinheritance', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <adduserorgunitinheritance>
+ * ...
+ * </adduserorgunitinheritance>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Adduserorgunitinheritance
+{
+ final private List<Relationship> relationships = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Adduserorgunitinheritance()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addRelationship', is used for derived xml tag 'relationship' in the load script.</p>
+ * <pre>
+ * {@code
+ * <adduserorgunitinheritance>
+ * <relationship child="ou2" parent="ou1"/>
+ * <relationship child="ou3" parent="ou1"/>
+ * <relationship child="ou4" parent="ou1"/>
+ * </adduserorgunitinheritance>
+ * }
+ * </pre>
+ *
+ * @param relationship contains reference to data element targeted for insertion..
+ */
+ public void addRelationship(Relationship relationship)
+ {
+ this.relationships.add(relationship);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#addAdduserorgunitinheritance(Adduserorgunitinheritance)} to retrieve list of User Org Unit relationships as defined in input xml file.
+ *
+ * @return collection containing {@link Relationship}s targeted for insertion.
+ */
+ public List<Relationship> getRelationships()
+ {
+ return this.relationships;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Adduserrole.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Adduserrole.java b/src/main/java/org/apache/directory/fortress/core/ant/Adduserrole.java
new file mode 100755
index 0000000..c93e077
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Adduserrole.java
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.UserRole;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link org.apache.directory.fortress.core.rbac.UserRole}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#assignUser(org.apache.directory.fortress.core.rbac.UserRole)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Adduserrole', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <adduserrole>
+ * ...
+ * </adduserrole>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Adduserrole
+{
+ final private List<UserRole> userroles = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Adduserrole()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addUserRole', is used for derived xml tag 'userrole' in the load script.</p>
+ * <pre>
+ * {@code
+ * <adduserrole>
+ * <userrole userId="demoUser1" name="role1" beginTime="0800" endTime="0700" beginDate="20110101" endDate="none" beginLockDate="none" endLockDate="none" dayMask="23456" timeout="30"/>
+ * <!-- Bad - role end time -->
+ * <userrole userId="demoUser5" name="role1" beginTime="0700" endTime="0800" beginDate="20100101" endDate="21000101" beginLockDate="none" endLockDate="none" dayMask="all" timeout="0"/>
+ * <!-- Bad - role begin date -->
+ * <userrole userId="demoUser7" name="role1" beginTime="0000" endTime="0000" beginDate="20110110" endDate="21000101" beginLockDate="none" endLockDate="none" dayMask="all" timeout="0"/>
+ * <!-- Bad - role end date -->
+ * <userrole userId="demoUser9" name="role1" beginTime="0000" endTime="0000" beginDate="20100101" endDate="20100608" beginLockDate="none" endLockDate="none" dayMask="all" timeout="0"/>
+ * </adduserrole>
+ * }
+ * </pre>
+ *
+ * @param userRole contains reference to data element targeted for insertion..
+ */
+ public void addUserRole(UserRole userRole)
+ {
+ this.userroles.add(userRole);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#addUserRoles()} to retrieve list of UserRoles as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.rbac.UserRole}s targeted for insertion.
+ */
+ public List<UserRole> getUserRoles()
+ {
+ return this.userroles;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/AdminRoleAnt.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/AdminRoleAnt.java b/src/main/java/org/apache/directory/fortress/core/ant/AdminRoleAnt.java
new file mode 100755
index 0000000..ac2438d
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/AdminRoleAnt.java
@@ -0,0 +1,110 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+
+import org.apache.directory.fortress.core.rbac.AdminRole;
+
+import java.util.StringTokenizer;
+
+/**
+ * Entity is used by custom Apache Ant task for special handling of collections. This is necessary because the
+ * Ant parser cannot deal with complex data attribute types.
+ *
+ * @author Shawn McKinney
+ */
+public class AdminRoleAnt extends AdminRole
+{
+ private String osPs;
+ private String osUs;
+
+ /**
+ * Default constructor required for all Ant entities.
+ *
+ * @return String containing OSPs.
+ */
+ public String getOSPs()
+ {
+ return osPs;
+ }
+
+ /**
+ * Set the list of Perm OUs as a comma delimited string. This method will convert from that format to
+ * the AdminRole native format which is collection of Strings.
+ *
+ * @param osPs
+ */
+ public void setOSPs(String osPs)
+ {
+ this.osPs = osPs;
+ if (osPs != null)
+ {
+ // allow the setter to process comma delimited strings:
+ StringTokenizer tkn = new StringTokenizer(osPs, ",");
+ if (tkn.countTokens() > 0)
+ {
+ while (tkn.hasMoreTokens())
+ {
+ String osP = tkn.nextToken();
+ setOsP(osP); /**
+ * Set the list of Perm OUs as a comma delimited string. This method will convert from that format to
+ * the AdminRole native format which is collection of Strings.
+ * @param osPs
+ */
+
+ }
+ }
+ }
+ }
+
+ /**
+ * Return the comma delimited OU string.
+ *
+ * @return String containing OSUs.
+ */
+ public String getOSUs()
+ {
+ return osUs;
+ }
+
+ /**
+ * Load an OU into the collection of OUs stored by collection.
+ *
+ * @param osUs contains OU name.
+ */
+ public void setOSUs(String osUs)
+ {
+ this.osUs = osUs;
+ if (osUs != null)
+ {
+ // allow the setter to process comma delimited strings:
+ StringTokenizer tkn = new StringTokenizer(osUs, ",");
+ if (tkn.countTokens() > 0)
+ {
+ while (tkn.hasMoreTokens())
+ {
+ String osU = tkn.nextToken();
+ setOsU(osU);
+ }
+ }
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/ConfigAnt.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/ConfigAnt.java b/src/main/java/org/apache/directory/fortress/core/ant/ConfigAnt.java
new file mode 100755
index 0000000..f143875
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/ConfigAnt.java
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+
+/**
+ * This entity contains the list of name/value pairs targeted for updating on server.
+ *
+ * @author Shawn McKinney
+ */
+public class ConfigAnt
+{
+ private String props;
+
+ /**
+ * Default constructor required for all Ant entities.
+ *
+ */
+ public ConfigAnt()
+ {
+ }
+
+
+ /**
+ * Get the properties as a String.
+ *
+ * @return String containing property name/values.
+ */
+ public String getProps()
+ {
+ return props;
+ }
+
+ /**
+ * Set the properties as a String.
+ *
+ * @param szProps
+ */
+ public void setProps(String szProps)
+ {
+ this.props = szProps;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Deladminrole.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Deladminrole.java b/src/main/java/org/apache/directory/fortress/core/ant/Deladminrole.java
new file mode 100755
index 0000000..b6c6bd7
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Deladminrole.java
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * This class is used by {@link FortressAntTask} to load {@link org.apache.directory.fortress.core.rbac.AdminRole}s used to drive {@link org.apache.directory.fortress.core.DelAdminMgr#deleteRole(org.apache.directory.fortress.core.rbac.AdminRole)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>The class name, 'Deladminrole', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <deladminrole>
+ * ...
+ * </deladminrole>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Deladminrole
+{
+ final private List<AdminRoleAnt> roles = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Deladminrole() { }
+
+
+ /**
+ * <p>This method name, 'addRole', is used for the derived xml tag 'role' in the load script.</p>
+ * <pre>
+ * {@code
+ * <deladminrole>
+ * <role name="DemoAdminUsers"
+ * </deladminrole>
+ * }
+ * </pre>
+ *
+ * @param role contains extension of {@link org.apache.directory.fortress.core.rbac.AdminRole}.
+ */
+ public void addRole(AdminRoleAnt role)
+ {
+ this.roles.add(role);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#deleteAdminRoles()} to retrieve list of AdminRoles as defined in input xml file.
+ * @return collection containing {@link AdminRoleAnt}s targeted for removal.
+ */
+ public List<AdminRoleAnt> getRoles()
+ {
+ return this.roles;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Deladminroleinheritance.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Deladminroleinheritance.java b/src/main/java/org/apache/directory/fortress/core/ant/Deladminroleinheritance.java
new file mode 100755
index 0000000..e0affb7
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Deladminroleinheritance.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.Relationship;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link Relationship}s used to drive {@link org.apache.directory.fortress.core.DelAdminMgr#deleteInheritance(org.apache.directory.fortress.core.rbac.AdminRole, org.apache.directory.fortress.core.rbac.AdminRole)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Deladminroleinheritance', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <deladminroleinheritance>
+ * ...
+ * </deladminroleinheritance>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ *
+ * @author Shawn McKinney
+ */
+public class Deladminroleinheritance
+{
+ final private List<Relationship> relationships = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Deladminroleinheritance()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addRelationship', is used for derived xml tag 'relationship' in the load script.</p>
+ * <pre>
+ * {@code
+ * <deladminroleinheritance>
+ * <relationship child="ar2" parent="ar1"/>
+ * <relationship child="ar3" parent="ar1"/>
+ * </deladminroleinheritance>
+ * }
+ * </pre>
+ *
+ * @param relationship contains reference to data element targeted for removal.
+ */
+ public void addRelationship(Relationship relationship)
+ {
+ this.relationships.add(relationship);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#deleteAdminRoles()} to retrieve list of Relationships as defined in input xml file.
+ *
+ * @return collection containing {@link Relationship}s targeted for removal.
+ */
+ public List<Relationship> getRelationships()
+ {
+ return this.relationships;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delconfig.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delconfig.java b/src/main/java/org/apache/directory/fortress/core/ant/Delconfig.java
new file mode 100755
index 0000000..9f65199
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delconfig.java
@@ -0,0 +1,97 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link org.apache.directory.fortress.core.ant.ConfigAnt}s used to drive {@link org.apache.directory.fortress.core.cfg.ConfigMgr#delete(String, java.util.Properties)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delconfig', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delconfig>
+ * ...
+ * </delconfig>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delconfig
+{
+ final private List<ConfigAnt> config = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delconfig()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addConfig', is used for derived xml tag 'config' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delconfig>
+ * <config props="config.realm:DEFAULT"/>
+ * <config props="enable.audit:true"/>
+ * <config props="authn.type:default"/>
+ * <config props="password.policy:openldap"/>
+ * <config props="clientside.sorting:true"/>
+ * <config props="suffix:dc=jts\,dc=com"/>
+ * <config props="user.root:ou=People\,dc=jts\,dc=com"/>
+ * <config props="pwpolicy.root:ou=Policies\,dc=jts\,dc=com"/>
+ * <config props="role.root:ou=Roles\,ou=RBAC\,dc=jts\,dc=com"/>
+ * <config props="perm.root:ou=Permissions\,ou=RBAC\,dc=jts\,dc=com"/>
+ * <config props="sdconstraint.root:ou=Constraints\,ou=RBAC\,dc=jts\,dc=com"/>
+ * <config props="userou.root:ou=OS-U\,ou=ARBAC\,dc=jts\,dc=com"/>
+ * <config props="permou.root:ou=OS-P\,ou=ARBAC\,dc=jts\,dc=com"/>
+ * <config props="adminrole.root:ou=AdminRoles\,ou=ARBAC\,dc=jts\,dc=com"/>
+ * <config props="adminperm.root:ou=AdminPerms\,ou=ARBAC\,dc=jts\,dc=com"/>
+ * ...
+ * </delconfig>
+ * }
+ * </pre>
+ *
+ * @param config contains reference to data element targeted for removal..
+ */
+ public void addConfig(ConfigAnt config)
+ {
+ this.config.add(config);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#deleteConfig()} to retrieve list of properties as defined in input xml file.
+ *
+ * @return collection containing {@link ConfigAnt}s targeted for removal.
+ */
+ public List<ConfigAnt> getConfig()
+ {
+ return this.config;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delcontainer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delcontainer.java b/src/main/java/org/apache/directory/fortress/core/ant/Delcontainer.java
new file mode 100755
index 0000000..52176a0
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delcontainer.java
@@ -0,0 +1,105 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.ldap.container.OrganizationalUnit;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to remove {@link org.apache.directory.fortress.core.ldap.container.OrganizationalUnit}s used to drive {@link org.apache.directory.fortress.core.ldap.container.OrganizationalUnitP#delete(org.apache.directory.fortress.core.ldap.container.OrganizationalUnit)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delcontainer', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delcontainer>
+ * ...
+ * </delcontainer>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ * <p/>
+ * <font size="4" color="red">
+ * This class is destructive as it will remove all nodes below the container using recursive delete function.<BR>
+ * Extreme care should be taken during execution to ensure target dn is correct and permanent removal of data is intended. There is no
+ * 'undo' for this operation.
+ * </font>
+ * <p/>
+ *
+ * @author Shawn McKinney
+ */
+public class Delcontainer
+{
+ final private List<OrganizationalUnit> containers = new ArrayList<>();
+
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delcontainer()
+ {
+ }
+
+
+ /**
+ * <p>This method name, 'addContainer', is used for derived xml tag 'container' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delcontainer>
+ * <container name="Config"/>
+ * <container name="People"/>
+ * <container name="Policies"/>
+ * <container name="RBAC"/>
+ * <container name="Roles" parent="RBAC"/>
+ * <container name="Permissions" parent="RBAC"/>
+ * <container name="Constraints" parent="RBAC"/>
+ * <container name="ARBAC"/>
+ * <container name="OS-U" parent="ARBAC"/>
+ * <container name="OS-P" parent="ARBAC"/>
+ * <container name="AdminRoles" parent="ARBAC"/>
+ * <container name="AdminPerms" parent="ARBAC"/>
+ * </delcontainer>
+ * }
+ * </pre>
+ *
+ * @param ou contains reference to data element targeted for deletion.
+ */
+ public void addContainer( OrganizationalUnit ou)
+ {
+ this.containers.add(ou);
+ }
+
+
+ /**
+ * Used by {@link FortressAntTask#deleteContainers()} to retrieve list of OrganizationalUnits as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.ldap.container.OrganizationalUnit}s targeted for removal.
+ */
+ public List<OrganizationalUnit> getContainers()
+ {
+ return this.containers;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delgroup.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delgroup.java b/src/main/java/org/apache/directory/fortress/core/ant/Delgroup.java
new file mode 100755
index 0000000..ddcf8fe
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delgroup.java
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.ldap.group.Group;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link GroupAnt}s used to drive {@link org.apache.directory.fortress.core.ldap.group.GroupMgr#add(org.apache.directory.fortress.core.ldap.group.Group)} .
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delgroup', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delgroup>
+ * ...
+ * </delgroup>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delgroup
+{
+ final private List<Group> groups = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delgroup()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addGroup', is used for derived xml tag 'group' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delgroup>
+ * <group name="test001"/>
+ * </delgroup>
+ * }
+ * </pre>
+ *
+ * @param group contains reference to data element targeted for removal.
+ */
+ public void addGroup(Group group)
+ {
+ this.groups.add(group);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#deleteGroups()} to retrieve list of Groups as defined in input xml file.
+ *
+ * @return collection containing {@link GroupAnt}s targeted for removal.
+ */
+ public List<Group> getGroups()
+ {
+ return this.groups;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delgroupmember.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delgroupmember.java b/src/main/java/org/apache/directory/fortress/core/ant/Delgroupmember.java
new file mode 100755
index 0000000..3b7f9f7
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delgroupmember.java
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.ldap.group.Group;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link Group}s.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delgroup', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delgroupmember>
+ * ...
+ * </delgroupmember>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delgroupmember
+{
+ final private List<Group> groups = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delgroupmember()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addGroup', is used for derived xml tag 'group' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delgroupmember>
+ * <group name="test001" members="guser1,guser2,guser3" />
+ * </delgroupmember>
+ * }
+ * </pre>
+ *
+ * @param group contains reference to data element targeted for removal.
+ */
+ public void addGroup(Group group)
+ {
+ this.groups.add(group);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#addGroupMembers()} to retrieve list of Groups as defined in input xml file.
+ *
+ * @return collection containing {@link Group}s targeted for removal.
+ */
+ public List<Group> getGroups()
+ {
+ return this.groups;
+ }
+}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delgroupproperty.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delgroupproperty.java b/src/main/java/org/apache/directory/fortress/core/ant/Delgroupproperty.java
new file mode 100755
index 0000000..2647724
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delgroupproperty.java
@@ -0,0 +1,83 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.ldap.group.Group;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link Group}s.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delgroup', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delgroupmember>
+ * ...
+ * </delgroupmember>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delgroupproperty
+{
+ final private List<Group> groups = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delgroupproperty()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addGroup', is used for derived xml tag 'group' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delgroupmember>
+ * <group name="test001"/>
+ * </delgroupmember>
+ * }
+ * </pre>
+ *
+ * @param group contains reference to data element targeted for removal.
+ */
+ public void addGroup(Group group)
+ {
+ this.groups.add(group);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#deleteGroups()} to retrieve list of Groups as defined in input xml file.
+ *
+ * @return collection containing {@link Group}s targeted for removal.
+ */
+ public List<Group> getGroups()
+ {
+ return this.groups;
+ }
+}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delorgunit.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delorgunit.java b/src/main/java/org/apache/directory/fortress/core/ant/Delorgunit.java
new file mode 100755
index 0000000..7af0216
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delorgunit.java
@@ -0,0 +1,89 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.fortress.core.rbac.OrgUnitAnt;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to delete {@link org.apache.directory.fortress.core.rbac.OrgUnit}s used to drive {@link org.apache.directory.fortress.core.DelAdminMgr#delete(org.apache.directory.fortress.core.rbac.OrgUnit)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delorgunit', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delorgunit>
+ * ...
+ * </delorgunit>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delorgunit
+{
+ final private List<OrgUnitAnt> ous = new ArrayList<>();
+
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delorgunit()
+ {
+ }
+
+
+ /**
+ * <p>This method name, 'addOrgUnit', is used for derived xml tag 'orgunit' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delorgunit>
+ * <orgunit name="demousrs1" typeName="USER"/>
+ * <orgunit name="demousrs2" typename="USER"/>
+ * <orgunit name="demoapps1" typeName="PERM"/>
+ * <orgunit name="demoapps2" typename="PERM"/>
+ * </delorgunit>
+ * }
+ * </pre>
+ *
+ * @param ou contains reference to data element targeted for deletion..
+ */
+ public void addOrgUnit(OrgUnitAnt ou)
+ {
+ this.ous.add(ou);
+ }
+
+
+ /**
+ * Used by {@link FortressAntTask#addOrgunits()} to retrieve list of OrgUnits as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.rbac.OrgUnit}s targeted for removal.
+ */
+ public List<OrgUnitAnt> getOrgUnits()
+ {
+ return this.ous;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/DelpermGrant.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/DelpermGrant.java b/src/main/java/org/apache/directory/fortress/core/ant/DelpermGrant.java
new file mode 100755
index 0000000..a68cd7d
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/DelpermGrant.java
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.PermGrant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class is used by {@link FortressAntTask} to revoke {@link PermGrant}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#revokePermission(org.apache.directory.fortress.core.rbac.Permission, org.apache.directory.fortress.core.rbac.Role)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'DelpermGrant', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delpermgrant>
+ * ...
+ * </delpermgrant>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class DelpermGrant
+{
+ private List<PermGrant> permGrants = new ArrayList<>();
+
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public DelpermGrant()
+ {
+ }
+
+
+ /**
+ * <p>This method name, 'addPermGrant', is used for derived xml tag 'permgrant' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delpermgrant>
+ * <permgrant objName="/jsp/cal/cal1.jsp" opName="main" roleNm="role1"/>
+ * <permgrant objName="/jsp/cal/cal2.jsp" opName="8am" roleNm="role1"/>
+ * <permgrant objName="/jsp/cal/cal2.jsp" opName="10am" roleNm="role1"/>
+ * <permgrant objName="/jsp/cal/cal2.jsp" opName="12pm" roleNm="role1"/>
+ * <permgrant objName="/jsp/cal/cal2.jsp" opName="2pm" roleNm="role1"/>
+ * <permgrant objName="/jsp/cal/cal2.jsp" opName="4pm" roleNm="role1"/>
+ * <permgrant objName="/jsp/cal/cal2.jsp" opName="6pm" roleNm="role1"/>
+ * </delpermgrant>
+ * }
+ * </pre>
+ *
+ * @param permGrant contains reference to data element targeted for revocation.
+ */
+ public void addPermGrant(PermGrant permGrant)
+ {
+ this.permGrants.add(permGrant);
+ }
+
+
+ /**
+ * Used by {@link FortressAntTask#addPermGrants()} to retrieve list of PermGrant as defined in input xml file.
+ *
+ * @return collection containing {@link PermGrant}s targeted for revocation.
+ */
+ public List<PermGrant> getPermGrants()
+ {
+ return this.permGrants;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/DelpermObj.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/DelpermObj.java b/src/main/java/org/apache/directory/fortress/core/ant/DelpermObj.java
new file mode 100755
index 0000000..851ecc4
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/DelpermObj.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.fortress.core.rbac.PermObj;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link PermObj}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#deletePermObj(org.apache.directory.fortress.core.rbac.PermObj)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'DelpermObj', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delpermobj>
+ * ...
+ * </delpermobj>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class DelpermObj
+{
+ final private List<PermObj> permObjs = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public DelpermObj()
+ {
+ }
+
+ /**
+ * <p>This method name, 'delPermObj', is used for derived xml tag 'permobj' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delpermobj>
+ * <permobj objName="/jsp/cal/cal1.jsp"/>
+ * <permobj objName="/jsp/cal/cal2.jsp"/>
+ * </delpermobj>
+ * }
+ * </pre>
+ *
+ * @param permObj contains reference to data element targeted for insertion..
+ */
+ public void addPermObj(PermObj permObj)
+ {
+ this.permObjs.add(permObj);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#addPermObjs()} to retrieve list of PermObjs as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.rbac.PermObj}s targeted for deletion.
+ */
+ public List<PermObj> getObjs()
+ {
+ return this.permObjs;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/DelpermOp.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/DelpermOp.java b/src/main/java/org/apache/directory/fortress/core/ant/DelpermOp.java
new file mode 100755
index 0000000..119bc2e
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/DelpermOp.java
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link org.apache.directory.fortress.core.ant.PermAnt}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#deletePermission(org.apache.directory.fortress.core.rbac.Permission)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'DelpermOp', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delpermop>
+ * ...
+ * </delpermop>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class DelpermOp
+{
+ final private List<PermAnt> permissions = new ArrayList<>();
+
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public DelpermOp()
+ {
+ }
+
+
+ /**
+ * <p>This method name, 'addPermOp', is used for derived xml tag 'permop' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delpermop>
+ * <permop opName="main" objName="/jsp/cal/cal1.jsp"/>
+ * <permop opName="8am" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="9am" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="10am" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="11am" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="12pm" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="1pm" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="2pm" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="3pm" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="4pm" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="5pm" objName="/jsp/cal/cal2.jsp"/>
+ * <permop opName="6pm" objName="/jsp/cal/cal2.jsp"/>
+ * </delpermop>
+ * }
+ * </pre>
+ *
+ * @param permission contains reference to data element targeted for removal..
+ */
+ public void addPermOp(PermAnt permission)
+ {
+ this.permissions.add(permission);
+ }
+
+
+ /**
+ * Used by {@link FortressAntTask#addPermOps()} to retrieve list of Permissions as defined in input xml file.
+ *
+ * @return collection containing {@link PermAnt}s targeted for removal.
+ */
+ public List<PermAnt> getPermOps()
+ {
+ return this.permissions;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delpermorgunitinheritance.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delpermorgunitinheritance.java b/src/main/java/org/apache/directory/fortress/core/ant/Delpermorgunitinheritance.java
new file mode 100755
index 0000000..51ffc85
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delpermorgunitinheritance.java
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.Relationship;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link Relationship}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#deleteInheritance(org.apache.directory.fortress.core.rbac.Role, org.apache.directory.fortress.core.rbac.Role)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delpermorgunitinheritance', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delpermorgunitinheritance>
+ * ...
+ * </delpermorgunitinheritance>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ *
+ * @author Shawn McKinney
+ */
+public class Delpermorgunitinheritance
+{
+ final private List<Relationship> relationships = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delpermorgunitinheritance()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addRelationship', is used for derived xml tag 'relationship' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delpermorgunitinheritance>
+ * <relationship child="ou2" parent="ou1"/>
+ * <relationship child="ou3" parent="ou1"/>
+ * <relationship child="ou4" parent="ou1"/>
+ * </delpermorgunitinheritance>
+ * }
+ * </pre>
+ *
+ * @param relationship contains reference to data element targeted for removal.
+ */
+ public void addRelationship(Relationship relationship)
+ {
+ this.relationships.add(relationship);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#deleteRoles()} to retrieve list of Relationships as defined in input xml file.
+ *
+ * @return collection containing {@link Relationship}s targeted for removal.
+ */
+ public List<Relationship> getRelationships()
+ {
+ return this.relationships;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delpwpolicy.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delpwpolicy.java b/src/main/java/org/apache/directory/fortress/core/ant/Delpwpolicy.java
new file mode 100755
index 0000000..ebc8dd7
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delpwpolicy.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.PwPolicy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link org.apache.directory.fortress.core.rbac.PwPolicy}s used to drive {@link org.apache.directory.fortress.core.PwPolicyMgr#delete(org.apache.directory.fortress.core.rbac.PwPolicy)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delpwpolicy', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delpwpolicy>
+ * ...
+ * </delpwpolicy>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delpwpolicy
+{
+ final private List<PwPolicy> policies = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delpwpolicy()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addPolicy', is used for derived xml tag 'policy' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delpwpolicy>
+ * <policy name="Test1"/>
+ * </delpwpolicy>
+ * }
+ * </pre>
+ *
+ * @param policy contains reference to data element targeted for removal.
+ */
+ public void addPolicy(PwPolicy policy)
+ {
+ this.policies.add(policy);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#deletePolicies()} to retrieve list of PwPolicy as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.rbac.PwPolicy}s targeted for removal.
+ */
+ public List<PwPolicy> getPolicies()
+ {
+ return this.policies;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delrole.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delrole.java b/src/main/java/org/apache/directory/fortress/core/ant/Delrole.java
new file mode 100755
index 0000000..c2721b7
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delrole.java
@@ -0,0 +1,85 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.Role;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to load {@link org.apache.directory.fortress.core.rbac.Role}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#deleteRole(org.apache.directory.fortress.core.rbac.Role)}}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delrole', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delrole>
+ * ...
+ * </delrole>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delrole
+{
+ final private List<Role> roles = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delrole()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addRole', is used for derived xml tag 'role' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delrole>
+ * <role name="role1"/>
+ * <role name="role2"/>
+ * </delrole>
+ * }
+ * </pre>
+ *
+ * @param role contains reference to data element targeted for removal.
+ */
+ public void addRole(Role role)
+ {
+ this.roles.add(role);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#deleteRoles()} to retrieve list of Roles as defined in input xml file.
+ *
+ * @return collection containing {@link org.apache.directory.fortress.core.rbac.Role}s targeted for removal.
+ */
+ public List<Role> getRoles()
+ {
+ return this.roles;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delroleinheritance.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delroleinheritance.java b/src/main/java/org/apache/directory/fortress/core/ant/Delroleinheritance.java
new file mode 100755
index 0000000..39582ed
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delroleinheritance.java
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import org.apache.directory.fortress.core.rbac.Relationship;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link org.apache.directory.fortress.core.ant.FortressAntTask} to load {@link Relationship}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#deleteInheritance(org.apache.directory.fortress.core.rbac.Role, org.apache.directory.fortress.core.rbac.Role)}.
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delroleinheritance', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delroleinheritance>
+ * ...
+ * </delroleinheritance>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ *
+ * @author Shawn McKinney
+ */
+public class Delroleinheritance
+{
+ final private List<Relationship> relationships = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delroleinheritance()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addRelationship', is used for derived xml tag 'relationship' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delroleinheritance>
+ * <relationship child="r2" parent="r1"/>
+ * <relationship child="r3" parent="r1"/>
+ * </delroleinheritance>
+ * }
+ * </pre>
+ *
+ * @param relationship contains reference to data element targeted for removal.
+ */
+ public void addRelationship(Relationship relationship)
+ {
+ this.relationships.add(relationship);
+ }
+
+ /**
+ * Used by {@link org.apache.directory.fortress.core.ant.FortressAntTask#deleteRoleInheritances()} to retrieve list of Role relationships as defined in input xml file.
+ *
+ * @return collection containing {@link Relationship}s targeted for removal.
+ */
+ public List<Relationship> getRelationships()
+ {
+ return this.relationships;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/687ee1ad/src/main/java/org/apache/directory/fortress/core/ant/Delsdset.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ant/Delsdset.java b/src/main/java/org/apache/directory/fortress/core/ant/Delsdset.java
new file mode 100755
index 0000000..75f3610
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/core/ant/Delsdset.java
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.directory.fortress.core.ant;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The class is used by {@link FortressAntTask} to create new {@link SDSetAnt}s used to drive {@link org.apache.directory.fortress.core.AdminMgr#deleteSsdSet(org.apache.directory.fortress.core.rbac.SDSet)} or {@link org.apache.directory.fortress.core.AdminMgr#deleteDsdSet(org.apache.directory.fortress.core.rbac.SDSet)}.
+ *
+ * It is not intended to be callable by programs outside of the Ant load utility. The class name itself maps to the xml tag used by load utility.
+ * <p>This class name, 'Delsdset', is used for the xml tag in the load script.</p>
+ * <pre>
+ * {@code
+ * <target name="all">
+ * <FortressAdmin>
+ * <delsdset>
+ * ...
+ * </delsdset>
+ * </FortressAdmin>
+ * </target>
+ * }
+ * </pre>
+ *
+ * @author Shawn McKinney
+ */
+public class Delsdset
+{
+ final private List<SDSetAnt> sds = new ArrayList<>();
+
+ /**
+ * All Ant data entities must have a default constructor.
+ */
+ public Delsdset()
+ {
+ }
+
+ /**
+ * <p>This method name, 'addSdset', is used for derived xml tag 'sdset' in the load script.</p>
+ * <pre>
+ * {@code
+ * <delsdset>
+ * <sdset name="DemoSSD1" settype="STATIC" />
+ * <sdset name="DemoDSD1" settype="DYNAMIC" />
+ * </delsdset>
+ * }
+ * </pre>
+ *
+ * @param sd contains reference to data element targeted for removal.
+ */
+ public void addSdset(SDSetAnt sd)
+ {
+ this.sds.add(sd);
+ }
+
+ /**
+ * Used by {@link FortressAntTask#deleteSdsets()} to retrieve list of SDSetAnt as defined in input xml file.
+ *
+ * @return collection containing {@link SDSetAnt}s targeted for removal.
+ */
+ public List<SDSetAnt> getSdset()
+ {
+ return this.sds;
+ }
+}
+