Author: deepal
Date: Thu Jan 17 01:28:18 2008
New Revision: 12397

Log:

fixing REGISTRY-112

Modified:
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/AtomRegistry.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/dao/CommentsDAO.java
   
trunk/registry/modules/core/src/test/java/org/wso2/registry/app/JettyBasedServerTest.java

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/AtomRegistry.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/AtomRegistry.java
   (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/AtomRegistry.java
   Thu Jan 17 01:28:18 2008
@@ -727,6 +727,7 @@
             feed.setTitle("comments for the resource " + path);
             for (Comment comment : comments) {
                 Entry entry = abdera.getFactory().newEntry();
+                entry.addLink(comment.getPath() ,"path");
                 entry.setId("http://wso2.org/jdbcregistry/atom/comment";);
                 entry.addAuthor(comment.getUser());
                 entry.setUpdated(comment.getTime());

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java
 (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/app/RemoteRegistry.java
 Thu Jan 17 01:28:18 2008
@@ -445,6 +445,9 @@
                 Entry entry = (Entry) entries.get(i);
                 Comment comment = new Comment();
                 comment.setTime(entry.getUpdated());
+                if (entry.getLink("path") != null) {
+                    
comment.setPath(entry.getLink("path").getHref().toString());
+                }
                 comment.setText(entry.getContent());
                 comment.setUser(entry.getAuthor().getName());
                 comments[i] = comment;

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 Jan 17 01:28:18 2008
@@ -83,7 +83,7 @@
             
comment.setText(results.getString(DatabaseConstants.COMMENT_TEXT_FIELD));
             
comment.setUser(results.getString(DatabaseConstants.COMMENTED_USER_ID_FIELD));
             
comment.setTime(results.getTimestamp(DatabaseConstants.COMMENTED_TIME_FIELD));
-
+            comment.setPath(path);
             commentList.add(comment);
         }
 

Modified: 
trunk/registry/modules/core/src/test/java/org/wso2/registry/app/JettyBasedServerTest.java
==============================================================================
--- 
trunk/registry/modules/core/src/test/java/org/wso2/registry/app/JettyBasedServerTest.java
   (original)
+++ 
trunk/registry/modules/core/src/test/java/org/wso2/registry/app/JettyBasedServerTest.java
   Thu Jan 17 01:28:18 2008
@@ -21,8 +21,11 @@
 import org.wso2.registry.jdbc.JDBCRegistryTest;
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.Resource;
+import org.wso2.registry.Comment;
 
 import java.net.URL;
+import java.util.List;
+import java.util.ArrayList;
 
 //This test case run all the test cases that there in JDBCRegistry using 
RemoteRegistry
 
@@ -52,4 +55,103 @@
         assertEquals(str , new String((byte[])r1.getContent()));
     }
 
+     public void testAddComment(){
+
+        try {
+            Resource r1 = new Resource();
+            r1.setAuthorUserName("Author q1");
+            byte[] r1content = "R1 content".getBytes();
+            r1.setContent(r1content);
+            registry.put("/d1/r3", r1);
+
+        }catch (RegistryException e) {
+            fail("Failed to put resources.");
+        }
+
+        String comment1 = "this is qa comment 4";
+        String comment2 = "this is qa comment 5";
+        try {
+
+            Comment c1= new Comment();
+            c1.setPath("/d1/r3");
+            c1.setText("This is default comment");
+            c1.setUser("admin1");
+
+
+            registry.addComment("/d1/r3",c1);
+            registry.addComment("/d1/r3", new Comment(comment1));
+            registry.addComment("/d1/r3", new Comment(comment2));
+        } catch (RegistryException e) {
+            fail("Valid commenting for resources scenario failed");
+        }
+
+        Comment[] comments = null;
+        try {
+
+            comments = registry.getComments("/d1/r3");
+        } catch (RegistryException e) {
+            fail("Failed to get comments for the resource /d1/r3");
+        }
+
+        for (int i=1; i<comments.length; i++) {
+            System.out.println("Comment is:" + comments[i]);
+            }
+
+
+        boolean commentFound = false;
+
+        for (Comment comment : comments) {
+            if (comment.getText().equals(comment1)) {
+                commentFound = true;
+                assertEquals(comment1,comment.getText());
+                 assertEquals("admin" , comment.getUser());
+                 assertEquals(comment.getPath() ,"/d1/r3" );
+                //break;
+            }
+
+             if (comment.getText().equals(comment2)) {
+                commentFound = true;
+                 assertEquals(comment2,comment.getText());
+                 assertEquals("admin" , comment.getUser());
+                 assertEquals(comment.getPath() ,"/d1/r3" );
+                //break;
+            }
+
+             if (comment.getText().equals("This is default comment")) {
+                commentFound = true;
+                 assertEquals("This is default comment",comment.getText());
+                 assertEquals("admin" , comment.getUser());
+                //break;
+            }
+        }
+
+
+        assertTrue("comment '" + comment1 +
+                " is not associated with the artifact /d1/r3", commentFound);
+
+        try {
+            Resource commentsResource = registry.get("/d1/r3;comments");
+            assertTrue("Comment collection resource should be a directory.",
+                    commentsResource.isDirectory());
+            String[] commentPaths = (String[]) commentsResource.getContent();
+
+            List commentTexts = new ArrayList();
+            for (String commentPath : commentPaths) {
+                Resource commentResource = registry.get(commentPath);
+                commentTexts.add(commentResource.getContent());
+            }
+
+            assertTrue(comment1 + " is not associated for resource /d1/r3.",
+                    commentTexts.contains(comment1));
+            assertTrue(comment2 + " is not associated for resource /d1/r3.",
+                    commentTexts.contains(comment2));
+
+        } catch (RegistryException e) {
+            e.printStackTrace();
+            fail("Failed to get comments form URL: /d1/r3;comments");
+        }
+
+    }
+
+
 }

_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev

Reply via email to