[ 
https://issues.apache.org/jira/browse/METAMODEL-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14157744#comment-14157744
 ] 

ASF GitHub Bot commented on METAMODEL-18:
-----------------------------------------

Github user albertostratio commented on a diff in the pull request:

    https://github.com/apache/incubator-metamodel/pull/2#discussion_r18383366
  
    --- Diff: 
cassandra/src/test/java/org/apache/metamodel/cassandra/CassandraDataContextTest.java
 ---
    @@ -0,0 +1,245 @@
    +/**
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you 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 org.apache.metamodel.cassandra;
    +
    +import com.datastax.driver.core.Cluster;
    +import com.datastax.driver.core.Session;
    +
    +import org.apache.metamodel.data.DataSet;
    +import org.apache.metamodel.data.DataSetTableModel;
    +import org.apache.metamodel.data.FilteredDataSet;
    +import org.apache.metamodel.query.FunctionType;
    +import org.apache.metamodel.query.Query;
    +import org.apache.metamodel.query.SelectItem;
    +import org.apache.metamodel.schema.ColumnType;
    +import org.apache.metamodel.schema.Table;
    +import org.junit.Test;
    +
    +import java.util.Arrays;
    +import java.util.List;
    +
    +import javax.swing.table.TableModel;
    +
    +import static org.junit.Assert.assertEquals;
    +import static org.junit.Assert.assertFalse;
    +import static org.junit.Assert.assertTrue;
    +
    +public class CassandraDataContextTest extends CassandraTestCase {
    +
    +    private CassandraSimpleClient client = new CassandraSimpleClient();
    +    private Cluster cluster;
    +    private CassandraDataContext dc;
    +    private String testTableName = "songs";
    +    private String firstRowId = "756716f7-2e54-4715-9f00-91dcbea6cf51";
    +    private String secondRowId = "756716f7-2e54-4715-9f00-91dcbea6cf52";
    +    private String thirdRowId = "756716f7-2e54-4715-9f00-91dcbea6cf53";
    +    private String firstRowTitle = "My first song";
    +    private String secondRowTitle = "My second song";
    +    private String thirdRowTitle = "My third song";
    +
    +    @Override
    +    protected void setUp() throws Exception {
    +        super.setUp();
    +        if (isConfigured()) {
    +            client.connect(getHostname(), getPort());
    +            cluster = client.getCluster();
    +            Session session = cluster.connect();
    +            dc = new CassandraDataContext(cluster, getKeyspaceName());
    +            createCassandraKeySpaceAndTable(session);
    +            populateCassandraTableWithSomeData(session);
    +        }
    +    }
    +
    +    @Override
    +    protected void tearDown() throws Exception {
    +        super.tearDown();
    +        if (isConfigured()) {
    +           client.close();
    +        }
    +    }
    +
    +    public void testSchemaAndSimpleQuery() throws Exception {
    +        if (!isConfigured()) {
    +            System.err.println(getInvalidConfigurationMessage());
    +            return;
    +        }
    +
    +        assertEquals("["+testTableName+"]",
    +                Arrays.toString(dc.getDefaultSchema().getTableNames()));
    +
    +        Table table = dc.getDefaultSchema().getTableByName(testTableName);
    +
    +        assertEquals(ColumnType.STRING, 
table.getColumnByName("id").getType());
    +        assertEquals(ColumnType.STRING, 
table.getColumnByName("title").getType());
    +        assertEquals(ColumnType.BOOLEAN, 
table.getColumnByName("hit").getType());
    +        assertEquals(ColumnType.FLOAT, 
table.getColumnByName("duration").getType());
    +        assertEquals(ColumnType.INTEGER, 
table.getColumnByName("position").getType());
    +        assertEquals(ColumnType.TIMESTAMP, 
table.getColumnByName("creationtime").getType());
    +
    +
    +        DataSet ds = 
dc.query().from(testTableName).select("id").and("title").execute();
    +        assertEquals(CassandraDataSet.class, ds.getClass());
    +        assertFalse(((CassandraDataSet) ds).isQueryPostProcessed());
    +
    +
    +        try {
    +            assertTrue(ds.next());
    +            assertEquals("Row[values=["+secondRowId+", 
"+secondRowTitle+"]]", ds.getRow().toString());
    +            assertTrue(ds.next());
    +            assertEquals("Row[values=["+thirdRowId+", 
"+thirdRowTitle+"]]", ds.getRow().toString());
    +            assertTrue(ds.next());
    +            assertEquals("Row[values=["+firstRowId+", 
"+firstRowTitle+"]]", ds.getRow().toString());
    +            assertFalse(ds.next());
    +        } finally {
    +            // ds.close();
    +        }
    +    }
    +
    +    public void testWhereColumnEqualsValues() throws Exception {
    +        DataSet ds = 
dc.query().from(testTableName).select("id").and("title").where("id")
    --- End diff --
    
    Good catch! Fixed!


> Cassandra DB support for MetaModel
> ----------------------------------
>
>                 Key: METAMODEL-18
>                 URL: https://issues.apache.org/jira/browse/METAMODEL-18
>             Project: Metamodel
>          Issue Type: New Feature
>            Reporter: Kasper Sørensen
>            Priority: Critical
>
> A new module for MetaModel, providing support for Cassandra.
> Note that Cassandra in many respects is similar to HBase, and we might run 
> into some of the same issues. Check METAMODEL-13 for our HBase module JIRA 
> issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to