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