[Registry-dev] svn commit r9989 - in
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc:
. dao hsql
svn at wso2.org
svn at wso2.org
Tue Nov 20 21:13:37 PST 2007
Author: chathura
Date: Tue Nov 20 21:13:27 2007
New Revision: 9989
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/dao/TagsDAO.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/hsql/DBUtils.java
Log:
Removed the tags table from registry as discussed in the hackathan and the mailing list.
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 Tue Nov 20 21:13:27 2007
@@ -372,22 +372,16 @@
if (tags[i].length() == 0 || tags[i].equals(" ")) {
continue;
- }
-
- if (!tagsDAO.tagExist(tags[i], conn)) {
- tagsDAO.addTag(tags[i], conn);
- }
-
- TagDO tagDO = tagsDAO.getTag(tags[i], conn);
+ }
- if (tagsDAO.taggingExist(tagDO.getId(), resource.getId(), userID, conn)) {
+ if (tagsDAO.taggingExist(tags[i], resource.getId(), userID, conn)) {
String msg =
Messages.getMessage("resource.already.tagged", resourcePath, tags[i], userID);
log.error(msg);
throw new RegistryException(msg);
}
- tagsDAO.addTagging(tagDO.getId(), resource.getId(), userID, conn);
+ tagsDAO.addTagging(tags[i], resource.getId(), userID, conn);
logsDAO.addLog(resource.getId(), userID, LogEntry.TAG, tags[i], conn);
}
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/TagsDAO.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/TagsDAO.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/TagsDAO.java Tue Nov 20 21:13:27 2007
@@ -31,60 +31,14 @@
public class TagsDAO {
- public void addTag(String tag, Connection conn) throws SQLException {
+ public void addTagging(String tagName, long resourceID, String userID, Connection conn) throws SQLException {
- String sql = "INSERT INTO TAGS (TAG_NAME) VALUES (?)";
-
- PreparedStatement s = conn.prepareStatement(sql);
- s.setString(1, tag);
-
- s.executeUpdate();
- }
-
- public TagDO getTag(String tag, Connection conn) throws SQLException {
-
- TagDO tagDO = null;
-
- String sql = "SELECT * FROM TAGS T WHERE T.TAG_NAME=?";
-
- PreparedStatement s = conn.prepareStatement(sql);
- s.setString(1, tag);
-
- ResultSet result = s.executeQuery();
-
- if (result.next()) {
- tagDO = new TagDO();
- tagDO.setId(result.getLong(DatabaseConstants.TAG_ID_FIELD));
- tagDO.setTagName(result.getString(DatabaseConstants.TAG_NAME_FIELD));
- }
-
- return tagDO;
- }
-
- public boolean tagExist(String tag, Connection conn) throws SQLException {
-
- String sql = "SELECT COUNT(T.TAG_NAME) FROM TAGS T WHERE T.TAG_NAME=?";
-
- PreparedStatement s = conn.prepareStatement(sql);
- s.setString(1, tag);
-
- ResultSet result = s.executeQuery();
- long count = 0;
- if (result.next()) {
- count = result.getLong(1);
- }
-
- return count == 1;
- }
-
- public void addTagging(long tagID, long resourceID, String userID, Connection conn) throws SQLException {
-
- String sql = "INSERT INTO TAGGINGS (TAG_ID, AID, USER_ID, TAGGED_TIME) VALUES (?,?,?,?)";
+ String sql = "INSERT INTO TAGGINGS (TAG_NAME, AID, USER_ID, TAGGED_TIME) VALUES (?,?,?,?)";
long now = System.currentTimeMillis();
PreparedStatement s = conn.prepareStatement(sql);
- s.setLong(1, tagID);
+ s.setString(1, tagName);
s.setLong(2, resourceID);
s.setString(3, userID);
s.setDate(4, new Date(now));
@@ -92,13 +46,13 @@
s.executeUpdate();
}
- public boolean taggingExist(long tagID, long resourceID, String userID, Connection conn)
+ public boolean taggingExist(String tagName, long resourceID, String userID, Connection conn)
throws SQLException {
- String sql = "SELECT COUNT(TN.TAG_ID) FROM TAGGINGS TN WHERE TN.TAG_ID=? AND TN.AID=? AND TN.USER_ID=?";
+ String sql = "SELECT COUNT(TN.TAG_NAME) FROM TAGGINGS TN WHERE TN.TAG_NAME=? AND TN.AID=? AND TN.USER_ID=?";
PreparedStatement s = conn.prepareStatement(sql);
- s.setLong(1, tagID);
+ s.setString(1, tagName);
s.setLong(2, resourceID);
s.setString(3, userID);
@@ -155,7 +109,8 @@
public List getTaggedPaths(String tag, Connection conn) throws SQLException {
- String sql = "SELECT A.PATH, COUNT(T.TAG_ID) FROM ARTIFACTS A, TAGGINGS TN, TAGS T WHERE T.TAG_NAME=? AND T.TAG_ID=TN.TAG_ID AND TN.AID=A.AID GROUP BY A.PATH";
+ //String sql = "SELECT A.PATH, COUNT(T.TAG_ID) FROM ARTIFACTS A, TAGGINGS TN, TAGS T WHERE T.TAG_NAME=? AND T.TAG_ID=TN.TAG_ID AND TN.AID=A.AID GROUP BY A.PATH";
+ String sql = "SELECT A.PATH, COUNT(TN.TAG_NAME) FROM ARTIFACTS A, TAGGINGS TN WHERE TN.TAG_NAME=? AND TN.AID=A.AID GROUP BY A.PATH";
PreparedStatement s = conn.prepareStatement(sql);
s.setString(1, tag);
@@ -174,7 +129,8 @@
public Tag[] getTagsWithCount(String path, Connection conn) throws SQLException {
- String sql = "SELECT T.TAG_NAME, COUNT(A.AID) FROM TAGS T, TAGGINGS TN, ARTIFACTS A WHERE A.PATH=? AND A.AID=TN.AID AND TN.TAG_ID=T.TAG_ID GROUP BY T.TAG_NAME";
+ //String sql = "SELECT T.TAG_NAME, COUNT(A.AID) FROM TAGS T, TAGGINGS TN, ARTIFACTS A WHERE A.PATH=? AND A.AID=TN.AID AND TN.TAG_ID=T.TAG_ID GROUP BY T.TAG_NAME";
+ String sql = "SELECT TN.TAG_NAME, COUNT(A.AID) FROM TAGGINGS TN, ARTIFACTS A WHERE A.PATH=? AND A.AID=TN.AID GROUP BY TN.TAG_NAME";
PreparedStatement s = conn.prepareStatement(sql);
s.setString(1, path);
@@ -197,7 +153,7 @@
ResourceDAO resourceDAO = new ResourceDAO();
long aid = resourceDAO.getArtifactID(path, conn);
- String sql = "SELECT T.TAGGED_TIME FROM TAGGINGS T, TAGS TG, ARTIFACTS A WHERE A.AID=T.AID AND T.TAG_ID=TG.TAG_ID AND T.AID=? AND T.USER_ID=? AND TG.TAG_NAME=?";
+ String sql = "SELECT T.TAGGED_TIME FROM TAGGINGS T, ARTIFACTS A WHERE A.AID=T.AID AND T.AID=? AND T.USER_ID=? AND T.TAG_NAME=?";
PreparedStatement s = conn.prepareStatement(sql);
s.setLong(1, aid);
@@ -226,7 +182,7 @@
public TaggingDO getTagging(long taggingID, Connection conn)
throws SQLException {
- String sql = "SELECT A.AID, A.PATH, T.USER_ID, TG.TAG_NAME, T.TAGGED_TIME FROM TAGGINGS T, TAGS TG, ARTIFACTS A WHERE A.AID=T.AID AND T.TAG_ID=TG.TAG_ID AND T.TN_ID=?";
+ String sql = "SELECT A.AID, A.PATH, T.USER_ID, T.TAG_NAME, T.TAGGED_TIME FROM TAGGINGS T, ARTIFACTS A WHERE A.AID=T.AID AND T.TN_ID=?";
PreparedStatement s = conn.prepareStatement(sql);
s.setLong(1, taggingID);
Modified: trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/hsql/DBUtils.java
==============================================================================
--- trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/hsql/DBUtils.java (original)
+++ trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/hsql/DBUtils.java Tue Nov 20 21:13:27 2007
@@ -61,13 +61,12 @@
"UNIQUE (TAG_NAME))";
private static final String taggingsTable = "CREATE TABLE TAGGINGS (TN_ID INTEGER GENERATED BY DEFAULT AS IDENTITY," +
- "TAG_ID INTEGER NOT NULL," +
+ "TAG_NAME VARCHAR (500) NOT NULL," +
"AID INTEGER NOT NULL," +
"USER_ID VARCHAR (20) NOT NULL," +
"TAGGED_TIME TIMESTAMP NOT NULL," +
"PRIMARY KEY (TN_ID)," +
- "UNIQUE (TAG_ID, AID, USER_ID)," +
- "FOREIGN KEY (TAG_ID) REFERENCES TAGS (TAG_ID)," +
+ "UNIQUE (TAG_NAME, AID, USER_ID)," +
"FOREIGN KEY (AID) REFERENCES ARTIFACTS (AID))";
private static final String commentsTable = "CREATE TABLE COMMENTS (CM_ID INTEGER GENERATED BY DEFAULT AS IDENTITY," +
@@ -118,7 +117,7 @@
s.executeUpdate(artifactsTable);
s.executeUpdate(propertiesTable);
s.executeUpdate(childrenTable);
- s.executeUpdate(tagsTable);
+ //s.executeUpdate(tagsTable);
s.executeUpdate(taggingsTable);
s.executeUpdate(commentsTable);
s.executeUpdate(ratingsTable);
More information about the Registry-dev
mailing list