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

ASF GitHub Bot commented on APEXMALHAR-1966:
--------------------------------------------

Github user DT-Priyanka commented on a diff in the pull request:

    https://github.com/apache/apex-malhar/pull/295#discussion_r67311141
  
    --- Diff: 
contrib/src/main/java/com/datatorrent/contrib/cassandra/CassandraPOJOOutputOperator.java
 ---
    @@ -162,35 +160,75 @@ public void activate(Context.OperatorContext context)
           }
           getters.add(getter);
         }
    +    super.activate(context);
    +  }
    +
    +  private void populateFieldInfosFromPojo(ColumnDefinitions rsMetaData)
    +  {
    +    fieldInfos = Lists.newArrayList();
    +    Field[] fields = pojoClass.getDeclaredFields();
    +    for (int i = 0; i < rsMetaData.size(); i++) {
    +      String columnName = rsMetaData.getName(i);
    +      String pojoField = getMatchingField(fields, columnName);
    +      if (pojoField != null && pojoField.length() != 0) {
    +        fieldInfos.add(new FieldInfo(columnName, pojoField, null));
    +      } else {
    +        LOG.error("Couldn't find corrosponding pojo field for column: " + 
columnName);
    --- End diff --
    
    I haven't tried it yet, but if not null constraint is defined it should 
throw exception. Ideally the app developer should populate the fields as per 
the table schema.
    We can do a quick schema check and throw exception before hand but I wonder 
will that do much of value addition?


> Cassandra output operator improvements
> --------------------------------------
>
>                 Key: APEXMALHAR-1966
>                 URL: https://issues.apache.org/jira/browse/APEXMALHAR-1966
>             Project: Apache Apex Malhar
>          Issue Type: Improvement
>            Reporter: Priyanka Gugale
>            Assignee: Priyanka Gugale
>
> Update existing Cassandra output operator to:
> 1. Accept use defined parameterized queries, the queries could be for update, 
> insert or delete.
> 2. Add error port to emit tuples which couldn't be written to database.
> 3. Add metrics
> 4. Provide a way to restrict batch size



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

Reply via email to