Veena Basavaraj created SQOOP-1870:
--------------------------------------

             Summary: IDF API and impementation package depednency
                 Key: SQOOP-1870
                 URL: https://issues.apache.org/jira/browse/SQOOP-1870
             Project: Sqoop
          Issue Type: Sub-task
          Components: sqoop2-framework
            Reporter: Veena Basavaraj
            Assignee: Veena Basavaraj
             Fix For: 1.99.5


1. update the java docs for IDF apis.

2.  Make the getTextData final and call it getCSV and setCSV, so it is obvious 
that we want to enforce CSV format

 the following code can move to the base class IntermediateDataFormat and made 
final, so there is no way to override this and we can enforce all to return 
String instead of generic T
{code}
// hold the string in IDF base class

 private final String text.
 
  public final String getCSVTextData() {
    return text;
  }

 
  public final void setCSVTextData(String text) {
    this.text = text;
  }
{code}

There is code in CSVIDF implementation that has the rules for CSV parsing that 
can be pulled out into CSV Utils so that the connectors can use
The T in CSV happens to String, which is just a coincidence, If I write a new 
IDF implementation T can be a custom object that could encapsulate the whole 
row.
Third, getData and setData can have custom implementation so they can be 
overriden to return the generic type T

Correction :

{code}
// hold the string in IDF base class, is !final

 private String text.
 
  public final String getCSVTextData() {
    return text;
  }

 
  public final void setCSVTextData(String text) {
    this.text = text;
  }
{code}



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

Reply via email to