Class PubSubDAOPool<T,S extends tigase.db.DataSource,Q extends PubSubQuery>

java.lang.Object
tigase.db.beans.MDRepositoryBean<T>
tigase.db.beans.MDRepositoryBeanWithStatistics<IPubSubDAO<T,S,Q>>
tigase.pubsub.repository.PubSubDAOPool<T,S,Q>
All Implemented Interfaces:
tigase.db.DataSourceAware<S>, tigase.kernel.beans.Initializable, tigase.kernel.beans.RegistrarBean, tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass, tigase.kernel.beans.UnregisterAware, IExtendedPubSubDAO<T,S,Q>, IPubSubDAO<T,S,Q>, tigase.stats.ComponentStatisticsProvider, tigase.stats.StatisticsProviderIfc

@Bean(name="dao", parent=PubSubComponent.class, active=true) public class PubSubDAOPool<T,S extends tigase.db.DataSource,Q extends PubSubQuery> extends tigase.db.beans.MDRepositoryBeanWithStatistics<IPubSubDAO<T,S,Q>> implements IExtendedPubSubDAO<T,S,Q>
  • Constructor Details

    • PubSubDAOPool

      public PubSubDAOPool()
  • Method Details

    • belongsTo

      public boolean belongsTo(Class<? extends tigase.server.BasicComponent> component)
      Specified by:
      belongsTo in interface tigase.stats.ComponentStatisticsProvider
    • createNode

      public T createNode(tigase.xmpp.jid.BareJID serviceJid, String nodeName, tigase.xmpp.jid.BareJID ownerJid, AbstractNodeConfig nodeConfig, NodeType nodeType, T collectionId, boolean autocreateService) throws tigase.component.exceptions.RepositoryException
      Specified by:
      createNode in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • createService

      public void createService(tigase.xmpp.jid.BareJID serviceJID, boolean isPublic) throws tigase.component.exceptions.RepositoryException
      Specified by:
      createService in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getMAMItem

      public tigase.xmpp.mam.MAMRepository.Item getMAMItem(tigase.xmpp.jid.BareJID serviceJID, T nodeId, String stableId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getMAMItem in interface IExtendedPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • updateMAMItem

      public void updateMAMItem(tigase.xmpp.jid.BareJID serviceJID, T nodeId, String stableId, tigase.xml.Element message) throws tigase.component.exceptions.RepositoryException
      Specified by:
      updateMAMItem in interface IExtendedPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getServices

      public List<tigase.xmpp.jid.BareJID> getServices(tigase.xmpp.jid.BareJID domain, Boolean isPublic) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getServices in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • deleteItem

      public void deleteItem(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String id) throws tigase.component.exceptions.RepositoryException
      Specified by:
      deleteItem in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • deleteNode

      public void deleteNode(tigase.xmpp.jid.BareJID serviceJid, T nodeId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      deleteNode in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • destroy

      public void destroy()
      Specified by:
      destroy in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
    • getAllNodesList

      public String[] getAllNodesList(tigase.xmpp.jid.BareJID serviceJid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getAllNodesList in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getChildNodes

      public String[] getChildNodes(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getChildNodes in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getItem

      public IItems.IItem getItem(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String id) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getItem in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getItems

      public List<IItems.IItem> getItems(tigase.xmpp.jid.BareJID serviceJid, List<T> nodesIds, Date after, Date before, tigase.xmpp.rsm.RSM rsm, CollectionItemsOrdering ordering) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getItems in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getItemsIds

      public String[] getItemsIds(tigase.xmpp.jid.BareJID serviceJid, T nodeId, CollectionItemsOrdering order) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getItemsIds in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getItemsIdsSince

      public String[] getItemsIdsSince(tigase.xmpp.jid.BareJID serviceJid, T nodeId, CollectionItemsOrdering order, Date since) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getItemsIdsSince in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getItemsMeta

      public List<IItems.ItemMeta> getItemsMeta(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String nodeName) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getItemsMeta in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getNodeAffiliations

      public Map<tigase.xmpp.jid.BareJID,UsersAffiliation> getNodeAffiliations(tigase.xmpp.jid.BareJID serviceJid, T nodeId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getNodeAffiliations in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getNodeMeta

      public INodeMeta<T> getNodeMeta(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getNodeMeta in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getNodesCount

      public long getNodesCount(tigase.xmpp.jid.BareJID serviceJid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getNodesCount in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getNodesList

      public String[] getNodesList(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getNodesList in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getNodeSubscriptions

      public Map<tigase.xmpp.jid.BareJID,UsersSubscription> getNodeSubscriptions(tigase.xmpp.jid.BareJID serviceJid, T nodeId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getNodeSubscriptions in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getUserAffiliations

      public Map<String,UsersAffiliation> getUserAffiliations(tigase.xmpp.jid.BareJID serviceJid, tigase.xmpp.jid.BareJID jid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getUserAffiliations in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getUserRoster

      public Map<tigase.xmpp.jid.BareJID,tigase.xmpp.impl.roster.RosterElement> getUserRoster(tigase.xmpp.jid.BareJID owner) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getUserRoster in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • getUserSubscriptions

      public Map<String,UsersSubscription> getUserSubscriptions(tigase.xmpp.jid.BareJID serviceJid, tigase.xmpp.jid.BareJID jid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      getUserSubscriptions in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • parseConfig

      public AbstractNodeConfig parseConfig(String nodeName, String cfgData) throws tigase.component.exceptions.RepositoryException
      Specified by:
      parseConfig in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • addMAMItem

      public void addMAMItem(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String uuid, tigase.xml.Element message, String itemId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      addMAMItem in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • newQuery

      public Q newQuery(tigase.xmpp.jid.BareJID serviceJid)
      Specified by:
      newQuery in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
    • queryItems

      public void queryItems(Q query, T nodeId, tigase.xmpp.mam.MAMRepository.ItemHandler<Q,tigase.xmpp.mam.MAMRepository.Item> itemHandler) throws tigase.component.exceptions.RepositoryException, tigase.component.exceptions.ComponentException
      Specified by:
      queryItems in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
      tigase.component.exceptions.ComponentException
    • removeNodeSubscription

      public void removeNodeSubscription(tigase.xmpp.jid.BareJID serviceJid, T nodeId, tigase.xmpp.jid.BareJID jid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      removeNodeSubscription in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • takeDao

      public IPubSubDAO takeDao(tigase.xmpp.jid.BareJID serviceJid)
    • updateNodeAffiliation

      public void updateNodeAffiliation(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String nodeName, UsersAffiliation affiliation) throws tigase.component.exceptions.RepositoryException
      Specified by:
      updateNodeAffiliation in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • updateNodeConfig

      public void updateNodeConfig(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String serializedData, T collectionId) throws tigase.component.exceptions.RepositoryException
      Specified by:
      updateNodeConfig in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • updateNodeSubscription

      public void updateNodeSubscription(tigase.xmpp.jid.BareJID serviceJid, T nodeId, String nodeName, UsersSubscription subscription) throws tigase.component.exceptions.RepositoryException
      Specified by:
      updateNodeSubscription in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • writeItem

      public void writeItem(tigase.xmpp.jid.BareJID serviceJid, T nodeId, long timeInMilis, String id, String publisher, tigase.xml.Element item, String uuid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      writeItem in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • deleteService

      public void deleteService(tigase.xmpp.jid.BareJID serviceJid) throws tigase.component.exceptions.RepositoryException
      Specified by:
      deleteService in interface IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>
      Throws:
      tigase.component.exceptions.RepositoryException
    • setDataSource

      public void setDataSource(tigase.db.DataSource dataSource)
      Specified by:
      setDataSource in interface tigase.db.DataSourceAware<T>
    • getDefaultBeanClass

      public Class<?> getDefaultBeanClass()
      Specified by:
      getDefaultBeanClass in interface tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass
    • getPoolDetails

      @Deprecated protected String getPoolDetails(tigase.xmpp.jid.BareJID serviceJid)
      Deprecated.
    • offerDao

      @Deprecated protected void offerDao(tigase.xmpp.jid.BareJID serviceJid, IPubSubDAO dao)
      Deprecated.
    • findClassForDataSource

      protected Class<? extends IPubSubDAO<T,S,Q>> findClassForDataSource(tigase.db.DataSource dataSource) throws tigase.db.DBInitException
      Specified by:
      findClassForDataSource in class tigase.db.beans.MDRepositoryBean<IPubSubDAO<T,S extends tigase.db.DataSource,Q extends PubSubQuery>>
      Throws:
      tigase.db.DBInitException