[Registry-dev] svn commit r9389 - in
trunk/registry/modules/core/src: main/java/org/wso2/registry
main/java/org/wso2/registry/jdbc
main/java/org/wso2/registry/jdbc/dao
test/java/org/wso2/registry/secure
svn at wso2.org
svn at wso2.org
Thu Nov 1 15:36:21 PDT 2007
Author: chathura
Date: Thu Nov 1 15:36:19 2007
New Revision: 9389
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/LogEntry.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/DatabaseConstants.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/CommentsDAO.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/RatingsDAO.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedArtifactDAO.java
trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java
Log:
Improved the log generating code.
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/LogEntry.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/LogEntry.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/LogEntry.java Thu Nov 1 15:36:19 2007
@@ -27,6 +27,7 @@
public static final int UPDATE = 1;
public static final int COMMENT = 2;
public static final int TAG = 3;
+ public static final int RATING = 4;
/**
* Path of the resource on which the action is performed.
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/DatabaseConstants.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/DatabaseConstants.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/DatabaseConstants.java Thu Nov 1 15:36:19 2007
@@ -65,6 +65,8 @@
// Field names of Ratings table
public static final String RATING_ID_FIELD = "R_ID";
+ public static final String RATED_TIME_FIELD = "RATED_TIME";
+ public static final String RATING_FIELD = "RATING";
// user ID field common for most tables
public static final String USER_ID_FIELD = "USER_ID";
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRegistry.java Thu Nov 1 15:36:19 2007
@@ -762,11 +762,14 @@
try {
List artifactLogs = new VersionedArtifactDAO().getLogs(resourcePath,userName,from,to,
conn);
- logEntryList.addAll(artifactLogs);
+ //logEntryList.addAll(artifactLogs);
List commentLogs = commentsDAO.getLogs(resourcePath, userName, from, to, conn);
logEntryList.addAll(commentLogs);
+ List ratingLogs = ratingsDAO.getLogs(resourcePath, userName, from, to, conn);
+ logEntryList.addAll(ratingLogs);
+
} catch (Exception e) {
log.info("error when getting logs from version table");
throw new RegistryException(e.getMessage());
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/CommentsDAO.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/CommentsDAO.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/CommentsDAO.java Thu Nov 1 15:36:19 2007
@@ -34,7 +34,7 @@
throws SQLException {
String sql = "INSERT INTO COMMENTS (AID, USER_ID, COMMENT_TEXT, COMMENTED_TIME) " +
- "VALUES (?, ?, ?, ?)";
+ "VALUES (?, ?, ?, ?)";
long now = System.currentTimeMillis();
@@ -96,7 +96,7 @@
return comment;
}
- return null;
+ return null;
}
public long[] getCommentIDs(String resourcePath, Connection conn) throws SQLException {
@@ -129,53 +129,22 @@
long aid = -1;
aid = artifactDAO.getArtifactID(resourcePath, conn);
- String sql = "SELECT A.PATH, C.USER_ID, C.COMMENTED_TIME FROM ARTIFATCS A, COMMENTS C";
-
- boolean criteriaStarted = false;
+ String sql = "SELECT A.PATH, C.USER_ID, C.COMMENTED_TIME, C.COMMENT_TEXT FROM ARTIFACTS A, COMMENTS C WHERE A.AID=C.AID";
if (aid != -1) {
- if (criteriaStarted) {
- sql += " AND AID=?";
- } else {
- criteriaStarted = true;
- sql += " WHERE AID=?";
- }
+ sql = sql + " AND C.AID=?";
}
if (userName != null) {
- if (criteriaStarted) {
- sql += " AND USER_ID=?";
- } else {
- criteriaStarted = true;
- sql += " WHERE USER_ID=?";
- }
- }
-
- if (from != null) {
- if (criteriaStarted) {
- sql += " AND COMMENTED_TIME<?";
- } else {
- criteriaStarted = true;
- sql += " WHERE USER_ID<?";
- }
+ sql = sql + " AND C.USER_ID=?";
}
if (from != null) {
- if (criteriaStarted) {
- sql += " AND COMMENTED_TIME>?";
- } else {
- criteriaStarted = true;
- sql += " WHERE USER_ID>?";
- }
+ sql = sql + " AND C.COMMENTED_TIME>?";
}
if (to != null) {
- if (criteriaStarted) {
- sql += " AND COMMENTED_TIME<?";
- } else {
- criteriaStarted = true;
- sql += " WHERE USER_ID<?";
- }
+ sql = sql + " AND C.COMMENTED_TIME<?";
}
PreparedStatement s = conn.prepareStatement(sql);
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/RatingsDAO.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/RatingsDAO.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/RatingsDAO.java Thu Nov 1 15:36:19 2007
@@ -20,6 +20,7 @@
package org.wso2.registry.jdbc.dao;
import org.wso2.registry.jdbc.DatabaseConstants;
+import org.wso2.registry.LogEntry;
import java.sql.*;
import java.util.List;
@@ -143,4 +144,73 @@
return userNames;
}
+
+ public List getLogs(String resourcePath, String userName,
+ java.util.Date from, java.util.Date to, Connection conn)
+ throws SQLException {
+
+ ArtifactDAO artifactDAO = new ArtifactDAO();
+
+ long aid = -1;
+ aid = artifactDAO.getArtifactID(resourcePath, conn);
+
+ String sql = "SELECT A.PATH, R.USER_ID, R.RATED_TIME, R.RATING FROM ARTIFACTS A, RATINGS R WHERE A.AID=R.AID";
+
+ if (aid != -1) {
+ sql = sql + " AND R.AID=?";
+ }
+
+ if (userName != null) {
+ sql = sql + " AND R.USER_ID=?";
+ }
+
+ if (from != null) {
+ sql = sql + " AND R.RATED_TIME>?";
+ }
+
+ if (to != null) {
+ sql = sql + " AND R.RATED_TIME<?";
+ }
+
+ PreparedStatement s = conn.prepareStatement(sql);
+
+ int paramNumber = 1;
+
+ if (aid != -1) {
+ s.setLong(paramNumber, aid);
+ paramNumber++;
+ }
+
+ if (userName != null) {
+ s.setString(paramNumber, userName);
+ paramNumber++;
+ }
+
+ if (from != null) {
+ s.setTimestamp(paramNumber, new Timestamp(from.getTime()));
+ paramNumber++;
+ }
+
+ if (to != null) {
+ s.setTimestamp(paramNumber, new Timestamp(to.getTime()));
+ paramNumber++;
+ }
+
+ ResultSet results = s.executeQuery();
+
+ List resultList = new ArrayList();
+ while (results.next()) {
+ LogEntry logEntry = new LogEntry();
+ logEntry.setResourcePath(results.getString(DatabaseConstants.PATH_FIELD));
+ logEntry.setUserName(results.getString(DatabaseConstants.USER_ID_FIELD));
+ logEntry.setDate(new Date(results.getTimestamp(DatabaseConstants.RATED_TIME_FIELD).getTime()));
+ logEntry.setAction(LogEntry.RATING);
+ int rating = results.getInt(DatabaseConstants.RATING_FIELD);
+ logEntry.setActionData(new Integer(rating).toString());
+
+ resultList.add(logEntry);
+ }
+
+ return resultList;
+ }
}
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedArtifactDAO.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedArtifactDAO.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/VersionedArtifactDAO.java Thu Nov 1 15:36:19 2007
@@ -960,6 +960,8 @@
whereStatment = " WHERE UPDATED_TIME < ?";
}
}
+ SQL = SQL + whereStatment;
+
PreparedStatement ps = conn.prepareStatement(SQL);
int count = 1;
if (aid != 0) {
@@ -983,9 +985,9 @@
while (result.next()) {
LogEntry logEntry = new LogEntry();
logEntry.setAction(LogEntry.UPDATE);
- logEntry.setDate(result.getTime(0));
- logEntry.setUserName(result.getString(1));
- aid = result.getLong(2);
+ logEntry.setDate(result.getTime("UPDATED_TIME"));
+ logEntry.setUserName(result.getString("AUTHOR"));
+ aid = result.getLong("AID");
logEntry.setResourcePath(getArtifactPath(aid, conn));
logevents.add(logEntry);
}
Modified: trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java
==============================================================================
--- trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java (original)
+++ trunk/registry/modules/core/src/test/java/org/wso2/registry/secure/SecureRegistryTest.java Thu Nov 1 15:36:19 2007
@@ -90,44 +90,44 @@
new SecureRegistry(RegistryConstants.ADMIN_USER, "admin", registry, realm);
RegistryUserManager adminUserManager =
new RegistryUserManager(realm, RegistryConstants.ADMIN_USER);
-
+
String r1Content = "R1";
Artifact r1 = new Artifact();
r1.setContent(r1Content.getBytes());
-
+
try {
adminRegistry.put("/r1", r1);
} catch (RegistryException e) {
fail("Valid put scenario failed.");
}
-
+
adminUserManager.addRole("registryTeam");
adminUserManager.authorizeRole("registryTeam", "/r1", ActionConstants.GET);
-
+
adminUserManager.addUser("chathurax", "cce");
- adminUserManager.addUserToRole("chathura", "registryTeam");
-
+ adminUserManager.addUserToRole("chathurax", "registryTeam");
+
adminUserManager.addUser("upulx", "u");
-
+
SecureRegistry chathuraRegistry =
- new SecureRegistry("chathura", "cce", registry, realm);
-
+ new SecureRegistry("chathurax", "cce", registry, realm);
+
try {
chathuraRegistry.get("/r1");
} catch (AuthorizationFailedException e) {
fail("Could not get authorized resource.");
}
-
+
SecureRegistry upulRegistry =
- new SecureRegistry("upul", "u", registry, realm);
-
+ new SecureRegistry("upulx", "u", registry, realm);
+
boolean failed = false;
try {
upulRegistry.get("/r1");
} catch (AuthorizationFailedException e) {
failed = true;
}
-
+
assertTrue("Allowed to get unauthorized resource.", failed);
}
More information about the Registry-dev
mailing list