Class JDBCCommentDAO
- java.lang.Object
-
- org.silverpeas.core.comment.dao.jdbc.JDBCCommentDAO
-
- All Implemented Interfaces:
CommentDAO
@Repository @Named("commentDAO") public class JDBCCommentDAO extends Object implements CommentDAO
-
-
Field Summary
Fields Modifier and Type Field Description protected static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description JDBCCommentDAO()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Comment>
getAllCommentsByForeignKey(String resourceType, ResourceReference resourceRef)
Gets all the comments of the publication identified by the resource type and the specified foreign key.List<CommentedPublicationInfo>
getAllMostCommentedPublications()
Among all available commented publications, gets the most commented ones.Comment
getComment(CommentId commentId)
Gets the comment identified by the specified primary key.Map<ResourceReference,Integer>
getCommentCountIndexedByResource(String resourceType, String instanceId)
Gets the number of comments by resources of resource type and hosted by the specified component instance.int
getCommentsCountByForeignKey(String resourceType, ResourceReference resourceRef)
Gets the number of comments on the publication identified by the resource type and the specified foreign key.List<Comment>
getLastComments(String instanceId, int count)
Gets the last comments posted to the publications in the specified component instance.List<CommentedPublicationInfo>
getMostCommentedPublications(String resourceType)
Among all available commented publications of the specified type, gets the moste commented ones.List<CommentedPublicationInfo>
getMostCommentedPublications(String resourceType, List<ResourceReference> resourceRefs)
Among all the publications identified by the resource type and the specified primary keys, gets the most commented ones.List<SocialInformationComment>
getSocialInformationCommentsListByUserId(List<String> resourceTypes, String userId, Period period)
Get the list of SocialInformationComment added by userId in a periodList<SocialInformationComment>
getSocialInformationCommentsListOfMyContacts(List<String> resourceTypes, List<String> myContactsIds, List<String> instanceIds, Period period)
Gets the list of SocialInformationComment added by myContactsIds in a periodvoid
moveComments(String fromResourceType, ResourceReference fromPK, String toResourceType, ResourceReference toPK)
Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second resource type and specified foreign key.void
moveComments(String resourceType, ResourceReference fromPK, ResourceReference toPK)
Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second specified foreign key.void
removeAllCommentsByForeignPk(String resourceType, ResourceReference resourceRef)
Deletes all the comments on the publication identified by the resource type and the specified foreign key.void
removeComment(CommentId commentId)
Deletes the comment identified by the specified primary keyComment
saveComment(Comment cmt)
Saves the specified comment into the underlying data source.void
updateComment(Comment cmt)
Updates the comment in the data source identified by the specified one with the values carried by the specified comment.
-
-
-
Field Detail
-
serialVersionUID
protected static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Method Detail
-
saveComment
public Comment saveComment(Comment cmt)
Description copied from interface:CommentDAO
Saves the specified comment into the underlying data source.- Specified by:
saveComment
in interfaceCommentDAO
- Parameters:
cmt
- the comment to save.- Returns:
- the effectively saved comment.
-
removeComment
public void removeComment(CommentId commentId)
Description copied from interface:CommentDAO
Deletes the comment identified by the specified primary key- Specified by:
removeComment
in interfaceCommentDAO
-
updateComment
public void updateComment(Comment cmt)
Description copied from interface:CommentDAO
Updates the comment in the data source identified by the specified one with the values carried by the specified comment.- Specified by:
updateComment
in interfaceCommentDAO
- Parameters:
cmt
- the comment to update in the data source.
-
getComment
public Comment getComment(CommentId commentId)
Description copied from interface:CommentDAO
Gets the comment identified by the specified primary key. If no comment exist with a such primary key, then a CommentRuntimeException is thrown.- Specified by:
getComment
in interfaceCommentDAO
- Parameters:
commentId
- the primary key of the comment to get.- Returns:
- the comment.
-
getAllMostCommentedPublications
public List<CommentedPublicationInfo> getAllMostCommentedPublications()
Description copied from interface:CommentDAO
Among all available commented publications, gets the most commented ones.- Specified by:
getAllMostCommentedPublications
in interfaceCommentDAO
- Returns:
- a list of information about the most commented publication (publication primary key, number of comments, and so on).
-
getMostCommentedPublications
public List<CommentedPublicationInfo> getMostCommentedPublications(String resourceType, List<ResourceReference> resourceRefs)
Description copied from interface:CommentDAO
Among all the publications identified by the resource type and the specified primary keys, gets the most commented ones.- Specified by:
getMostCommentedPublications
in interfaceCommentDAO
- Parameters:
resourceType
- type of the commented publication.resourceRefs
- a list of primary keys refering some publications.- Returns:
- a list of information about the most commented publication (publication primary key, number of comments, and so on).
-
getCommentsCountByForeignKey
public int getCommentsCountByForeignKey(String resourceType, ResourceReference resourceRef)
Description copied from interface:CommentDAO
Gets the number of comments on the publication identified by the resource type and the specified foreign key.- Specified by:
getCommentsCountByForeignKey
in interfaceCommentDAO
- Parameters:
resourceType
- type of the commented publication.resourceRef
- the foreign key referring the publication.- Returns:
- the number of the publication comments.
-
getCommentCountIndexedByResource
public Map<ResourceReference,Integer> getCommentCountIndexedByResource(String resourceType, String instanceId)
Description copied from interface:CommentDAO
Gets the number of comments by resources of resource type and hosted by the specified component instance.- Specified by:
getCommentCountIndexedByResource
in interfaceCommentDAO
- Parameters:
resourceType
- type of the commented publication.instanceId
- identifier of aimed component instance.- Returns:
- a map containing the number of comments by resources.
-
getAllCommentsByForeignKey
public List<Comment> getAllCommentsByForeignKey(String resourceType, ResourceReference resourceRef)
Description copied from interface:CommentDAO
Gets all the comments of the publication identified by the resource type and the specified foreign key.- Specified by:
getAllCommentsByForeignKey
in interfaceCommentDAO
- Parameters:
resourceType
- type of the commented publication.resourceRef
- the foreign key refering the publication in the data source.- Returns:
- a list with all of the publication comments. If the publication isn't commented, then an empty list is returned.
-
removeAllCommentsByForeignPk
public void removeAllCommentsByForeignPk(String resourceType, ResourceReference resourceRef)
Description copied from interface:CommentDAO
Deletes all the comments on the publication identified by the resource type and the specified foreign key.- Specified by:
removeAllCommentsByForeignPk
in interfaceCommentDAO
- Parameters:
resourceType
- type of the commented publication.resourceRef
- the foreign key refering the publication in the data source
-
moveComments
public void moveComments(String resourceType, ResourceReference fromPK, ResourceReference toPK)
Description copied from interface:CommentDAO
Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second specified foreign key.- Specified by:
moveComments
in interfaceCommentDAO
- Parameters:
resourceType
- type of source and destination publication.fromPK
- the foreign key refering the source publication.toPK
- the foreign key refering the destination publication.
-
moveComments
public void moveComments(String fromResourceType, ResourceReference fromPK, String toResourceType, ResourceReference toPK)
Description copied from interface:CommentDAO
Moves all the comments from the publication identified by the resource type and the specified foreign key to the publication identified by the second resource type and specified foreign key.- Specified by:
moveComments
in interfaceCommentDAO
- Parameters:
fromResourceType
- source type the source publication.fromPK
- the foreign key refering the source publication.toResourceType
- type of the destination publication.toPK
- the foreign key refering the destination publication.
-
getMostCommentedPublications
public List<CommentedPublicationInfo> getMostCommentedPublications(String resourceType)
Description copied from interface:CommentDAO
Among all available commented publications of the specified type, gets the moste commented ones.- Specified by:
getMostCommentedPublications
in interfaceCommentDAO
- Parameters:
resourceType
- the type of the publication.- Returns:
- a list of information about the most commented publication sorted in descendent order.
-
getLastComments
public List<Comment> getLastComments(String instanceId, int count)
Description copied from interface:CommentDAO
Gets the last comments posted to the publications in the specified component instance.- Specified by:
getLastComments
in interfaceCommentDAO
- Parameters:
instanceId
- the unique identifier of the component instance.count
- the maximum number of comments to fetch. Lesser or equal to 0 means no limit.- Returns:
- a list of the last comments.
-
getSocialInformationCommentsListByUserId
public List<SocialInformationComment> getSocialInformationCommentsListByUserId(List<String> resourceTypes, String userId, Period period)
Description copied from interface:CommentDAO
Get the list of SocialInformationComment added by userId in a period- Specified by:
getSocialInformationCommentsListByUserId
in interfaceCommentDAO
- Parameters:
resourceTypes
- the aimed resources types.userId
- the author of comments.period
- the period into which the comment has been created or modified.- Returns:
- List of
SocialInformation
-
getSocialInformationCommentsListOfMyContacts
public List<SocialInformationComment> getSocialInformationCommentsListOfMyContacts(List<String> resourceTypes, List<String> myContactsIds, List<String> instanceIds, Period period)
Description copied from interface:CommentDAO
Gets the list of SocialInformationComment added by myContactsIds in a period- Specified by:
getSocialInformationCommentsListOfMyContacts
in interfaceCommentDAO
- Parameters:
resourceTypes
- the aimed resources types.myContactsIds
- the aimed user identifiers of contacts.instanceIds
- the aimed identifiers of component instances.period
- the period into which the comment has been created or modified.- Returns:
- List of
SocialInformation
-
-