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)