[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