ALF-9153 Convert the discussions single post update webscript to de-lucened java backed

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Nick Burch
2011-08-15 16:03:41 +00:00
parent 2e1ace4604
commit f7e691b593
4 changed files with 47 additions and 5 deletions

View File

@@ -184,6 +184,7 @@ public class DiscussionServiceImpl implements DiscussionService
post.setModifier((String)props.get(ContentModel.PROP_MODIFIER));
post.setCreatedAt((Date)props.get(ContentModel.PROP_CREATED));
post.setModifiedAt((Date)props.get(ContentModel.PROP_MODIFIED));
post.setUpdatedAt((Date)props.get(ContentModel.PROP_UPDATED));
// Now do the discussion ones
post.setTitle((String)props.get(ContentModel.PROP_TITLE));
@@ -401,6 +402,20 @@ public class DiscussionServiceImpl implements DiscussionService
writer.setEncoding("UTF-8");
writer.putContent(post.getContents());
// Mark it as having been updated
Date updatedAt = new Date();
nodeService.setProperty(nodeRef, ContentModel.PROP_UPDATED, updatedAt);
if(post instanceof PostInfoImpl)
{
((PostInfoImpl)post).setUpdatedAt(updatedAt);
((PostInfoImpl)post).setModifiedAt(updatedAt);
}
else
{
// Re-create to get the updated date
post = buildPost(nodeRef, post.getTopic(), post.getSystemName(), post.getContents());
}
// All done
return post;
}

View File

@@ -426,9 +426,11 @@ public class DiscussionServiceImplTest
// Check them
assertEquals(topic.getTitle(), post.getTitle());
assertEquals(contents, post.getContents());
assertEquals(null, post.getUpdatedAt());
assertEquals(null, reply.getTitle());
assertEquals(replyContents, reply.getContents());
assertEquals(null, reply.getUpdatedAt());
// Fetch and re-check
@@ -437,9 +439,11 @@ public class DiscussionServiceImplTest
assertEquals(topic.getTitle(), post.getTitle());
assertEquals(contents, post.getContents());
assertEquals(null, post.getUpdatedAt());
assertEquals(null, reply.getTitle());
assertEquals(replyContents, reply.getContents());
assertEquals(null, reply.getUpdatedAt());
// Edit them
@@ -461,6 +465,12 @@ public class DiscussionServiceImplTest
assertEquals(rTitle, reply.getTitle());
assertEquals(rContents, reply.getContents());
// Check that the modified and updated dates were set
assertNotNull(post.getUpdatedAt());
assertNotNull(post.getModifiedAt());
assertNotNull(reply.getUpdatedAt());
assertNotNull(reply.getModifiedAt());
// Check the changes were taken
post = DISCUSSION_SERVICE.getPost(topic, post.getSystemName());
@@ -472,6 +482,12 @@ public class DiscussionServiceImplTest
assertEquals(rTitle, reply.getTitle());
assertEquals(rContents, reply.getContents());
// Check that the modified and updated dates were set
assertNotNull(post.getUpdatedAt());
assertNotNull(post.getModifiedAt());
assertNotNull(reply.getUpdatedAt());
assertNotNull(reply.getModifiedAt());
// Remove the title from the topic manually
String oldTitle = topic.getTitle();

View File

@@ -41,6 +41,7 @@ public class PostInfoImpl implements PostInfo
private String modifier;
private Date createdAt;
private Date modifiedAt;
private Date updatedAt;
/**
* Creates a new, empty {@link PostInfo}
@@ -113,6 +114,12 @@ public class PostInfoImpl implements PostInfo
return modifiedAt;
}
@Override
public Date getUpdatedAt()
{
return updatedAt;
}
@Override
public void setTitle(String title)
{
@@ -144,4 +151,9 @@ public class PostInfoImpl implements PostInfo
{
this.modifiedAt = modifiedAt;
}
public void setUpdatedAt(Date updatedAt)
{
this.updatedAt = updatedAt;
}
}

View File

@@ -90,9 +90,8 @@ public interface PostInfo extends Serializable, PermissionCheckValue {
*/
Date getModifiedAt();
// /**
// * @return the Tags associated with the post
// * TODO Are posts ever tagged, or only ever topics?
// */
// List<String> getTags();
/**
* @return the updated-at date and time
*/
Date getUpdatedAt();
}