Class PubSubDAOJDBC

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

    public class PubSubDAOJDBC
    extends PubSubDAO<Long,​tigase.db.DataRepository,​Query>
    implements tigase.db.util.RepositoryVersionAware
    • Constructor Detail

      • PubSubDAOJDBC

        public PubSubDAOJDBC()
    • Method Detail

      • addToRootCollection

        public void addToRootCollection​(tigase.xmpp.jid.BareJID serviceJid,
                                        String nodeName)
                                 throws tigase.component.exceptions.RepositoryException
        Specified by:
        addToRootCollection in interface IPubSubDAO<Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • createNode

        public Long createNode​(tigase.xmpp.jid.BareJID serviceJid,
                               String nodeName,
                               tigase.xmpp.jid.BareJID ownerJid,
                               AbstractNodeConfig nodeConfig,
                               NodeType nodeType,
                               Long collectionId)
                        throws tigase.component.exceptions.RepositoryException
        Specified by:
        createNode in interface IPubSubDAO<Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • deleteItem

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

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

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

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

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

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

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

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

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

        public NodeAffiliations getNodeAffiliations​(tigase.xmpp.jid.BareJID serviceJid,
                                                    Long nodeId)
                                             throws tigase.component.exceptions.RepositoryException
        Specified by:
        getNodeAffiliations in interface IPubSubDAO<Long,​tigase.db.DataRepository,​Query>
        Throws:
        tigase.component.exceptions.RepositoryException
      • getNodeConfig

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

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

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

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

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

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

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

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

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

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

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

        public void writeItem​(tigase.xmpp.jid.BareJID serviceJid,
                              Long nodeId,
                              long timeInMilis,
                              String id,
                              String publisher,
                              tigase.xml.Element item)
                       throws tigase.component.exceptions.RepositoryException
        Specified by:
        writeItem in interface IPubSubDAO<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>
      • getDateFromItem

        protected Date getDateFromItem​(tigase.xmpp.jid.BareJID serviceJid,
                                       long nodeId,
                                       String id,
                                       int field)
                                throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • getStringFromItem

        protected String getStringFromItem​(tigase.xmpp.jid.BareJID serviceJid,
                                           long nodeId,
                                           String id,
                                           int field)
                                    throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • countItems

        protected Integer countItems​(Query query,
                                     String nodeIds)
                              throws tigase.db.TigaseDBException
        Throws:
        tigase.db.TigaseDBException
      • getItemPosition

        protected Integer getItemPosition​(Query query,
                                          String nodeIds,
                                          String itemId)
                                   throws tigase.component.exceptions.RepositoryException,
                                          tigase.component.exceptions.ComponentException
        Throws:
        tigase.component.exceptions.RepositoryException
        tigase.component.exceptions.ComponentException
      • readNodeConfigFormData

        protected String readNodeConfigFormData​(tigase.xmpp.jid.BareJID serviceJid,
                                                long nodeId)
                                         throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • takeDao

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

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