package org.buddycloud.channelserver.sync; import java.util.concurrent.BlockingQueue; import org.apache.log4j.Logger; import org.buddycloud.channelserver.Configuration; import org.buddycloud.channelserver.channel.ChannelManager; import org.buddycloud.channelserver.channel.ChannelManagerFactory; import org.buddycloud.channelserver.db.exception.NodeStoreException; import org.xmpp.packet.Packet; public class ServerSync { private ChannelManager channelManager; private Configuration configuration; private Logger logger = Logger.getLogger(ServerSync.class); public ServerSync(ChannelManagerFactory channelManagerFactory, BlockingQueue<Packet> outQueue, BlockingQueue<Packet> inQueue, Configuration configuration) { this.channelManager = channelManagerFactory.create(); this.configuration = configuration; } public void start() { try { deleteFederatedChannelCache(); channelManager.close(); } catch (NodeStoreException e) { logger.error(e); } } private void deleteFederatedChannelCache() throws NodeStoreException { Boolean purge = Boolean.valueOf(configuration.getProperty(Configuration.PURGE_REMOTE_ON_START, "false")); if (false == purge) { return; } channelManager.deleteRemoteData(); } }