Search in sources :

Example 1 with JsonSwitch

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);
}
Also used : JSONFileConnection(org.talend.repository.model.json.JSONFileConnection) Composite(org.eclipse.swt.widgets.Composite) JsonSwitch(org.talend.repository.model.json.util.JsonSwitch) JSONFileConnection(org.talend.repository.model.json.JSONFileConnection) Connection(org.talend.core.model.metadata.builder.connection.Connection) AbstractForm(org.talend.metadata.managment.ui.wizard.AbstractForm) Package(orgomg.cwm.objectmodel.core.Package)

Aggregations

Composite (org.eclipse.swt.widgets.Composite)1 Connection (org.talend.core.model.metadata.builder.connection.Connection)1 AbstractForm (org.talend.metadata.managment.ui.wizard.AbstractForm)1 JSONFileConnection (org.talend.repository.model.json.JSONFileConnection)1 JsonSwitch (org.talend.repository.model.json.util.JsonSwitch)1 Package (orgomg.cwm.objectmodel.core.Package)1