Class PubSubDAOJDBC

  • All Implemented Interfaces:
    tigase.db.DataSourceAware<tigase.db.DataRepository>, tigase.db.util.RepositoryVersionAware, IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>

    public class PubSubDAOJDBC
    extends PubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
    implements tigase.db.util.RepositoryVersionAware
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface tigase.db.util.RepositoryVersionAware

        tigase.db.util.RepositoryVersionAware.SchemaVersion
    • Field Summary

      • Fields inherited from class tigase.pubsub.repository.PubSubDAO

        log
    • Constructor Summary

      Constructors 
      Constructor Description
      PubSubDAOJDBC()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addMAMItem​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String uuid, tigase.xml.Element message, java.lang.String itemId)  
      protected java.lang.Integer countMAMItems​(Query query, java.lang.Long nodeId)  
      java.lang.Long createNode​(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName, tigase.xmpp.jid.BareJID ownerJid, AbstractNodeConfig nodeConfig, NodeType nodeType, java.lang.Long collectionId, boolean autocreateService)  
      void createService​(tigase.xmpp.jid.BareJID serviceJID, boolean isPublic)  
      void deleteItem​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String id)  
      void deleteNode​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId)  
      void deleteService​(tigase.xmpp.jid.BareJID serviceJid)  
      java.lang.String[] getAllNodesList​(tigase.xmpp.jid.BareJID serviceJid)  
      java.lang.String[] getChildNodes​(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName)  
      IItems.IItem getItem​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String id)  
      java.util.List<IItems.IItem> getItems​(tigase.xmpp.jid.BareJID serviceJid, java.util.List<java.lang.Long> nodesIds, java.util.Date afterDate, java.util.Date beforeDate, tigase.xmpp.rsm.RSM rsm, CollectionItemsOrdering ordering)  
      java.lang.String[] getItemsIds​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, CollectionItemsOrdering order)  
      java.lang.String[] getItemsIdsSince​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, CollectionItemsOrdering order, java.util.Date since)  
      java.util.List<IItems.ItemMeta> getItemsMeta​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String nodeName)  
      protected java.lang.Integer getMAMItemPosition​(Query query, java.lang.Long nodeId, java.lang.String itemUuid)  
      java.util.Map<tigase.xmpp.jid.BareJID,​UsersAffiliation> getNodeAffiliations​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId)  
      NodeMeta<java.lang.Long> getNodeMeta​(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName)  
      long getNodesCount​(tigase.xmpp.jid.BareJID serviceJid)  
      java.lang.String[] getNodesList​(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName)  
      java.util.Map<tigase.xmpp.jid.BareJID,​UsersSubscription> getNodeSubscriptions​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId)  
      java.util.List<tigase.xmpp.jid.BareJID> getServices​(tigase.xmpp.jid.BareJID domain, java.lang.Boolean isPublic)  
      java.util.Map<java.lang.String,​UsersAffiliation> getUserAffiliations​(tigase.xmpp.jid.BareJID serviceJid, tigase.xmpp.jid.BareJID jid)  
      java.util.Map<java.lang.String,​UsersSubscription> getUserSubscriptions​(tigase.xmpp.jid.BareJID serviceJid, tigase.xmpp.jid.BareJID jid)  
      protected void offerDao​(tigase.pubsub.repository.PubSubDAOJDBC.HashCode hash)  
      void queryItems​(Query query, java.lang.Long nodeId, tigase.xmpp.mam.MAMRepository.ItemHandler<Query,​tigase.xmpp.mam.MAMRepository.Item> itemHandler)  
      void removeNodeSubscription​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, tigase.xmpp.jid.BareJID jid)  
      void setDataSource​(tigase.db.DataRepository dataSource)  
      protected int setStatementParamsForMAM​(java.sql.PreparedStatement st, Query query, java.lang.Long nodeId)  
      protected tigase.pubsub.repository.PubSubDAOJDBC.HashCode takeDao()  
      void updateNodeAffiliation​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String nodeName, UsersAffiliation affiliation)  
      void updateNodeConfig​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String serializedData, java.lang.Long collectionId)  
      void updateNodeSubscription​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, java.lang.String nodeName, UsersSubscription subscription)  
      void writeItem​(tigase.xmpp.jid.BareJID serviceJid, java.lang.Long nodeId, long timeInMilis, java.lang.String id, java.lang.String publisher, tigase.xml.Element item, java.lang.String uuid)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface tigase.db.util.RepositoryVersionAware

        getVersion, updateSchema
    • Constructor Detail

      • PubSubDAOJDBC

        public PubSubDAOJDBC()
    • Method Detail

      • createNode

        public java.lang.Long createNode​(tigase.xmpp.jid.BareJID serviceJid,
                                         java.lang.String nodeName,
                                         tigase.xmpp.jid.BareJID ownerJid,
                                         AbstractNodeConfig nodeConfig,
                                         NodeType nodeType,
                                         java.lang.Long collectionId,
                                         boolean autocreateService)
                                  throws tigase.component.exceptions.RepositoryException
        Specified by:
        createNode in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        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<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getServices

        public java.util.List<tigase.xmpp.jid.BareJID> getServices​(tigase.xmpp.jid.BareJID domain,
                                                                   java.lang.Boolean isPublic)
                                                            throws tigase.component.exceptions.RepositoryException
        Specified by:
        getServices in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • deleteItem

        public void deleteItem​(tigase.xmpp.jid.BareJID serviceJid,
                               java.lang.Long nodeId,
                               java.lang.String id)
                        throws tigase.component.exceptions.RepositoryException
        Specified by:
        deleteItem in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • deleteNode

        public void deleteNode​(tigase.xmpp.jid.BareJID serviceJid,
                               java.lang.Long nodeId)
                        throws tigase.component.exceptions.RepositoryException
        Specified by:
        deleteNode in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getAllNodesList

        public java.lang.String[] getAllNodesList​(tigase.xmpp.jid.BareJID serviceJid)
                                           throws tigase.component.exceptions.RepositoryException
        Specified by:
        getAllNodesList in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getChildNodes

        public java.lang.String[] getChildNodes​(tigase.xmpp.jid.BareJID serviceJid,
                                                java.lang.String nodeName)
                                         throws tigase.component.exceptions.RepositoryException
        Specified by:
        getChildNodes in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItem

        public IItems.IItem getItem​(tigase.xmpp.jid.BareJID serviceJid,
                                    java.lang.Long nodeId,
                                    java.lang.String id)
                             throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItem in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItemsIds

        public java.lang.String[] getItemsIds​(tigase.xmpp.jid.BareJID serviceJid,
                                              java.lang.Long nodeId,
                                              CollectionItemsOrdering order)
                                       throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItemsIds in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItemsIdsSince

        public java.lang.String[] getItemsIdsSince​(tigase.xmpp.jid.BareJID serviceJid,
                                                   java.lang.Long nodeId,
                                                   CollectionItemsOrdering order,
                                                   java.util.Date since)
                                            throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItemsIdsSince in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItems

        public java.util.List<IItems.IItem> getItems​(tigase.xmpp.jid.BareJID serviceJid,
                                                     java.util.List<java.lang.Long> nodesIds,
                                                     java.util.Date afterDate,
                                                     java.util.Date beforeDate,
                                                     tigase.xmpp.rsm.RSM rsm,
                                                     CollectionItemsOrdering ordering)
                                              throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItems in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getItemsMeta

        public java.util.List<IItems.ItemMeta> getItemsMeta​(tigase.xmpp.jid.BareJID serviceJid,
                                                            java.lang.Long nodeId,
                                                            java.lang.String nodeName)
                                                     throws tigase.component.exceptions.RepositoryException
        Specified by:
        getItemsMeta in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeAffiliations

        public java.util.Map<tigase.xmpp.jid.BareJID,​UsersAffiliation> getNodeAffiliations​(tigase.xmpp.jid.BareJID serviceJid,
                                                                                                 java.lang.Long nodeId)
                                                                                          throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodeAffiliations in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeMeta

        public NodeMeta<java.lang.Long> getNodeMeta​(tigase.xmpp.jid.BareJID serviceJid,
                                                    java.lang.String nodeName)
                                             throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodeMeta in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodesList

        public java.lang.String[] getNodesList​(tigase.xmpp.jid.BareJID serviceJid,
                                               java.lang.String nodeName)
                                        throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodesList in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​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<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeSubscriptions

        public java.util.Map<tigase.xmpp.jid.BareJID,​UsersSubscription> getNodeSubscriptions​(tigase.xmpp.jid.BareJID serviceJid,
                                                                                                   java.lang.Long nodeId)
                                                                                            throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodeSubscriptions in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getUserAffiliations

        public java.util.Map<java.lang.String,​UsersAffiliation> getUserAffiliations​(tigase.xmpp.jid.BareJID serviceJid,
                                                                                          tigase.xmpp.jid.BareJID jid)
                                                                                   throws tigase.component.exceptions.RepositoryException
        Specified by:
        getUserAffiliations in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getUserSubscriptions

        public java.util.Map<java.lang.String,​UsersSubscription> getUserSubscriptions​(tigase.xmpp.jid.BareJID serviceJid,
                                                                                            tigase.xmpp.jid.BareJID jid)
                                                                                     throws tigase.component.exceptions.RepositoryException
        Specified by:
        getUserSubscriptions in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • addMAMItem

        public void addMAMItem​(tigase.xmpp.jid.BareJID serviceJid,
                               java.lang.Long nodeId,
                               java.lang.String uuid,
                               tigase.xml.Element message,
                               java.lang.String itemId)
                        throws tigase.component.exceptions.RepositoryException
        Specified by:
        addMAMItem in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • queryItems

        public void queryItems​(Query query,
                               java.lang.Long nodeId,
                               tigase.xmpp.mam.MAMRepository.ItemHandler<Query,​tigase.xmpp.mam.MAMRepository.Item> itemHandler)
                        throws tigase.component.exceptions.RepositoryException,
                               tigase.component.exceptions.ComponentException
        Specified by:
        queryItems in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
        tigase.component.exceptions.ComponentException
      • removeNodeSubscription

        public void removeNodeSubscription​(tigase.xmpp.jid.BareJID serviceJid,
                                           java.lang.Long nodeId,
                                           tigase.xmpp.jid.BareJID jid)
                                    throws tigase.component.exceptions.RepositoryException
        Specified by:
        removeNodeSubscription in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        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<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • updateNodeAffiliation

        public void updateNodeAffiliation​(tigase.xmpp.jid.BareJID serviceJid,
                                          java.lang.Long nodeId,
                                          java.lang.String nodeName,
                                          UsersAffiliation affiliation)
                                   throws tigase.component.exceptions.RepositoryException
        Specified by:
        updateNodeAffiliation in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • updateNodeConfig

        public void updateNodeConfig​(tigase.xmpp.jid.BareJID serviceJid,
                                     java.lang.Long nodeId,
                                     java.lang.String serializedData,
                                     java.lang.Long collectionId)
                              throws tigase.component.exceptions.RepositoryException
        Specified by:
        updateNodeConfig in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • updateNodeSubscription

        public void updateNodeSubscription​(tigase.xmpp.jid.BareJID serviceJid,
                                           java.lang.Long nodeId,
                                           java.lang.String nodeName,
                                           UsersSubscription subscription)
                                    throws tigase.component.exceptions.RepositoryException
        Specified by:
        updateNodeSubscription in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • writeItem

        public void writeItem​(tigase.xmpp.jid.BareJID serviceJid,
                              java.lang.Long nodeId,
                              long timeInMilis,
                              java.lang.String id,
                              java.lang.String publisher,
                              tigase.xml.Element item,
                              java.lang.String uuid)
                       throws tigase.component.exceptions.RepositoryException
        Specified by:
        writeItem in interface IPubSubDAO<java.lang.Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • setDataSource

        public void setDataSource​(tigase.db.DataRepository dataSource)
        Specified by:
        setDataSource in interface tigase.db.DataSourceAware<tigase.db.DataRepository>
      • countMAMItems

        protected java.lang.Integer countMAMItems​(Query query,
                                                  java.lang.Long nodeId)
                                           throws tigase.db.TigaseDBException
        Throws:
        tigase.db.TigaseDBException
      • getMAMItemPosition

        protected java.lang.Integer getMAMItemPosition​(Query query,
                                                       java.lang.Long nodeId,
                                                       java.lang.String itemUuid)
                                                throws tigase.component.exceptions.RepositoryException,
                                                       tigase.component.exceptions.ComponentException
        Throws:
        tigase.component.exceptions.RepositoryException
        tigase.component.exceptions.ComponentException
      • setStatementParamsForMAM

        protected int setStatementParamsForMAM​(java.sql.PreparedStatement st,
                                               Query query,
                                               java.lang.Long nodeId)
                                        throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • takeDao

        protected tigase.pubsub.repository.PubSubDAOJDBC.HashCode takeDao()
      • offerDao

        protected void offerDao​(tigase.pubsub.repository.PubSubDAOJDBC.HashCode hash)