use of org.talend.repository.model.json.util.JsonSwitch in project tdi-studio-se by Talend.
the class FileJSONTableWizardPage method createControl.
/**
* Create the first composite, addComponentsAndControls and initialize TableWizardPage.
*
* @see IDialogPage#createControl(Composite)
*/
public void createControl(final Composite parent) {
final AbstractForm.ICheckListener listener = new AbstractForm.ICheckListener() {
public void checkPerformed(final AbstractForm source) {
if (source.isStatusOnError()) {
FileJSONTableWizardPage.this.setPageComplete(false);
setErrorMessage(source.getStatus());
} else {
FileJSONTableWizardPage.this.setPageComplete(isRepositoryObjectEditable);
setErrorMessage(null);
setMessage(source.getStatus(), source.getStatusLevel());
}
}
};
Composite theForm = null;
Connection connection = null;
if (metadataTable.getNamespace() != null) {
if (metadataTable.getNamespace() instanceof Package) {
Package pkg = (Package) metadataTable.getNamespace();
if (!pkg.getDataManager().isEmpty()) {
connection = (Connection) pkg.getDataManager().get(0);
}
}
}
theForm = (Composite) new JsonSwitch() {
public Object caseJSONFileConnection(final JSONFileConnection object) {
JSONFileConnection jsonFileConnection = (JSONFileConnection) connectionItem.getConnection();
boolean isInputModel = jsonFileConnection.isInputModel();
if (isInputModel) {
JSONFileStep3Form xmlFileStep3Form = new JSONFileStep3Form(parent, connectionItem, metadataTable, null, TableHelper.getTableNames(object, metadataTable.getLabel()));
xmlFileStep3Form.setReadOnly(!isRepositoryObjectEditable);
xmlFileStep3Form.setListener(listener);
return xmlFileStep3Form;
} else {
JSONFileOutputStep3Form xmlFileOutputStep3Form = new JSONFileOutputStep3Form(parent, connectionItem, metadataTable, TableHelper.getTableNames(object, metadataTable.getLabel()));
xmlFileOutputStep3Form.setReadOnly(!isRepositoryObjectEditable);
xmlFileOutputStep3Form.setListener(listener);
return xmlFileOutputStep3Form;
}
}
}.doSwitch(connection);
setControl(theForm);
}
Aggregations