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

Reply via email to