Package com.comcast.cmb.common.persistence

Source Code of com.comcast.cmb.common.persistence.PersistenceFactory

/**
* Copyright 2012 Comcast Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.comcast.cmb.common.persistence;

import com.comcast.cns.persistence.CNSAttributesCassandraPersistence;
import com.comcast.cns.persistence.CNSSubscriptionCassandraPersistence;
import com.comcast.cns.persistence.CNSTopicCassandraPersistence;
import com.comcast.cns.persistence.ICNSAttributesPersistence;
import com.comcast.cns.persistence.ICNSSubscriptionPersistence;
import com.comcast.cns.persistence.ICNSTopicPersistence;
import com.comcast.cqs.persistence.CQSQueueCassandraPersistence;
import com.comcast.cqs.persistence.ICQSMessagePersistence;
import com.comcast.cqs.persistence.ICQSQueuePersistence;
import com.comcast.cqs.persistence.RedisCachedCassandraPersistence;
import com.comcast.cqs.persistence.RedisSortedSetPersistence;

/**
* The factory to create appt implementations of the various persistence interfaces
* @author bwolf, aseem, jorge, baosen
*/
public class PersistenceFactory {
    /**
     * Note: The attributes are made public and non-final only for unit-test purposes.
     * Non-unit-test code should only call accessors.
     */
  public static ICQSQueuePersistence cqsQueuePersistence = new CQSQueueCassandraPersistence();
  public static ICNSSubscriptionPersistence cnsSubscriptionPersistence = new CNSSubscriptionCassandraPersistence();
  public static ICNSTopicPersistence cnsTopicPersistence = new CNSTopicCassandraPersistence();
  public static IUserPersistence userPersistence = new UserCassandraPersistence();
  public static ICNSAttributesPersistence cnsAttributePersistence = new CNSAttributesCassandraPersistence();
  public static ICQSMessagePersistence cqsMessagePersistence = RedisSortedSetPersistence.getInstance();
  //public static ICQSMessagePersistence cqsMessagePersistence = RedisCachedCassandraPersistence.getInstance();
 
  public static IUserPersistence getUserPersistence() {
    return userPersistence;
  }
 
  public static ICNSTopicPersistence getTopicPersistence() {
    return cnsTopicPersistence;
  }
 
  public static ICNSSubscriptionPersistence getSubscriptionPersistence() {
    return cnsSubscriptionPersistence;
  }
 
  public static ICQSQueuePersistence getQueuePersistence() {
    return cqsQueuePersistence;
  }
   
  public static ICNSAttributesPersistence getCNSAttributePersistence() {
      return cnsAttributePersistence;
  }
 
  public static ICQSMessagePersistence getCQSMessagePersistence() {
    return cqsMessagePersistence;
  }
 
  /**
   * Only called by unit-tests
   */
  public static synchronized void reset() {
    cqsQueuePersistence = new CQSQueueCassandraPersistence();
    cnsSubscriptionPersistence = new CNSSubscriptionCassandraPersistence();
    cnsTopicPersistence = new CNSTopicCassandraPersistence();
    userPersistence = new UserCassandraPersistence();
    cnsAttributePersistence = new CNSAttributesCassandraPersistence();
    cqsMessagePersistence = RedisSortedSetPersistence.getInstance();
  }
}
TOP

Related Classes of com.comcast.cmb.common.persistence.PersistenceFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.