@Bean(name="pubsubRepository",
parent=PubSubComponent.class,
active=true)
public class CachedPubSubRepository<T>
extends Object
implements IPubSubRepository, tigase.stats.StatisticHolder, tigase.kernel.beans.Initializable
| Modifier and Type | Class and Description |
|---|---|
static class |
CachedPubSubRepository.NodeKey |
static class |
CachedPubSubRepository.RootCollectionSet |
IPubSubRepository.Item, IPubSubRepository.RootCollectionSetIfc| Modifier and Type | Field and Description |
|---|---|
protected PubSubConfig |
config |
protected IPubSubDAO<T,tigase.db.DataSource,Query> |
dao |
protected Logger |
log |
protected Logic |
logic |
static long |
MAX_WRITE_DELAY |
protected Map<CachedPubSubRepository.NodeKey,Node> |
nodes |
protected AtomicLong |
nodesCount |
| Constructor and Description |
|---|
CachedPubSubRepository() |
| Modifier and Type | Method and Description |
|---|---|
void |
addToRootCollection(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
protected CachedPubSubRepository.NodeKey |
createKey(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
void |
createNode(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
tigase.xmpp.jid.BareJID ownerJid,
AbstractNodeConfig nodeConfig,
NodeType nodeType,
String collection) |
void |
deleteNode(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
void |
destroy() |
void |
everyHour() |
void |
everyMinute() |
void |
everySecond() |
void |
forgetConfiguration(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
Collection<Node> |
getAllNodes() |
String[] |
getBuddyGroups(tigase.xmpp.jid.BareJID owner,
tigase.xmpp.jid.BareJID bareJid) |
String |
getBuddySubscription(tigase.xmpp.jid.BareJID owner,
tigase.xmpp.jid.BareJID buddy) |
String[] |
getChildNodes(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
protected Node |
getNode(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
IAffiliations |
getNodeAffiliations(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
protected List<Node<T>> |
getNodeAndSubnodes(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
Predicate<Node<T>> filterWithSubnodes,
Predicate<Node<T>> filter) |
AbstractNodeConfig |
getNodeConfig(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
protected Node |
getNodeFromCache(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
IItems |
getNodeItems(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
INodeMeta |
getNodeMeta(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
long |
getNodesCount(tigase.xmpp.jid.BareJID serviceJID) |
ISubscriptions |
getNodeSubscriptions(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
IPubSubDAO |
getPubSubDAO() |
String[] |
getRootCollection(tigase.xmpp.jid.BareJID serviceJid) |
protected IPubSubRepository.RootCollectionSetIfc |
getRootCollectionSet(tigase.xmpp.jid.BareJID serviceJid) |
void |
getStatistics(String name,
tigase.stats.StatisticsList stats) |
Map<tigase.xmpp.jid.BareJID,tigase.xmpp.impl.roster.RosterElement> |
getUserRoster(tigase.xmpp.jid.BareJID owner) |
Map<String,UsersSubscription> |
getUserSubscriptions(tigase.xmpp.jid.BareJID serviceJid,
tigase.xmpp.jid.BareJID userJid) |
protected boolean |
hasAccessPermission(Node node,
tigase.xmpp.jid.JID requester) |
void |
init() |
void |
initialize() |
protected void |
loadRootCollections(CachedPubSubRepository.RootCollectionSet rootCollection) |
Query |
newQuery() |
protected void |
nodeCollectionChanged(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
String oldCollection,
String newCollection) |
void |
onUserRemoved(tigase.xmpp.jid.BareJID userJid) |
void |
queryItems(Query query,
tigase.xmpp.mam.MAMRepository.ItemHandler<Query,IPubSubRepository.Item> itemHandler) |
void |
removeFromRootCollection(tigase.xmpp.jid.BareJID serviceJid,
String nodeName) |
void |
setDao(IPubSubDAO<T,tigase.db.DataSource,Query> dao) |
void |
setStatisticsPrefix(String prefix) |
void |
statisticExecutedIn(long executionTime) |
void |
update(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
AbstractNodeConfig nodeConfig) |
void |
update(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
IAffiliations nodeAffiliations) |
void |
update(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
ISubscriptions nodeSubscriptions) |
protected void |
userRemoved(tigase.xmpp.jid.BareJID userJid) |
protected NodeSubscriptions |
wrapNodeSubscriptions(NodeSubscriptions nodeSubscriptions) |
public static final long MAX_WRITE_DELAY
@Inject protected PubSubConfig config
@Inject protected IPubSubDAO<T,tigase.db.DataSource,Query> dao
protected Logger log
@Inject protected Logic logic
protected Map<CachedPubSubRepository.NodeKey,Node> nodes
protected final AtomicLong nodesCount
public void addToRootCollection(tigase.xmpp.jid.BareJID serviceJid,
String nodeName)
throws tigase.component.exceptions.RepositoryException
addToRootCollection in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void createNode(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
tigase.xmpp.jid.BareJID ownerJid,
AbstractNodeConfig nodeConfig,
NodeType nodeType,
String collection)
throws tigase.component.exceptions.RepositoryException
createNode in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void deleteNode(tigase.xmpp.jid.BareJID serviceJid,
String nodeName)
throws tigase.component.exceptions.RepositoryException
deleteNode in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void destroy()
destroy in interface IPubSubRepositorypublic void everyHour()
everyHour in interface tigase.stats.StatisticHolderpublic void everyMinute()
everyMinute in interface tigase.stats.StatisticHolderpublic void everySecond()
everySecond in interface tigase.stats.StatisticHolderpublic void forgetConfiguration(tigase.xmpp.jid.BareJID serviceJid,
String nodeName)
throws tigase.component.exceptions.RepositoryException
forgetConfiguration in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic Collection<Node> getAllNodes()
public String[] getBuddyGroups(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID bareJid) throws tigase.component.exceptions.RepositoryException
getBuddyGroups in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic String getBuddySubscription(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy) throws tigase.component.exceptions.RepositoryException
getBuddySubscription in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic String[] getChildNodes(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
getChildNodes in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic IAffiliations getNodeAffiliations(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
getNodeAffiliations in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic AbstractNodeConfig getNodeConfig(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
getNodeConfig in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic INodeMeta getNodeMeta(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
getNodeMeta in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic IItems getNodeItems(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
getNodeItems in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic ISubscriptions getNodeSubscriptions(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
getNodeSubscriptions in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic long getNodesCount(tigase.xmpp.jid.BareJID serviceJID)
throws tigase.component.exceptions.RepositoryException
getNodesCount in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic IPubSubDAO getPubSubDAO()
getPubSubDAO in interface IPubSubRepositorypublic void setDao(IPubSubDAO<T,tigase.db.DataSource,Query> dao)
public String[] getRootCollection(tigase.xmpp.jid.BareJID serviceJid) throws tigase.component.exceptions.RepositoryException
getRootCollection in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void getStatistics(String name, tigase.stats.StatisticsList stats)
getStatistics in interface tigase.stats.StatisticHolderpublic Map<tigase.xmpp.jid.BareJID,tigase.xmpp.impl.roster.RosterElement> getUserRoster(tigase.xmpp.jid.BareJID owner) throws tigase.component.exceptions.RepositoryException
getUserRoster in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic Map<String,UsersSubscription> getUserSubscriptions(tigase.xmpp.jid.BareJID serviceJid, tigase.xmpp.jid.BareJID userJid) throws tigase.component.exceptions.RepositoryException
getUserSubscriptions in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void init()
init in interface IPubSubRepositorypublic void initialize()
initialize in interface tigase.kernel.beans.Initializablepublic void queryItems(Query query, tigase.xmpp.mam.MAMRepository.ItemHandler<Query,IPubSubRepository.Item> itemHandler) throws tigase.component.exceptions.RepositoryException, tigase.component.exceptions.ComponentException
queryItems in interface tigase.xmpp.mam.MAMRepository<Query,IPubSubRepository.Item>tigase.component.exceptions.RepositoryExceptiontigase.component.exceptions.ComponentExceptionpublic Query newQuery()
newQuery in interface tigase.xmpp.mam.MAMRepository<Query,IPubSubRepository.Item>public void removeFromRootCollection(tigase.xmpp.jid.BareJID serviceJid,
String nodeName)
throws tigase.component.exceptions.RepositoryException
removeFromRootCollection in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void setStatisticsPrefix(String prefix)
setStatisticsPrefix in interface tigase.stats.StatisticHolderpublic void statisticExecutedIn(long executionTime)
statisticExecutedIn in interface tigase.stats.StatisticHolderpublic void update(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
AbstractNodeConfig nodeConfig)
throws tigase.component.exceptions.RepositoryException
update in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void update(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
IAffiliations nodeAffiliations)
throws tigase.component.exceptions.RepositoryException
update in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void update(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
ISubscriptions nodeSubscriptions)
throws tigase.component.exceptions.RepositoryException
update in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionpublic void onUserRemoved(tigase.xmpp.jid.BareJID userJid)
throws tigase.component.exceptions.RepositoryException
onUserRemoved in interface IPubSubRepositorytigase.component.exceptions.RepositoryExceptionprotected CachedPubSubRepository.NodeKey createKey(tigase.xmpp.jid.BareJID serviceJid, String nodeName)
protected Node getNode(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
tigase.component.exceptions.RepositoryExceptionprotected Node getNodeFromCache(tigase.xmpp.jid.BareJID serviceJid, String nodeName)
protected IPubSubRepository.RootCollectionSetIfc getRootCollectionSet(tigase.xmpp.jid.BareJID serviceJid) throws tigase.component.exceptions.RepositoryException
tigase.component.exceptions.RepositoryExceptionprotected void loadRootCollections(CachedPubSubRepository.RootCollectionSet rootCollection) throws tigase.component.exceptions.RepositoryException
tigase.component.exceptions.RepositoryExceptionprotected List<Node<T>> getNodeAndSubnodes(tigase.xmpp.jid.BareJID serviceJid, String nodeName, Predicate<Node<T>> filterWithSubnodes, Predicate<Node<T>> filter) throws tigase.component.exceptions.RepositoryException, tigase.component.exceptions.ComponentException
tigase.component.exceptions.RepositoryExceptiontigase.component.exceptions.ComponentExceptionprotected boolean hasAccessPermission(Node node, tigase.xmpp.jid.JID requester)
protected void userRemoved(tigase.xmpp.jid.BareJID userJid)
protected void nodeCollectionChanged(tigase.xmpp.jid.BareJID serviceJid,
String nodeName,
String oldCollection,
String newCollection)
protected NodeSubscriptions wrapNodeSubscriptions(NodeSubscriptions nodeSubscriptions)
Copyright © 2008–2021 Tigase. All rights reserved.