org.wso2.carbon.registry.core.jdbc.dao
Class JDBCTagsDAO

java.lang.Object
  extended by org.wso2.carbon.registry.core.jdbc.dao.JDBCTagsDAO
All Implemented Interfaces:
TagsDAO
Direct Known Subclasses:
JDBCTagsVersionDAO

public class JDBCTagsDAO
extends Object
implements TagsDAO

An implementation of the TagsDAO to store tags on a JDBC-based database.


Field Summary
protected static Object ADD_TAG_LOCK
           
 
Constructor Summary
JDBCTagsDAO(DAOManager daoManager)
          Default constructor
 
Method Summary
 void addTagging(String tagName, ResourceImpl resource, String userID)
          Method to persist a tag.
 void addTaggings(ResourceImpl resource, TaggingDO[] taggingDOs)
          Method to persist tags.
 void copyTags(ResourceImpl fromResource, ResourceImpl toResource)
          Method to copy tags.
 List getPathsWithAnyTag(String[] tags)
          Method to obtain the list of paths having any of the given tags.
 String[] getPathsWithTag(String tag, Connection conn)
          Method to get resource paths containing the given tag.
 ResourceImpl getResourceWithMinimumData(String path)
          Gets the resource with sufficient data to differentiate it from another resource.
 long getTagCount(ResourceImpl resourceImpl, String tag)
          Method to get the number of tags added to the given resource, by the given name.
 List<TaggingDO> getTagDOs(ResourceImpl resourceImpl)
          Method to get the data objects of tags added to the given resource.
 TaggingDO getTagging(long taggingID)
          Method to get a tagging by the given id.
 TaggingDO[] getTagging(ResourceImpl resource)
          Method to get all taggings added to a given resource.
 TaggingDO[] getTagging(ResourceImpl resource, String tag, String userID)
          Method to get a tagging added to a given resource by the given user.
 String[] getTags(ResourceImpl resourceImpl)
          Method to get the names of tags added to the given resource.
 Tag[] getTagsWithCount(ResourceImpl resourceImpl)
          Method to get tags added to the given resource, along with the count.
 void moveTagPaths(ResourceIDImpl source, ResourceIDImpl target)
          Method to move tag paths.
 void moveTags(ResourceIDImpl source, ResourceIDImpl target)
          Method to move tags.
 void removeTags(ResourceImpl resource)
          Removes all tags added to the given resource by user with the given id.
 void removeTags(ResourceImpl resource, String tag)
          Removes a tag by the given name added to the given resource by any user.
 void removeTags(ResourceImpl resource, String tag, String userID)
          Removes a tag by the given name added to the given resource by user with the given id.
 boolean taggingExists(String tagName, ResourceImpl resourceImpl, String userID)
          Method to determine whether the given tag exists.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ADD_TAG_LOCK

protected static final Object ADD_TAG_LOCK
Constructor Detail

JDBCTagsDAO

public JDBCTagsDAO(DAOManager daoManager)
Default constructor

Parameters:
daoManager - instance of the data access object manager.
Method Detail

addTagging

public void addTagging(String tagName,
                       ResourceImpl resource,
                       String userID)
                throws RegistryException
Description copied from interface: TagsDAO
Method to persist a tag.

Specified by:
addTagging in interface TagsDAO
Parameters:
tagName - the name of tag to be persisted.
resource - the resource
userID - the id of the user who added the tag.
Throws:
RegistryException - if some error occurs while adding a tag

addTaggings

public void addTaggings(ResourceImpl resource,
                        TaggingDO[] taggingDOs)
                 throws RegistryException
Description copied from interface: TagsDAO
Method to persist tags.

Specified by:
addTaggings in interface TagsDAO
Parameters:
resource - the resource
taggingDOs - the tags to be persisted.
Throws:
RegistryException - if some error occurs while adding tags

copyTags

public void copyTags(ResourceImpl fromResource,
                     ResourceImpl toResource)
              throws RegistryException
Description copied from interface: TagsDAO
Method to copy tags.

Specified by:
copyTags in interface TagsDAO
Parameters:
fromResource - the source resource.
toResource - the target resource.
Throws:
RegistryException - if some error occurs while copying tags

taggingExists

public boolean taggingExists(String tagName,
                             ResourceImpl resourceImpl,
                             String userID)
                      throws RegistryException
Description copied from interface: TagsDAO
Method to determine whether the given tag exists.

Specified by:
taggingExists in interface TagsDAO
Parameters:
tagName - the name of tag to be persisted.
resourceImpl - the resource
userID - the id of the user who added the tag.
Returns:
whether the given tag exists.
Throws:
RegistryException - if some error occurs while checking whether a tag exists.

removeTags

public void removeTags(ResourceImpl resource,
                       String tag)
                throws RegistryException
Description copied from interface: TagsDAO
Removes a tag by the given name added to the given resource by any user.

Specified by:
removeTags in interface TagsDAO
Parameters:
resource - the resource
tag - the name of tag to be persisted.
Throws:
RegistryException - if an error occurred while removing the tag.

removeTags

public void removeTags(ResourceImpl resource,
                       String tag,
                       String userID)
                throws RegistryException
Description copied from interface: TagsDAO
Removes a tag by the given name added to the given resource by user with the given id.

Specified by:
removeTags in interface TagsDAO
Parameters:
resource - the resource
tag - the name of tag to be persisted.
userID - the id of the user who added the tag.
Throws:
RegistryException - if an error occurred while removing the tag.

removeTags

public void removeTags(ResourceImpl resource)
                throws RegistryException
Description copied from interface: TagsDAO
Removes all tags added to the given resource by user with the given id.

Specified by:
removeTags in interface TagsDAO
Parameters:
resource - the resource
Throws:
RegistryException - if an error occurred while removing tags.

getPathsWithTag

public String[] getPathsWithTag(String tag,
                                Connection conn)
                         throws RegistryException
Method to get resource paths containing the given tag.

Parameters:
tag - the tag name.
conn - the connection to use.
Returns:
array of resource paths.
Throws:
RegistryException - if an error occurs while getting the resource path.

getTags

public String[] getTags(ResourceImpl resourceImpl)
                 throws RegistryException
Description copied from interface: TagsDAO
Method to get the names of tags added to the given resource.

Specified by:
getTags in interface TagsDAO
Parameters:
resourceImpl - the resource.
Returns:
array of tag names.
Throws:
RegistryException - if an error occurs while getting the tag names.

getTagDOs

public List<TaggingDO> getTagDOs(ResourceImpl resourceImpl)
                          throws RegistryException
Description copied from interface: TagsDAO
Method to get the data objects of tags added to the given resource.

Specified by:
getTagDOs in interface TagsDAO
Parameters:
resourceImpl - the resource.
Returns:
list of tagging data objects.
Throws:
RegistryException - if an error occurs while getting the tagging data objects.

getPathsWithAnyTag

public List getPathsWithAnyTag(String[] tags)
                        throws RegistryException
Description copied from interface: TagsDAO
Method to obtain the list of paths having any of the given tags.

Specified by:
getPathsWithAnyTag in interface TagsDAO
Parameters:
tags - the tags.
Returns:
a list of paths.
Throws:
RegistryException - if an error occurs.

getTagCount

public long getTagCount(ResourceImpl resourceImpl,
                        String tag)
                 throws RegistryException
Description copied from interface: TagsDAO
Method to get the number of tags added to the given resource, by the given name.

Specified by:
getTagCount in interface TagsDAO
Parameters:
resourceImpl - the resource.
tag - the tag name
Returns:
the number of tags.
Throws:
RegistryException - if an error occurred while getting the number of tags.

getTagsWithCount

public Tag[] getTagsWithCount(ResourceImpl resourceImpl)
                       throws RegistryException
Description copied from interface: TagsDAO
Method to get tags added to the given resource, along with the count.

Specified by:
getTagsWithCount in interface TagsDAO
Parameters:
resourceImpl - the resource.
Returns:
an array of tags (with counts).
Throws:
RegistryException - if an error occurred while getting tags.

getTagging

public TaggingDO[] getTagging(ResourceImpl resource,
                              String tag,
                              String userID)
                       throws RegistryException
Description copied from interface: TagsDAO
Method to get a tagging added to a given resource by the given user.

Specified by:
getTagging in interface TagsDAO
Parameters:
resource - the resource.
tag - the name of the tag.
userID - the id of the user who added the tagging.
Returns:
the tagging data objects.
Throws:
RegistryException - if an error occurs while getting the tagging.

getTagging

public TaggingDO[] getTagging(ResourceImpl resource)
                       throws RegistryException
Description copied from interface: TagsDAO
Method to get all taggings added to a given resource.

Specified by:
getTagging in interface TagsDAO
Parameters:
resource - the resource.
Returns:
the tagging data objects.
Throws:
RegistryException - if an error occurs while getting the taggings.

getTagging

public TaggingDO getTagging(long taggingID)
                     throws RegistryException
Description copied from interface: TagsDAO
Method to get a tagging by the given id.

Specified by:
getTagging in interface TagsDAO
Parameters:
taggingID - the id of the tagging.
Returns:
the tagging data object.
Throws:
RegistryException - if an error occurs while getting the tagging.

getResourceWithMinimumData

public ResourceImpl getResourceWithMinimumData(String path)
                                        throws RegistryException
Description copied from interface: TagsDAO
Gets the resource with sufficient data to differentiate it from another resource. This would populate a ResourceImpl with the path, name and path identifier of a resource.

Specified by:
getResourceWithMinimumData in interface TagsDAO
Parameters:
path - the path of the resource.
Returns:
the resource with minimum data.
Throws:
RegistryException - if an error occurs while retrieving resource data.

moveTags

public void moveTags(ResourceIDImpl source,
                     ResourceIDImpl target)
              throws RegistryException
Description copied from interface: TagsDAO
Method to move tags.

Specified by:
moveTags in interface TagsDAO
Parameters:
source - the source resource.
target - the target resource.
Throws:
RegistryException - if some error occurs while moving tags

moveTagPaths

public void moveTagPaths(ResourceIDImpl source,
                         ResourceIDImpl target)
                  throws RegistryException
Description copied from interface: TagsDAO
Method to move tag paths. This function will move the paths from one path id to another regardless of the resource name.

Specified by:
moveTagPaths in interface TagsDAO
Parameters:
source - the source resource.
target - the target resource.
Throws:
RegistryException - if some error occurs while moving tag paths


Copyright © 2011 WSO2 Inc. All Rights Reserved.