use of org.talend.core.repository.model.repositoryObject.MetadataXmlElementTypeRepositoryObject in project tdq-studio-se by Talend.
the class AnalysisColumnTreeViewer method canDrop.
@Override
public boolean canDrop(IRepositoryNode metadataRepositoryNode) {
IRepositoryViewObject metadataRepObject = metadataRepositoryNode.getObject();
ConnectionItem connItem = (ConnectionItem) metadataRepObject.getProperty().getItem();
// MOD qiongli 2010-8-19,bug 14436:could not come from diffrent connection
Connection tdProvider = connItem.getConnection();
if (tdProvider == null) {
return false;
} else if (this.getAnalysis().getContext().getConnection() != null && !ResourceHelper.areSame(tdProvider, this.getAnalysis().getContext().getConnection())) {
return false;
}
// MOD mzhao, 2010-07-23 bug 14014: If the editor is dirty, save it firstly before drag and drop an elements.
if (masterPage.isDirty()) {
masterPage.doSave(new NullProgressMonitor());
return false;
}
List<ModelElement> existModelElements = new ArrayList<ModelElement>();
for (ModelElementIndicator modelElementIndicator : this.getAllTheElementIndicator()) {
ModelElement me = RepositoryNodeHelper.getModelElementFromRepositoryNode(modelElementIndicator.getModelElementRepositoryNode());
existModelElements.add(me);
}
// MOD mzhao 9848 2010-01-14, allowing to drag and drop table.
if (metadataRepObject instanceof MetadataTableRepositoryObject) {
MetadataTableRepositoryObject tableRepObject = (MetadataTableRepositoryObject) metadataRepObject;
return !existModelElements.containsAll(ColumnSetHelper.getColumns((TdTable) tableRepObject.getTable()));
}
if (metadataRepObject instanceof MetadataColumnRepositoryObject) {
if (existModelElements.contains(((MetadataColumnRepositoryObject) metadataRepObject).getTdColumn())) {
return false;
}
}
if (metadataRepObject instanceof MetadataXmlElementTypeRepositoryObject) {
return !metadataRepositoryNode.hasChildren();
}
return true;
}
use of org.talend.core.repository.model.repositoryObject.MetadataXmlElementTypeRepositoryObject in project tdq-studio-se by Talend.
the class AbstractPredefinedAnalysisAction method composePredefinedColumnIndicator.
protected ModelElementIndicator[] composePredefinedColumnIndicator(IndicatorEnum[] allowedEnum) {
IRepositoryNode[] columns = getColumns();
ModelElementIndicator[] predefinedColumnIndicator = new ModelElementIndicator[columns.length];
ExecutionLanguage language = ExecutionLanguage.get(getMasterPage().getExecCombo().getText());
for (int i = 0; i < columns.length; i++) {
IRepositoryNode columnNode = columns[i];
ModelElementIndicator columnIndicator = ModelElementIndicatorHelper.createModelElementIndicator(columnNode);
for (IndicatorEnum oneEnum : allowedEnum) {
columnIndicator.addTempIndicatorEnum(oneEnum);
if (oneEnum.getChildren() != null) {
for (IndicatorEnum childEnum : oneEnum.getChildren()) {
// MOD by zshen:need language to decide DatePatternFrequencyIndicator whether can be choose by
// user.
IRepositoryViewObject object = columnNode.getObject();
ModelElement element = null;
if (object instanceof MetadataColumnRepositoryObject) {
element = ((MetadataColumnRepositoryObject) object).getTdColumn();
} else if (object instanceof MetadataXmlElementTypeRepositoryObject) {
element = ((MetadataXmlElementTypeRepositoryObject) object).getModelElement();
}
if (element != null && ModelElementIndicatorRule.patternRule(childEnum, element, language)) {
columnIndicator.addTempIndicatorEnum(childEnum);
}
}
}
}
columnIndicator.storeTempIndicator();
predefinedColumnIndicator[i] = columnIndicator;
}
return predefinedColumnIndicator;
}
use of org.talend.core.repository.model.repositoryObject.MetadataXmlElementTypeRepositoryObject in project tdq-studio-se by Talend.
the class ColumnWizard method composePredefinedColumnIndicator.
protected ModelElementIndicator[] composePredefinedColumnIndicator(IndicatorEnum[] allowedEnum) {
List<IRepositoryNode> nodes;
// from the right menu
if (selectionPage == null) {
nodes = Arrays.asList(((AnalysisLabelParameter) parameter).getColumnNodes());
} else {
// TDQ-11240: get all the column nodes
nodes = Arrays.asList(RepositoryNodeHelper.getAllColumnNodes(selectionPage.nodes.toArray(new IRepositoryNode[selectionPage.nodes.size()])));
}
ModelElementIndicator[] predefinedColumnIndicator = new ModelElementIndicator[nodes.size()];
for (int i = 0; i < nodes.size(); i++) {
IRepositoryNode columnNode = nodes.get(i);
ModelElementIndicator columnIndicator = ModelElementIndicatorHelper.createModelElementIndicator(columnNode);
for (IndicatorEnum oneEnum : allowedEnum) {
columnIndicator.addTempIndicatorEnum(oneEnum);
if (oneEnum.getChildren() != null) {
for (IndicatorEnum childEnum : oneEnum.getChildren()) {
// MOD by zshen:need language to decide DatePatternFrequencyIndicator whether can be choose by
// user.
IRepositoryViewObject object = columnNode.getObject();
ModelElement element = null;
if (object instanceof MetadataColumnRepositoryObject) {
element = ((MetadataColumnRepositoryObject) object).getTdColumn();
} else if (object instanceof MetadataXmlElementTypeRepositoryObject) {
element = ((MetadataXmlElementTypeRepositoryObject) object).getModelElement();
}
if (element != null && ModelElementIndicatorRule.patternRule(childEnum, element, ExecutionLanguage.SQL)) {
columnIndicator.addTempIndicatorEnum(childEnum);
}
}
}
}
columnIndicator.storeTempIndicator();
predefinedColumnIndicator[i] = columnIndicator;
}
return predefinedColumnIndicator;
}
Aggregations