// Path: thrift/src/main/java/com/ebuddy/cassandra/dao/mapper/SuperColumnFamilyRowMapper.java
// public interface SuperColumnFamilyRowMapper<T,K,SN,N,V> {
//     T mapRow(K rowKey, List<HSuperColumn<SN,N,V>> superColumns);
// }


import me.prettyprint.cassandra.serializers.StringSerializer;
import me.prettyprint.hector.api.Cluster;
import me.prettyprint.hector.api.Keyspace;
import me.prettyprint.hector.api.beans.HSuperColumn;
import me.prettyprint.hector.api.factory.HFactory;
import static org.testng.Assert.assertEquals;
import java.util.Arrays;
import java.util.List;
import org.cassandraunit.DataLoader;
import org.cassandraunit.dataset.yaml.ClassPathYamlDataSet;
import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.ebuddy.cassandra.dao.mapper.SuperColumnFamilyRowMapper;
    @Test(groups = "system")
    public void shouldMultiGetAllSuperColumns() throws Exception {
        Keyspace keyspace = getKeyspace();
        SuperColumnFamilyTemplate<String,String,String,String> template = new
                SuperColumnFamilyTemplate<String,String,String,String>(
                keyspace,
                SUPER_COLUMN_FAMILY,
                StringSerializer.get(),
                StringSerializer.get(),
                StringSerializer.get(),
                StringSerializer.get());

        template.multiGetAllSuperColumns(Arrays.asList(ALEX_ROW_KEY, MIKE_ROW_KEY),
                                         new SuperColumnFamilyRowMapper<Object,String,String,String,String>() {

            @Override
            public Void mapRow(String rowKey, List<HSuperColumn<String,String,String>> hColumns) {

                if (LOG.isDebugEnabled()) {
                    LOG.debug("Mapping SuperColumns: rowKey=" + rowKey +
                                      ";hColumns=" + hColumns);
                }

                if (rowKey.equals(ALEX_ROW_KEY)) {
                    assertEquals(hColumns.size(), 2);
                    assertEquals(hColumns.get(0).getName(), "alex");
                    assertEquals(hColumns.get(1).getName(), "tom");
                }

                if (rowKey.equals(MIKE_ROW_KEY)) {
// Path: thrift/src/main/java/com/ebuddy/cassandra/dao/mapper/SuperColumnFamilyRowMapper.java
// public interface SuperColumnFamilyRowMapper<T,K,SN,N,V> {
//     T mapRow(K rowKey, List<HSuperColumn<SN,N,V>> superColumns);
// }


// Path: thrift/src/test/java/com/ebuddy/cassandra/dao/SuperColumnFamilyTemplateSystemTest.java
import me.prettyprint.cassandra.serializers.StringSerializer;
import me.prettyprint.hector.api.Cluster;
import me.prettyprint.hector.api.Keyspace;
import me.prettyprint.hector.api.beans.HSuperColumn;
import me.prettyprint.hector.api.factory.HFactory;
import static org.testng.Assert.assertEquals;
import java.util.Arrays;
import java.util.List;
import org.cassandraunit.DataLoader;
import org.cassandraunit.dataset.yaml.ClassPathYamlDataSet;
import org.cassandraunit.utils.EmbeddedCassandraServerHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.ebuddy.cassandra.dao.mapper.SuperColumnFamilyRowMapper;

    @Test(groups = "system")
    public void shouldMultiGetAllSuperColumns() throws Exception {
        Keyspace keyspace = getKeyspace();
        SuperColumnFamilyTemplate<String,String,String,String> template = new
                SuperColumnFamilyTemplate<String,String,String,String>(
                keyspace,
                SUPER_COLUMN_FAMILY,
                StringSerializer.get(),
                StringSerializer.get(),
                StringSerializer.get(),
                StringSerializer.get());

        template.multiGetAllSuperColumns(Arrays.asList(ALEX_ROW_KEY, MIKE_ROW_KEY),
                                         new SuperColumnFamilyRowMapper<Object,String,String,String,String>() {

            @Override
            public Void mapRow(String rowKey, List<HSuperColumn<String,String,String>> hColumns) {

                if (LOG.isDebugEnabled()) {
                    LOG.debug("Mapping SuperColumns: rowKey=" + rowKey +
                                      ";hColumns=" + hColumns);
                }

                if (rowKey.equals(ALEX_ROW_KEY)) {
                    assertEquals(hColumns.size(), 2);
                    assertEquals(hColumns.get(0).getName(), "alex");
                    assertEquals(hColumns.get(1).getName(), "tom");
                }

                if (rowKey.equals(MIKE_ROW_KEY)) {
                    assertEquals(hColumns.size(), 1);