Class DataDistributionByName

java.lang.Object
org.exoplatform.services.jcr.ext.distribution.impl.AbstractDataDistributionType
org.exoplatform.services.jcr.ext.distribution.impl.DataDistributionByName
All Implemented Interfaces:
DataDistributionType

public class DataDistributionByName extends AbstractDataDistributionType
This data distribution will distribute the data in a understandable way for a human being. The expected data id is for example a login of a user. It will generate a hierarchy of sub-nodes with n levels of depth for example with n = 4:
  • Usename: john.smith (size >= 4) it will generate a path of type "j___/jo___/joh___/john.smith"
  • Usename: bob (size < 4) it will generate a path of type "b___/bo___/bob"
Version:
$Id$
Author:
Nicolas Filotto
  • Constructor Details

    • DataDistributionByName

      public DataDistributionByName()
  • Method Details

    • getAncestors

      protected List<String> getAncestors(String dataId)
      Gives the list of all the name of the ancestors
      Specified by:
      getAncestors in class AbstractDataDistributionType
      Parameters:
      dataId - the id of the data to find/create
      Returns:
      the list of the ancestor names
    • useParametersOnLeafOnly

      protected boolean useParametersOnLeafOnly()
      Indicates whether or not the node type, the mixin types and the permissions have to be used on leaf node only.
      Specified by:
      useParametersOnLeafOnly in class AbstractDataDistributionType
      Returns:
      true if only the leaf node has to be created with the parameters false otherwise.
    • migrate

      public void migrate(javax.jcr.Node rootNode) throws javax.jcr.RepositoryException
      Migrate from old structure to new one.
      Specified by:
      migrate in interface DataDistributionType
      Overrides:
      migrate in class AbstractDataDistributionType
      Parameters:
      rootNode - the root node under which the data to migrate is stored
      Throws:
      javax.jcr.RepositoryException - if an error occurred during migration
    • migrate

      public void migrate(javax.jcr.Node rootNode, String nodeType, List<String> mixinTypes, Map<String,String[]> permissions) throws javax.jcr.RepositoryException
      Migrate from old structure to new one.
      Specified by:
      migrate in interface DataDistributionType
      Overrides:
      migrate in class AbstractDataDistributionType
      Parameters:
      rootNode - the root node under which the data to migrate is stored
      nodeType - the node type to use in case we need to create the node
      mixinTypes - the mixin types to use in case we need to create the node
      permissions - the permissions to use in case we need to create the node
      Throws:
      javax.jcr.RepositoryException - if an error occurred during migration