Search in sources :

Example 6 with ExternalMapperData

use of org.talend.designer.mapper.external.data.ExternalMapperData in project tdi-studio-se by Talend.

the class MapperMain method createModelFromExternalData.

public void createModelFromExternalData(List<IOConnection> inputs, List<IOConnection> outputs, List<IMetadataTable> outputMetadataTables, ExternalMapperData externalData, boolean checkProblems) {
    if (externalData == null) {
        externalData = new ExternalMapperData();
    }
    mapperManager.getUiManager().setUiProperties(externalData.getUiProperties());
    ExternalDataConverter converter = new ExternalDataConverter(mapperManager);
    this.mapperModel = converter.prepareModel(inputs, outputs, outputMetadataTables, externalData, checkProblems);
}
Also used : ExternalDataConverter(org.talend.designer.mapper.external.converter.ExternalDataConverter) ExternalMapperData(org.talend.designer.mapper.external.data.ExternalMapperData)

Example 7 with ExternalMapperData

use of org.talend.designer.mapper.external.data.ExternalMapperData in project tdi-studio-se by Talend.

the class DesignerMapperService method renameJoinTable.

/*
     * (non-Javadoc)
     * 
     * @see org.talend.designer.mapper.IDesignerMapperService#renameJoinTable(java.lang.Process,
     * org.talend.core.model.process.IExternalData, java.util.List)
     */
public void renameJoinTable(IProcess process, IExternalData data, List<String> createdNames) {
    if (data instanceof ExternalMapperData) {
        ExternalMapperData extenalData = (ExternalMapperData) data;
        final List<ExternalMapperTable> outputTables = extenalData.getOutputTables();
        if (outputTables != null) {
            for (ExternalMapperTable table : outputTables) {
                if (table.getIsJoinTableOf() != null && !"".equals(table.getIsJoinTableOf())) {
                    final String newName = createNewConnectionName(process, table.getName(), createdNames);
                    table.setName(newName);
                }
            }
        }
    }
}
Also used : ExternalMapperTable(org.talend.designer.mapper.external.data.ExternalMapperTable) ExternalMapperData(org.talend.designer.mapper.external.data.ExternalMapperData)

Example 8 with ExternalMapperData

use of org.talend.designer.mapper.external.data.ExternalMapperData in project tdi-studio-se by Talend.

the class DesignerMapperService method isSameMetadata.

public boolean isSameMetadata(IExternalNode externalNode, String schemaId, IMetadataTable metadataTable) {
    boolean isSame = true;
    if (externalNode == null || schemaId == null || metadataTable == null) {
        return false;
    }
    if (externalNode instanceof MapperComponent) {
        MapperComponent component = (MapperComponent) externalNode;
        IExternalData nodeData = externalNode.getExternalData();
        if (nodeData != null && nodeData instanceof ExternalMapperData) {
            ExternalMapperData mapperData = (ExternalMapperData) nodeData;
            List<ExternalMapperTable> outputTables = mapperData.getOutputTables();
            if (outputTables != null && outputTables.size() > 0) {
                for (ExternalMapperTable outputTable : outputTables) {
                    if (schemaId.equals(outputTable.getId())) {
                        final IMetadataTable mapperTable = getMetadataTable(component, outputTable.getName());
                        if (mapperTable == null || !mapperTable.sameMetadataAs(metadataTable, IMetadataColumn.OPTIONS_NONE)) {
                            return false;
                        }
                    }
                }
            }
        // for (ExternalMapperTable extTable : extTables) {
        // isSame = isMetadataSame(extTable, metadataTable);
        // if (!isSame)
        // return isSame;
        // }
        }
    }
    return isSame;
}
Also used : IMetadataTable(org.talend.core.model.metadata.IMetadataTable) IExternalData(org.talend.core.model.process.IExternalData) ExternalMapperTable(org.talend.designer.mapper.external.data.ExternalMapperTable) ExternalMapperData(org.talend.designer.mapper.external.data.ExternalMapperData)

Example 9 with ExternalMapperData

use of org.talend.designer.mapper.external.data.ExternalMapperData in project tdi-studio-se by Talend.

the class DesignerMapperService method renameMapperTable.

public void renameMapperTable(IExternalNode externalNode, String schemaId, String newSchemaId, IMetadataTable metadataTable) {
    if (externalNode == null || schemaId == null || metadataTable == null) {
        return;
    }
    if (externalNode instanceof MapperComponent) {
        MapperComponent component = (MapperComponent) externalNode;
        IExternalData nodeData = externalNode.getExternalData();
        if (nodeData != null && nodeData instanceof ExternalMapperData) {
            ExternalMapperData mapperData = (ExternalMapperData) nodeData;
            List<ExternalMapperTable> outputTables = mapperData.getOutputTables();
            if (outputTables != null && outputTables.size() > 0) {
                for (ExternalMapperTable outputTable : outputTables) {
                    if (!schemaId.equals(outputTable.getId())) {
                        continue;
                    }
                    outputTable.setId(newSchemaId);
                    updateEntriesByMetaColumns(newSchemaId, metadataTable, outputTable, component);
                }
            }
        }
    }
}
Also used : IExternalData(org.talend.core.model.process.IExternalData) ExternalMapperTable(org.talend.designer.mapper.external.data.ExternalMapperTable) ExternalMapperData(org.talend.designer.mapper.external.data.ExternalMapperData)

Example 10 with ExternalMapperData

use of org.talend.designer.mapper.external.data.ExternalMapperData in project tdi-studio-se by Talend.

the class DesignerMapperService method updateMapperTableEntries.

public void updateMapperTableEntries(IExternalNode externalNode, String schemaId, IMetadataTable metadataTable) {
    if (externalNode == null || schemaId == null || metadataTable == null) {
        return;
    }
    if (externalNode instanceof MapperComponent) {
        MapperComponent component = (MapperComponent) externalNode;
        IExternalData nodeData = externalNode.getExternalData();
        if (nodeData != null && nodeData instanceof ExternalMapperData) {
            ExternalMapperData mapperData = (ExternalMapperData) nodeData;
            List<ExternalMapperTable> outputTables = mapperData.getOutputTables();
            if (outputTables != null && outputTables.size() > 0) {
                for (ExternalMapperTable outputTable : outputTables) {
                    updateEntriesByMetaColumns(schemaId, metadataTable, outputTable, component);
                }
            }
        }
    }
}
Also used : IExternalData(org.talend.core.model.process.IExternalData) ExternalMapperTable(org.talend.designer.mapper.external.data.ExternalMapperTable) ExternalMapperData(org.talend.designer.mapper.external.data.ExternalMapperData)

Aggregations

ExternalMapperData (org.talend.designer.mapper.external.data.ExternalMapperData)17 ExternalMapperTable (org.talend.designer.mapper.external.data.ExternalMapperTable)13 ArrayList (java.util.ArrayList)6 IExternalData (org.talend.core.model.process.IExternalData)3 MapperData (org.talend.designer.mapper.model.emf.mapper.MapperData)3 IMetadataTable (org.talend.core.model.metadata.IMetadataTable)2 IConnection (org.talend.core.model.process.IConnection)2 MapperComponent (org.talend.designer.mapper.MapperComponent)2 IOConnection (org.talend.designer.mapper.external.connection.IOConnection)2 ExternalDataConverter (org.talend.designer.mapper.external.converter.ExternalDataConverter)2 ExternalMapperTableEntry (org.talend.designer.mapper.external.data.ExternalMapperTableEntry)2 StringReader (java.io.StringReader)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 List (java.util.List)1 MarshalException (org.exolab.castor.xml.MarshalException)1 Unmarshaller (org.exolab.castor.xml.Unmarshaller)1 ValidationException (org.exolab.castor.xml.ValidationException)1 Test (org.junit.Test)1 IComponent (org.talend.core.model.components.IComponent)1