public class DefaultPubSubPersistenceProvider extends Object implements PubSubPersistenceProvider
| Constructor and Description |
|---|
DefaultPubSubPersistenceProvider() |
| Modifier and Type | Method and Description |
|---|---|
void |
bulkPublishedItems(List<PublishedItem> addList,
List<PublishedItem> delList)
Writes large changesets to the database, using batches and transactions when
available.
|
void |
createAffiliation(Node node,
NodeAffiliate affiliate)
Creates a new affiliation of the user in the node.
|
void |
createDefaultConfiguration(PubSubService.UniqueIdentifier serviceIdentifier,
DefaultNodeConfiguration config)
Creates a new default node configuration for the specified service.
|
void |
createNode(Node node)
Schedules the node to be created in the database.
|
void |
createPublishedItem(PublishedItem item) |
void |
createSubscription(Node node,
NodeSubscription subscription)
Adds the new subscription of the user to the node to the database.
|
PublishedItem |
getLastPublishedItem(LeafNode node)
Fetches the last published item for the specified node.
|
PublishedItem |
getPublishedItem(LeafNode node,
PublishedItem.UniqueIdentifier itemIdentifier) |
List<PublishedItem> |
getPublishedItems(LeafNode node)
Fetches all the results for the specified node, limited by
LeafNode.getMaxPublishedItems(). |
List<PublishedItem> |
getPublishedItems(LeafNode node,
int maxRows)
Fetches all the results for the specified node, limited by
LeafNode.getMaxPublishedItems(). |
void |
initialize() |
DefaultNodeConfiguration |
loadDefaultConfiguration(PubSubService.UniqueIdentifier serviceIdentifier,
boolean isLeafType)
Loads from the database the default node configuration for the specified node type
and pubsub service.
|
void |
loadNode(PubSubService service,
Node.UniqueIdentifier nodeIdentifier)
Loads all nodes from the database and adds them to the PubSub service.
|
void |
loadNodes(PubSubService service)
Loads all nodes from the database and adds them to the PubSub service.
|
PEPService |
loadPEPServiceFromDB(org.xmpp.packet.JID jid)
Loads a PEP service from the database, if it exists.
|
void |
loadSubscription(Node node,
String subId) |
void |
purgeNode(LeafNode leafNode) |
void |
removeAffiliation(Node node,
NodeAffiliate affiliate)
Removes the affiliation and subscription state of the user from the DB.
|
void |
removeNode(Node node)
Schedules the node to be removed in the database.
|
void |
removePublishedItem(PublishedItem item)
Removes the specified published item from the DB.
|
protected void |
removePublishedItems(Connection con,
List<PublishedItem> delList,
boolean batch) |
void |
removeSubscription(NodeSubscription subscription)
Removes the subscription of the user from the DB.
|
void |
saveAffiliation(Node node,
NodeAffiliate affiliate,
boolean create)
Deprecated.
|
void |
savePublishedItem(PublishedItem item)
Creates and stores the published item in the database.
|
void |
savePublishedItems(Connection con,
List<PublishedItem> addList,
boolean batch) |
void |
saveSubscription(Node node,
NodeSubscription subscription,
boolean create)
Deprecated.
|
void |
shutdown() |
void |
updateAffiliation(Node node,
NodeAffiliate affiliate)
Updates an affiliation of the user in the node.
|
void |
updateDefaultConfiguration(PubSubService.UniqueIdentifier serviceIdentifier,
DefaultNodeConfiguration config)
Updates the default node configuration for the specified service.
|
void |
updateNode(Node node)
Schedules the node to be updated in the database.
|
void |
updatePublishedItem(PublishedItem item) |
void |
updateSubscription(Node node,
NodeSubscription subscription)
Updates the subscription of the user to the node to the database.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateDefaultConfiguration, loadDefaultConfiguration, loadPEPServiceFromDB, loadSubscription, updateDefaultConfigurationpublic void initialize()
initialize in interface PubSubPersistenceProviderpublic void createNode(Node node)
PubSubPersistenceProvidercreateNode in interface PubSubPersistenceProvidernode - The newly created node.public void updateNode(Node node)
PubSubPersistenceProviderupdateNode in interface PubSubPersistenceProvidernode - The updated node.public void removeNode(Node node)
PubSubPersistenceProviderremoveNode in interface PubSubPersistenceProvidernode - The node that is being deleted.public void loadNodes(PubSubService service)
PubSubPersistenceProviderloadNodes in interface PubSubPersistenceProviderservice - the pubsub service that is hosting the nodes.public void loadNode(PubSubService service, Node.UniqueIdentifier nodeIdentifier)
PubSubPersistenceProviderloadNode in interface PubSubPersistenceProviderservice - the pubsub service that is hosting the nodes.nodeIdentifier - the identifier of the node to load.public void loadSubscription(Node node, String subId)
loadSubscription in interface PubSubPersistenceProvider@Deprecated public void saveAffiliation(Node node, NodeAffiliate affiliate, boolean create)
createAffiliation(Node, NodeAffiliate) and updateAffiliation(Node, NodeAffiliate)node - The node where the affiliation of the user was updated.affiliate - The new affiliation of the user in the node.create - True if this is a new affiliate.public void createAffiliation(Node node, NodeAffiliate affiliate)
PubSubPersistenceProvidercreateAffiliation in interface PubSubPersistenceProvidernode - The node where the affiliation of the user was updated.affiliate - The new affiliation of the user in the node.public void updateAffiliation(Node node, NodeAffiliate affiliate)
PubSubPersistenceProviderupdateAffiliation in interface PubSubPersistenceProvidernode - The node where the affiliation of the user was updated.affiliate - The new affiliation of the user in the node.public void removeAffiliation(Node node, NodeAffiliate affiliate)
PubSubPersistenceProviderremoveAffiliation in interface PubSubPersistenceProvidernode - The node where the affiliation of the user was updated.affiliate - The existing affiliation and subsription state of the user in the node.@Deprecated public void saveSubscription(Node node, NodeSubscription subscription, boolean create)
createSubscription(Node, NodeSubscription) and updateSubscription(Node, NodeSubscription)node - The node where the user has subscribed to.subscription - The new subscription of the user to the node.create - True if this is a new affiliate.public void createSubscription(Node node, NodeSubscription subscription)
PubSubPersistenceProvidercreateSubscription in interface PubSubPersistenceProvidernode - The node where the user has subscribed to.subscription - The new subscription of the user to the node.public void updateSubscription(Node node, NodeSubscription subscription)
PubSubPersistenceProviderupdateSubscription in interface PubSubPersistenceProvidernode - The node where the user has subscribed to.subscription - The new subscription of the user to the node.public void removeSubscription(NodeSubscription subscription)
PubSubPersistenceProviderremoveSubscription in interface PubSubPersistenceProvidersubscription - The existing subscription of the user to the node.public void savePublishedItem(PublishedItem item)
PubSubPersistenceProvidersavePublishedItem in interface PubSubPersistenceProvideritem - The published item to save.public void createPublishedItem(PublishedItem item)
public void updatePublishedItem(PublishedItem item)
public void savePublishedItems(Connection con, List<PublishedItem> addList, boolean batch) throws SQLException
SQLExceptionpublic void removePublishedItem(PublishedItem item)
PubSubPersistenceProviderremovePublishedItem in interface PubSubPersistenceProvideritem - The published item to delete.protected void removePublishedItems(Connection con, List<PublishedItem> delList, boolean batch) throws SQLException
SQLExceptionpublic void bulkPublishedItems(List<PublishedItem> addList, List<PublishedItem> delList)
bulkPublishedItems in interface PubSubPersistenceProvideraddList - A list of items to be added to the database.delList - A list of items to be removed from the database.public DefaultNodeConfiguration loadDefaultConfiguration(PubSubService.UniqueIdentifier serviceIdentifier, boolean isLeafType)
PubSubPersistenceProviderloadDefaultConfiguration in interface PubSubPersistenceProviderserviceIdentifier - Identifier of the serviceisLeafType - true if loading default configuration for leaf nodes.public void createDefaultConfiguration(PubSubService.UniqueIdentifier serviceIdentifier, DefaultNodeConfiguration config)
PubSubPersistenceProvidercreateDefaultConfiguration in interface PubSubPersistenceProviderserviceIdentifier - Identifier of the serviceconfig - the default node configuration to create in the database.public void updateDefaultConfiguration(PubSubService.UniqueIdentifier serviceIdentifier, DefaultNodeConfiguration config)
PubSubPersistenceProviderupdateDefaultConfiguration in interface PubSubPersistenceProviderserviceIdentifier - Identifier of the serviceconfig - the default node configuration to update in the database.public List<PublishedItem> getPublishedItems(LeafNode node)
PubSubPersistenceProviderLeafNode.getMaxPublishedItems().getPublishedItems in interface PubSubPersistenceProvidernode - the leaf node to load its published items.public List<PublishedItem> getPublishedItems(LeafNode node, int maxRows)
PubSubPersistenceProviderLeafNode.getMaxPublishedItems().getPublishedItems in interface PubSubPersistenceProvidernode - the leaf node to load its published items.public PublishedItem getLastPublishedItem(LeafNode node)
PubSubPersistenceProvidergetLastPublishedItem in interface PubSubPersistenceProvidernode - the leaf node to load its last published items.public PublishedItem getPublishedItem(LeafNode node, PublishedItem.UniqueIdentifier itemIdentifier)
getPublishedItem in interface PubSubPersistenceProviderpublic void purgeNode(LeafNode leafNode)
purgeNode in interface PubSubPersistenceProviderpublic PEPService loadPEPServiceFromDB(org.xmpp.packet.JID jid)
PubSubPersistenceProviderloadPEPServiceFromDB in interface PubSubPersistenceProviderjid - the JID of the owner of the PEP service.public void shutdown()
shutdown in interface PubSubPersistenceProviderCopyright © 2003–2020 Ignite Realtime. All rights reserved.