Skip to main content

Sample_Admin_ACL_Operations.java

import java.util.TreeSet;

import com.eruces.teadmin.ACLEntry;
import com.eruces.teadmin.ACLInfo;
import com.eruces.teadmin.Administration;
import com.eruces.teadmin.UserAndPasswordInfo;
import com.eruces.teagent.TEAgentConnection;

public class Sample_Admin_ACL_Operations {

public static void addEntry(TEAgentConnection conn, String hidden_link, String user_name) {

try {
Administration admin = new Administration();
admin.attachConnection(conn);

UserAndPasswordInfo user = admin.getUserByName(user_name);

ACLInfo original_info = admin.getACL(hidden_link);
ACLInfo modified_info = new ACLInfo();
modified_info.setACLID(original_info.getACLID());
modified_info.setHiddenLink(hidden_link);

ACLEntry entry = new ACLEntry(modified_info);
entry.setPrincipalID(user.getPrincipalID());
entry.setFlag(3); //1=read, 2=write, 4=owner - add rights together
entry.setMaxUsage(0);
entry.setStartTime(0);
entry.setEndTime(0);
entry.setSystemID(admin.getSystemID());
entry.setUserRight(ACLEntry.ACL_RIGHT_READ);

admin.updateACL(Administration.ADD_ACLENTRY, modified_info);

System.out.println("Added ACL entry with T-tag: \"" + hidden_link + "\" to user \"" + user_name + "\".");

admin.detachConnection();

}
catch (Exception e) {
e.printStackTrace();
}

}

public static void removeEntry(TEAgentConnection conn, String hidden_link, String user_name) {

try {
Administration admin = new Administration();
admin.attachConnection(conn);

UserAndPasswordInfo user = admin.getUserByName(user_name);
long user_id = user.getPrincipalID();

ACLInfo original_info = admin.getACL(hidden_link);
ACLInfo modified_info = new ACLInfo();
modified_info.setACLID(original_info.getACLID());
modified_info.setHiddenLink(hidden_link);

@SuppressWarnings("unchecked")
TreeSet<ACLEntry> all_entries = original_info.getAllEntries();

ACLEntry entry = null;
for (ACLEntry e : all_entries) {
if (e.getPrincipalID() == user_id) {
entry = e;
break;
}
}

modified_info.addACLEntry(entry);

admin.updateACL(Administration.REMOVE_ACLENTRY, modified_info);

System.out.println("Removed ACL entry with T-tag: \"" + hidden_link + "\" from user \"" + user_name + "\".");

admin.detachConnection();

}
catch (Exception e) {
e.printStackTrace();
}
}
}