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

  • All Implemented Interfaces:
    tigase.db.DataSourceAware<S>, tigase.kernel.beans.Initializable, tigase.kernel.beans.RegistrarBean, tigase.kernel.beans.RegistrarBeanWithDefaultBeanClass, tigase.kernel.beans.UnregisterAware, 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 Query>
    extends tigase.db.beans.MDRepositoryBeanWithStatistics<IPubSubDAO<T,​S,​Q>>
    implements IPubSubDAO<T,​S,​Q>
    • Constructor Detail

      • PubSubDAOPool

        public PubSubDAOPool()
    • Method Detail

      • addToRootCollection

        public void addToRootCollection​(tigase.xmpp.jid.BareJID serviceJid,
                                        String nodeName)
                                 throws tigase.component.exceptions.RepositoryException
        Specified by:
        addToRootCollection in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • 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)
                     throws tigase.component.exceptions.RepositoryException
        Specified by:
        createNode in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        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 Query>
        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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
      • 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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getBuddyGroups

        public String[] getBuddyGroups​(tigase.xmpp.jid.BareJID owner,
                                       tigase.xmpp.jid.BareJID bareJid)
                                throws tigase.component.exceptions.RepositoryException
        Specified by:
        getBuddyGroups in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getBuddySubscription

        public String getBuddySubscription​(tigase.xmpp.jid.BareJID owner,
                                           tigase.xmpp.jid.BareJID buddy)
                                    throws tigase.component.exceptions.RepositoryException
        Specified by:
        getBuddySubscription in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItem

        public tigase.xml.Element 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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItemCreationDate

        public Date getItemCreationDate​(tigase.xmpp.jid.BareJID serviceJid,
                                        T nodeId,
                                        String id)
                                 throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItemCreationDate in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItemsIds

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

        public String[] getItemsIdsSince​(tigase.xmpp.jid.BareJID serviceJid,
                                         T nodeId,
                                         Date since)
                                  throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItemsIdsSince in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItemUpdateDate

        public Date getItemUpdateDate​(tigase.xmpp.jid.BareJID serviceJid,
                                      T nodeId,
                                      String id)
                               throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItemUpdateDate in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeAffiliations

        public NodeAffiliations 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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeConfig

        public String getNodeConfig​(tigase.xmpp.jid.BareJID serviceJid,
                                    T nodeId)
                             throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodeConfig in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeId

        public T getNodeId​(tigase.xmpp.jid.BareJID serviceJid,
                           String nodeName)
                    throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodeId in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        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 Query>
        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 Query>
        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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeSubscriptions

        public NodeSubscriptions 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 Query>
        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 Query>
        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 Query>
        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 Query>
        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 Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • queryItems

        public void queryItems​(Query query,
                               List nodesIds,
                               tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler)
                        throws tigase.component.exceptions.ComponentException,
                               tigase.component.exceptions.RepositoryException
        Specified by:
        queryItems in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.ComponentException
        tigase.component.exceptions.RepositoryException
      • removeAllFromRootCollection

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

        public void removeFromRootCollection​(tigase.xmpp.jid.BareJID serviceJid,
                                             T nodeId)
                                      throws tigase.component.exceptions.RepositoryException
        Specified by:
        removeFromRootCollection in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • 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 Query>
        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 Query>
        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 Query>
        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 Query>
        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)
                       throws tigase.component.exceptions.RepositoryException
        Specified by:
        writeItem in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • removeService

        public void removeService​(tigase.xmpp.jid.BareJID serviceJid)
                           throws tigase.component.exceptions.RepositoryException
        Specified by:
        removeService in interface IPubSubDAO<T,​S extends tigase.db.DataSource,​Q extends Query>
        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 Query>>
        Throws:
        tigase.db.DBInitException