use of org.talend.cwm.relational.TdView in project tdq-studio-se by Talend.
the class CatalogSchemaComparisonLevel method reloadElementOfPackage.
/**
* DOC rli Comment method "reloadElementOfPackage".
*
* @param toReloadObj
* @return
* @throws ReloadCompareException
*/
private List<ColumnSet> reloadElementOfPackage(Package toReloadObj) throws ReloadCompareException {
List<ColumnSet> columnSetList = new ArrayList<ColumnSet>();
try {
// MOD by msjian bug 2011-5-16 20875, the reload element is not added correctly
Catalog catalogObj = SwitchHelpers.CATALOG_SWITCH.doSwitch(toReloadObj);
Schema schemaObj = SwitchHelpers.SCHEMA_SWITCH.doSwitch(toReloadObj);
if (schemaObj != null) {
List<ModelElement> elementList = schemaObj.getOwnedElement();
if (elementList != null && elementList.size() > 0) {
elementList.clear();
}
List<TdTable> tables = DqRepositoryViewService.getTables(tempReloadProvider, schemaObj, null, true, true);
SchemaHelper.addTables(tables, schemaObj);
columnSetList.addAll(tables);
List<TdView> views = DqRepositoryViewService.getViews(tempReloadProvider, schemaObj, null, true, true);
SchemaHelper.addViews(views, schemaObj);
columnSetList.addAll(views);
} else {
List<ModelElement> elementList = catalogObj.getOwnedElement();
if (elementList != null && elementList.size() > 0) {
elementList.clear();
}
List<TdTable> tables = DqRepositoryViewService.getTables(tempReloadProvider, catalogObj, null, true, true);
CatalogHelper.addTables(tables, catalogObj);
columnSetList.addAll(tables);
List<TdView> views = DqRepositoryViewService.getViews(tempReloadProvider, catalogObj, null, true, true);
CatalogHelper.addViews(views, catalogObj);
columnSetList.addAll(views);
}
// else {
// List<TdTable> tables = DqRepositoryViewService.getTables(tempReloadProvider, (Schema) toReloadObj, null,
// true);
// SchemaHelper.addTables(tables, (Schema) toReloadObj);
// columnSetList.addAll(tables);
//
// List<TdView> views = DqRepositoryViewService.getViews(tempReloadProvider, (Schema) toReloadObj, null,
// true);
// SchemaHelper.addViews(views, (Schema) toReloadObj);
// columnSetList.addAll(views);
//
// }
} catch (Exception e1) {
throw new ReloadCompareException(e1);
}
// EMFSharedResources.getInstance().saveResource(tempReloadProvider.eResource());
return columnSetList;
}
use of org.talend.cwm.relational.TdView in project tdq-studio-se by Talend.
the class CatalogSchemaComparisonLevel method resetTaggedValues.
/*
* (non-Javadoc)
*
* @see org.talend.cwm.compare.factory.comparisonlevel.AbstractComparisonLevel#resetTaggedValues()
*/
@Override
protected void resetTaggedValues() throws ReloadCompareException {
super.resetTaggedValues();
if (PluginChecker.isTDQLoaded()) {
Package selectedPackage = getPackageFromObject(selectedObj);
List<TdTable> tables = PackageHelper.getTables(selectedPackage);
for (TdTable table : tables) {
// reset the table's tagged values "CONCEPT_NAME".
String tmpTableConceptName = tmpTableTaggedValuesMap.get(table.getName());
if (tmpTableConceptName != null) {
TaggedValueHelper.setTaggedValue(table, TaggedValueHelper.CONCEPT_NAME, tmpTableConceptName);
}
}
List<TdView> views = PackageHelper.getViews(selectedPackage);
for (TdView view : views) {
// reset the view's tagged values "CONCEPT_NAME".
String tmpViewConceptName = tmpTableTaggedValuesMap.get(view.getName());
if (tmpViewConceptName != null) {
TaggedValueHelper.setTaggedValue(view, TaggedValueHelper.CONCEPT_NAME, tmpViewConceptName);
}
}
}
}
use of org.talend.cwm.relational.TdView in project tdq-studio-se by Talend.
the class ModelElementEditonDistance method distance.
/*
* (non-Javadoc)
*
* @see org.eclipse.emf.compare.match.eobject.EditionDistance#distance(org.eclipse.emf.compare.Comparison,
* org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
*/
@Override
public double distance(Comparison inProgress, EObject a, EObject b) {
boolean isSame = false;
if (a instanceof DatabaseConnection) {
return 0;
}
if (a instanceof Catalog && b instanceof Catalog) {
Catalog catalog1 = (Catalog) a;
Catalog catalog2 = (Catalog) b;
isSame = StringUtils.equalsIgnoreCase(catalog1.getName(), catalog2.getName());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof Schema && b instanceof Schema) {
Schema schema1 = (Schema) a;
Schema schema2 = (Schema) b;
isSame = StringUtils.equalsIgnoreCase(schema1.getName(), schema2.getName());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof TdTable && b instanceof TdTable) {
TdTable tdTable1 = (TdTable) a;
TdTable tdTable2 = (TdTable) b;
isSame = StringUtils.equalsIgnoreCase(tdTable1.getName(), tdTable2.getName());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof TdView && b instanceof TdView) {
TdView tdView1 = (TdView) a;
TdView tdView2 = (TdView) b;
isSame = StringUtils.equalsIgnoreCase(tdView1.getName(), tdView2.getName());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof TdColumn && b instanceof TdColumn) {
TdColumn tdColumn1 = (TdColumn) a;
TdColumn tdColumn2 = (TdColumn) b;
isSame = StringUtils.equalsIgnoreCase(tdColumn1.getName(), tdColumn2.getName()) && distance(inProgress, tdColumn1.getSqlDataType(), tdColumn2.getSqlDataType()) == 0;
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof TaggedValue && b instanceof TaggedValue) {
TaggedValue taggedValue1 = (TaggedValue) a;
TaggedValue taggedValue2 = (TaggedValue) b;
isSame = StringUtils.equalsIgnoreCase(taggedValue1.getTag(), taggedValue2.getTag()) && StringUtils.equalsIgnoreCase(taggedValue1.getValue(), taggedValue2.getValue());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof TdExpression && b instanceof TdExpression) {
TdExpression tdExpression1 = (TdExpression) a;
TdExpression tdExpression2 = (TdExpression) b;
isSame = StringUtils.equalsIgnoreCase(tdExpression1.getLanguage(), tdExpression2.getLanguage()) && StringUtils.equalsIgnoreCase(tdExpression1.getBody(), tdExpression2.getBody());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof TdSqlDataType && b instanceof TdSqlDataType) {
TdSqlDataType tdExpression1 = (TdSqlDataType) a;
TdSqlDataType tdExpression2 = (TdSqlDataType) b;
isSame = StringUtils.equalsIgnoreCase(tdExpression1.getName(), tdExpression2.getName());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof MetadataColumn && b instanceof MetadataColumn) {
// Added yyin TDQ-8360
MetadataColumn metaColumn1 = (MetadataColumn) a;
MetadataColumn metaColumn2 = (MetadataColumn) b;
isSame = StringUtils.equalsIgnoreCase(metaColumn1.getLabel(), metaColumn2.getLabel());
return isSame ? 0 : Double.MAX_VALUE;
} else if (a instanceof MetadataTable && b instanceof MetadataTable) {
MetadataTable mTable1 = (MetadataTable) a;
MetadataTable mTable2 = (MetadataTable) b;
isSame = StringUtils.equalsIgnoreCase(mTable1.getLabel(), mTable2.getLabel());
return isSame ? 0 : Double.MAX_VALUE;
}
return super.distance(inProgress, a, b);
}
use of org.talend.cwm.relational.TdView in project tdq-studio-se by Talend.
the class RepositoryNodeHelper method filterViews.
/**
* DOC klliu Comment method "filterViews".
*
* @param views
* @param columnSetPattern
* @return
*/
public static List<TdView> filterViews(List<TdView> views, String columnSetPattern) {
// $NON-NLS-1$
String[] patterns = cleanPatterns(columnSetPattern.split(","));
List<NamedColumnSet> filterMatchingColumnSets = filterMatchingColumnSets(views, patterns);
List<TdView> filterViews = new ArrayList<TdView>();
for (NamedColumnSet columnSet : filterMatchingColumnSets) {
TdView view = (TdView) columnSet;
filterViews.add(view);
}
return filterViews;
}
use of org.talend.cwm.relational.TdView in project tdq-studio-se by Talend.
the class DBViewFolderRepNode method createViewRepositoryNode.
/**
* DOC klliu Comment method "createTableRepositoryNode".
*
* @param tables
*/
private void createViewRepositoryNode(List<TdView> views, List<IRepositoryNode> node) {
if (views != null) {
for (TdView view : views) {
// create view object
TdViewRepositoryObject metadataView = new TdViewRepositoryObject(viewObject, view);
metadataView.setTableName(view.getName());
metadataView.setLabel(view.getName());
metadataView.setId(view.getName());
// create a node for ui
DBViewRepNode viewNode = new DBViewRepNode(metadataView, this, ENodeType.TDQ_REPOSITORY_ELEMENT, getProject());
viewNode.setProperties(EProperties.LABEL, ERepositoryObjectType.METADATA_CON_TABLE);
viewNode.setProperties(EProperties.CONTENT_TYPE, ERepositoryObjectType.METADATA_CON_VIEW);
metadataView.setRepositoryNode(viewNode);
node.add(viewNode);
}
}
}
Aggregations