/** * */ package org.gcube.accounting.analytics.persistence.couchbase; import java.util.Calendar; import java.util.List; import java.util.Map; import java.util.Set; import org.gcube.accounting.analytics.Filter; import org.gcube.accounting.analytics.Info; import org.gcube.accounting.analytics.TemporalConstraint; import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQuery; import org.gcube.accounting.analytics.persistence.AccountingPersistenceBackendQueryConfiguration; import org.gcube.documentstore.records.AggregatedRecord; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.couchbase.client.java.Bucket; import com.couchbase.client.java.Cluster; import com.couchbase.client.java.CouchbaseCluster; /** * @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/ * */ public class AccountingPersistenceQueryCouchBase extends AccountingPersistenceBackendQuery { private static final Logger logger = LoggerFactory.getLogger(AccountingPersistenceQueryCouchBase.class); public static final String URL_PROPERTY_KEY = "URL"; //public static final String USERNAME_PROPERTY_KEY = "username"; public static final String PASSWORD_PROPERTY_KEY = "password"; public static final String BUCKET_NAME_PROPERTY_KEY = "bucketName"; protected Cluster cluster; protected Bucket bucket; /** * {@inheritDoc} */ @Override protected void prepareConnection(AccountingPersistenceBackendQueryConfiguration configuration) throws Exception { String url = configuration.getProperty(URL_PROPERTY_KEY); // String username = configuration.getProperty(USERNAME_PROPERTY_KEY); String password = configuration.getProperty(PASSWORD_PROPERTY_KEY); cluster = CouchbaseCluster.create(url); bucket = cluster.openBucket( configuration.getProperty(BUCKET_NAME_PROPERTY_KEY), password); } /** * {@inheritDoc} */ @Override public void close() throws Exception { cluster.disconnect(); } /** * {@inheritDoc} */ @Override protected Map reallyQuery( @SuppressWarnings("rawtypes") Class recordClass, TemporalConstraint temporalConstraint, List filters) throws Exception { // TODO Auto-generated method stub return null; } /** * {@inheritDoc} */ @Override public Set getKeys(Class recordClass) throws Exception { // TODO Auto-generated method stub return null; } /** * {@inheritDoc} */ @Override public Set getPossibleValuesForKey( Class recordClass, String key) throws Exception { // TODO Auto-generated method stub return null; } }