Hey everyone,

I am writing a CRM like application in Java. Looking around I got started using com.zimbra.common.util.CliUtil . I can now get contacts for a single user and things of that nature; however, I want to be able to login as user with administrator permissions and be able to view and modify everyone contacts, appointments etc. Right now I have to log in as each user. Am I using the wrong classes? What should I be using?

Here is a little bit of code to give you an idea of what I am doing:

Code:
    public ZimbraInterface(String accessName, String accessPassword, String accessURL)
    {
        this.accessName = accessName;
        this.accessPass = accessPassword;
        this.accessURL = accessURL;
        CliUtil.toolSetup();
    }

    private LmcSession getSession() throws Exception
    {
        if(System.currentTimeMillis() - sessionLastAccessed > SESSION_TIMEOUT || session == null)
        {    
            LmcAuthRequest authRequest = new LmcAuthRequest();
            authRequest.setUsername(accessName);
            authRequest.setPassword(accessPass);
            LmcAuthResponse authResponse;
            authResponse = (LmcAuthResponse)authRequest.invoke(accessURL);
            session = authResponse.getSession();
            sessionLastAccessed = System.currentTimeMillis();
        }
        return session;
    }
    private ZmContact[] getContacts() throws Exception
    {        
        LmcGetContactsRequest contactsRequest = new LmcGetContactsRequest();
        contactsRequest.setSession(getSession());
        LmcGetContactsResponse contactsResponse = (LmcGetContactsResponse)contactsRequest.invoke(accessURL);
        LmcContact zmContacts[] = contactsResponse.getContacts();
        ZmContact[] result = new ZmContact[zmContacts.length];
        for(int i = 0; i < zmContacts.length; i++)
            result[i] = new ZmContact( zmContacts[i].getAttrs(), zmContacts[i].getID());            
        return result;
    }
etc etc