Author: prabath
Date: Tue Mar 18 00:20:48 2008
New Revision: 14946
Log:
added new admin functionality - OpenIDs by User [UserID,OpenID, Number of
Visits]
Added:
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statopenidbyuser.jsp
Modified:
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/UIConstants.java
trunk/solutions/identity/modules/admin-ui/src/main/resources/struts.xml
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statisticsmain.jsp
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/ReportAdmin.java
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/IPPersistenceManager.java
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/OpenIDUserRPDAO.java
Modified:
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/UIConstants.java
==============================================================================
---
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/UIConstants.java
(original)
+++
trunk/solutions/identity/modules/admin-ui/src/main/java/org/wso2/solutions/identity/admin/ui/UIConstants.java
Tue Mar 18 00:20:48 2008
@@ -73,6 +73,7 @@
public final static String REPORT_TOKEN_CARD = "tokensByCard";
public final static String REPORT_TOKEN_CARD_USER ="tokensByCardAndUser";
public final static String REPORT_CARD_USER ="cardsByUser";
+ public final static String REPORT_OpenID_USER ="openIDByUser";
}
Modified:
trunk/solutions/identity/modules/admin-ui/src/main/resources/struts.xml
==============================================================================
--- trunk/solutions/identity/modules/admin-ui/src/main/resources/struts.xml
(original)
+++ trunk/solutions/identity/modules/admin-ui/src/main/resources/struts.xml
Tue Mar 18 00:20:48 2008
@@ -223,21 +223,25 @@
<result name="success">jsp/statfailure.jsp</result>
<result name="error">jsp/statisticsmain.jsp</result>
</action>
- <action name="ReportTokenByUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummeryAction">
+ <action name="ReportTokenByUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummaryAction">
<result name="success">jsp/stattokenbyuser.jsp</result>
<result name="error">jsp/statisticsmain.jsp</result>
</action>
- <action name="ReportTokenByCard"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummeryAction">
+ <action name="ReportTokenByCard"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummaryAction">
<result name="success">jsp/stattokenbycard.jsp</result>
<result name="error">jsp/statisticsmain.jsp</result>
</action>
- <action name="ReportTokenByCardAndUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummeryAction">
+ <action name="ReportTokenByCardAndUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummaryAction">
<result
name="success">jsp/stattokenbycardanduser.jsp</result>
<result name="error">jsp/statisticsmain.jsp</result>
</action>
- <action name="ReportInfoCardByUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummeryAction">
+ <action name="ReportInfoCardByUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummaryAction">
<result name="success">jsp/statcardbyuser.jsp</result>
<result name="error">jsp/statisticsmain.jsp</result>
+ </action>
+ <action name="ReportOpenIDByUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportSummaryAction">
+ <result name="success">jsp/statopenidbyuser.jsp</result>
+ <result name="error">jsp/statisticsmain.jsp</result>
</action>
<action name="ReportCardDataOfUser"
class="org.wso2.solutions.identity.admin.ui.action.ReportDetailsAction">
<result name="success">jsp/statdetailcard.jsp</result>
Modified:
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statisticsmain.jsp
==============================================================================
---
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statisticsmain.jsp
(original)
+++
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statisticsmain.jsp
Tue Mar 18 00:20:48 2008
@@ -63,7 +63,8 @@
<s:a
href="ReportTokenByUser.action?type=tokensByUser"
cssClass="report-statistics-link" >Tokens by User</s:a> <!--tokenCount, userId
-->
<s:a
href="ReportTokenByCard.action?type=tokensByCard"
cssClass="report-statistics-link" >Tokens by Card</s:a> <!--tokenCount,cardId
-->
<s:a
href="ReportTokenByCardAndUser.action?type=tokensByCardAndUser"
cssClass="report-statistics-link" >Tokens by User and Card</s:a><!--tokenCount,
userId, cardId -->
- <s:a
href="ReportInfoCardByUser.action?type=cardsByUser"
cssClass="report-statistics-link" >Info Cards by User</s:a> <!--cardCount,
userId -->
+ <s:a
href="ReportInfoCardByUser.action?type=cardsByUser"
cssClass="report-statistics-link" >Info Cards by User</s:a> <!--cardCount,
userId -->
+ <s:a
href="ReportOpenIDByUser.action?type=openIDByUser"
cssClass="report-statistics-link" >OpenIDs by User</s:a> <!--userId, openid,
visits -->
</td>
</tr>
Added:
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statopenidbyuser.jsp
==============================================================================
--- (empty file)
+++
trunk/solutions/identity/modules/admin-ui/src/main/webapp/jsp/statopenidbyuser.jsp
Tue Mar 18 00:20:48 2008
@@ -0,0 +1,81 @@
+<%@ taglib prefix="s" uri="/struts-tags" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+"http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<script>
+function showhide(id){
+ var to_showhide=document.getElementById(id+'-content');
+ if(to_showhide.style.display=='block') to_showhide.style.display='none';
+ else to_showhide.style.display='block';
+}
+function showhideForm(id){
+var to_showhide=document.getElementById(id+'-form');
+var to_hide=document.getElementById(id+'-content');
+ if(to_showhide.style.display=='block'){
+ to_showhide.style.display='none';
+ }
+ else{
+ to_showhide.style.display='block';
+ to_hide.style.display='none';
+ }
+}
+</script>
+<title>WSO2 Identity Solution | Management Console</title>
+<link type="text/css" rel="stylesheet" href="css/styles.css" />
+</head>
+<body>
+
+<div class="page">
+
+ <!-- START Header -->
+ <s:include value="header.jsp" />
+ <!-- END Header -->
+
+ <!-- START Content -->
+ <table cellpadding="0" cellspacing="0" border="0" class="middle">
+ <tr>
+ <td class="left-menu" valign="top">
+ <div class="menu-back">
+
+ <!-- START menu -->
+ <s:include value="menu.jsp" />
+ <!-- END menu -->
+
+
+ </div>
+ </td>
+ <td class="content" valign="top">
+ <div class="breadcrumb"><a
class="breadcrumb-link" href="ShowMain.action">Home</a> | <a
class="breadcrumb-link" href="ShowStatistics.action">Statistics</a> | OpenIDs
grouped by user</div>
+ <h1 class="headding-statistics">OpenIDs grouped
by user</h1>
+
+ <p><s:property value="description" /></p>
+ <s:set name="type" value="cardsByUser"/>
+ <table cellpadding="0" cellspacing="0" border="0"
class="data-table">
+ <tr>
+ <th>UserId</th>
+ <th>OpenID</th>
+ <th>Visits</th>
+ </tr>
+ <s:iterator value="dataList" status="status">
+ <tr>
+ <td><s:property value="userId" /></td>
+ <td><s:property value="openID" /></td>
+ <td><s:property value="cardCount" /></td>
+ </tr>
+ </s:iterator>
+ </table>
+ <s:a href="ShowStatistics.action" cssClass="back-link"
>Back</s:a>
+
+ </td>
+ </tr>
+ </table>
+ <!-- END Content -->
+</div>
+
+<!-- Include footer -->
+<s:include value="footer.jsp" />
+
+
+ </body>
+</html>
\ No newline at end of file
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/ReportAdmin.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/ReportAdmin.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/admin/ReportAdmin.java
Tue Mar 18 00:20:48 2008
@@ -7,6 +7,7 @@
import org.wso2.solutions.identity.persistence.IPPersistenceManager;
import org.wso2.solutions.identity.persistence.dataobject.ActionDO;
import org.wso2.solutions.identity.persistence.dataobject.IssuedTokensDO;
+import org.wso2.solutions.identity.report.OpenIDSummaryReportData;
import org.wso2.solutions.identity.report.ReportUtil;
public class ReportAdmin {
@@ -42,7 +43,7 @@
fromDate, toDate);
}
- // summery reports
+ // summary reports
public List getCardIdsGroupedByUser() throws IdentityProviderException {
IPPersistenceManager dbman = IPPersistenceManager
.getPersistanceManager();
@@ -70,6 +71,12 @@
List lst = dbman.getTokensGroupedByUser();
return lst;
}
+
+ public List<OpenIDSummaryReportData> getOpenIDsGroupedByUser() throws
IdentityProviderException {
+ IPPersistenceManager dbman = IPPersistenceManager
+ .getPersistanceManager();
+ return dbman.getOpenIDsGroupedByUser();
+ }
// /////////////////////////// Detailed reports
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDUtil.java
Tue Mar 18 00:20:48 2008
@@ -75,8 +75,8 @@
* @throws ServerException
* @throws IdentityProviderException
*/
- public static String getUserName(String openId) throws ServerException,
- IdentityProviderException {
+ public static String getUserName(String openId)
+ throws IdentityProviderException {
UserStore userStore = null;
List<String> users = null;
@@ -285,4 +285,37 @@
}
}
+ public static String getOpenID(String userName)
+ throws IdentityProviderException {
+
+ UserStore userStore = null;
+ List<String> users = null;
+
+ userStore = UserStore.getInstance();
+ users = userStore.getAllUserNames();
+
+ if (users == null)
+ throw new IdentityProviderException(
+ IdentityConstants.ErrorCodes.NO_USERS_FOUND);
+
+ Map<String, String> mapValues = null;
+ Iterator<String> iterator = null;
+
+ iterator = users.iterator();
+
+ while (iterator.hasNext()) {
+
+ String user = iterator.next();
+ mapValues = userStore.getClaimValues(user, null);
+
+ if (mapValues != null && !mapValues.isEmpty()) {
+ if (user.equals(userName)) {
+ return (String) mapValues
+ .get(IdentityConstants.CLAIM_OPENID);
+ }
+ }
+ }
+ return null;
+ }
+
}
\ No newline at end of file
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/IPPersistenceManager.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/IPPersistenceManager.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/IPPersistenceManager.java
Tue Mar 18 00:20:48 2008
@@ -52,6 +52,8 @@
import org.wso2.solutions.identity.persistence.dataobject.RevokedInfoCardDO;
import
org.wso2.solutions.identity.persistence.dataobject.UserPersonalRelyingPartyIdentifier;
import org.wso2.solutions.identity.persistence.dataobject.UserTrustedRPDO;
+import org.wso2.solutions.identity.report.OpenIDSummaryReportData;
+import org.wso2.solutions.identity.report.SummaryReportData;
import java.util.Date;
import java.util.List;
@@ -467,4 +469,9 @@
UserPersonalRelyingPartyDAO dao = new
UserPersonalRelyingPartyDAO(hbConfig);
return dao.getPersonalRelyingPartyByHostName(hostName);
}
+
+ public List<OpenIDSummaryReportData> getOpenIDsGroupedByUser() {
+ OpenIDUserRPDAO dao = new OpenIDUserRPDAO(hbConfig);
+ return dao.getOpenIDsGroupedByUser();
+ }
}
\ No newline at end of file
Modified:
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/OpenIDUserRPDAO.java
==============================================================================
---
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/OpenIDUserRPDAO.java
(original)
+++
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/persistence/dao/OpenIDUserRPDAO.java
Tue Mar 18 00:20:48 2008
@@ -1,11 +1,16 @@
package org.wso2.solutions.identity.persistence.dao;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
+import org.hibernate.Transaction;
import org.wso2.solutions.identity.persistence.dataobject.OpenIDUserRPDO;
import org.wso2.solutions.identity.persistence.HibernateConfig;
+import org.wso2.solutions.identity.report.OpenIDSummaryReportData;
+import org.wso2.solutions.identity.report.SummaryReportData;
public class OpenIDUserRPDAO extends BaseDAO {
@@ -104,4 +109,38 @@
}
}
+ /**
+ *
+ * @return
+ */
+ public List<OpenIDSummaryReportData> getOpenIDsGroupedByUser() {
+
+ String stmt = "select c.userName, count(c.visitCount) from
OpenIDUserRPDO c group by c.userName";
+ Session session = hbConfig.getCurrentSession();
+
+ List<OpenIDSummaryReportData> userData = new
ArrayList<OpenIDSummaryReportData>();
+
+ try {
+ Query query = session.createQuery(stmt);
+ List lst = query.list();
+ Iterator ite = lst.iterator();
+ while (ite.hasNext()) {
+ Object[] tuple = (Object[]) ite.next();
+ String userId = (String) tuple[0];
+ Integer count = (Integer) tuple[1];
+ OpenIDSummaryReportData data = new OpenIDSummaryReportData();
+ data.setCardCount(count.intValue());
+ data.setUserId(userId);
+ userData.add(data);
+ }
+ } catch (Throwable e) {
+ String msg = messages.getMessage("errorQuerryingOpenIDUserRP");
+ log.error(msg, e);
+ throw new RuntimeException(msg, e);
+ } finally {
+ hbConfig.closeSession();
+ }
+ return userData;
+ }
+
}
_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev