
Originally Posted by
scotty
I don't think you can get the AccountCache singleton directly; it's used internally. However, it looks like you can use the Provisioning singleton and the get() method:
Code:
Provisioning prov = Provisioning.getInstance();
Account retAcct = prov.get(AccountBy.id, my_uid);
Unfortunally it doesn't work (I get a java compilation error)
Code:
<!-- test.jsp -->
<html>
<head>
<title>Prova</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1; Tue, 20 Aug 2996 14:25:27 GMT">
</head>
<body>
<%@ page import="com.zimbra.cs.account.*, com.zimbra.cs.zimlet.*" %>
<%
out.println("JSP --> Ciao Mondo!");
out.println("<BR>");
String name = null;
String my_uid = null;
Provisioning prov = Provisioning.getInstance();
javax.servlet.http.Cookie[] cookies = request.getCookies();
String authTokenString = "";
Account acct = null;
for (javax.servlet.http.Cookie cookie : cookies) {
if (cookie.getName().equals("ZM_AUTH_TOKEN")) {
authTokenString = cookie.getValue();
}
}
if (!authTokenString.equals("")) {
AuthToken authToken = AuthToken.getAuthToken(authTokenString);
acct = prov.get(Provisioning.AccountBy.id, authToken.getAccountId());
}
if (acct != null) {
name = acct.getName();
out.println(name);
}
if (acct != null) {
my_uid = acct.getId();
out.println(my_uid);
out.println("<BR>"+"retAcct"+"<BR>");
Provisioning prov1 = Provisioning.getInstance();
Account retAcct = prov1.get(AccountBy.id, my_uid);
/*
if (retAcct != null) {
name = retAcct.getName();
out.println(name);
}
if (retAcct != null) {
my_uid = retAcct.getId();
out.println(my_uid);
}
*/
}
%>
</body>
</html>