use of org.talend.dataquality.properties.TDQFileItem in project tdq-studio-se by Talend.
the class AbstractImportSourceFileAction method initItem.
/*
* (non-Javadoc)
*
* @see org.talend.dataprofiler.core.ui.action.AbstractImportFileAction#initItem(java.io.File)
*/
@Override
public Item initItem(File srcFile) throws Exception {
TDQFileItem fileItem = createTDQFileItem();
fileItem.setExtension(FileUtils.getExtension(srcFile));
fileItem.setName(FileUtils.getName(srcFile));
ByteArray byteArray = PropertiesFactory.eINSTANCE.createByteArray();
byteArray.setInnerContentFromFile(srcFile);
fileItem.setContent(byteArray);
return fileItem;
}
use of org.talend.dataquality.properties.TDQFileItem in project tdq-studio-se by Talend.
the class DuplicateAction method getSelctionNode.
private RepositoryNode getSelctionNode(String newLabel, Property property) throws BusinessException {
RepositoryNode recursiveFind = null;
if (property != null) {
if (property.getItem() instanceof TDQFileItem) {
// if the model element is null, means that it is a file item.
recursiveFind = findNodeForTDQFileItem(newLabel);
} else {
// find the related node by the model element
recursiveFind = RepositoryNodeHelper.recursiveFind(property);
}
}
if (recursiveFind == null) {
BusinessException createBusinessException = ExceptionFactory.getInstance().createBusinessException(// $NON-NLS-1$
DefaultMessagesImpl.getString("DuplicateAction.NodeNull", newLabel));
throw createBusinessException;
}
RepositoryNode parent = recursiveFind.getParent();
CommonViewer dqCommonViewer = RepositoryNodeHelper.getDQCommonViewer();
if (dqCommonViewer != null && !dqCommonViewer.getExpandedState(parent)) {
dqCommonViewer.setExpandedState(parent, true);
}
return recursiveFind;
}
use of org.talend.dataquality.properties.TDQFileItem in project tdq-studio-se by Talend.
the class SqlSourceFileUpdateTask method doExecute.
/*
* (non-Javadoc)
*
* @see org.talend.dataprofiler.core.migration.AMigrationTask#doExecute()
*/
@Override
protected boolean doExecute() throws Exception {
File rawFile = getWorkspacePath().append(TDQ_SOURCE_FILE_PATH).toFile();
EMFUtil emfUtil = new EMFUtil();
if (rawFile.exists() && rawFile.isDirectory()) {
ArrayList<File> fileList = new ArrayList<File>();
getAllFilesFromFolder(rawFile, fileList, new FilenameFilter() {
public boolean accept(File dir, String name) {
if (name.endsWith(SQL_EXT)) {
return true;
}
return false;
}
});
// $NON-NLS-1$
log.info("-----------Updating sql source file task ---------------");
int counter = 0;
for (File sqlFile : fileList) {
// $NON-NLS-1$
log.info(counter + ". Updating: " + sqlFile.getAbsolutePath());
// $NON-NLS-1$
String fileNamePart = FileUtils.getName(sqlFile) + "_" + VersionUtils.DEFAULT_VERSION;
IPath newSQLPath = new Path(sqlFile.getAbsolutePath()).removeLastSegments(1).append(fileNamePart).addFileExtension(SQL_EXT);
Property property = createProperty(sqlFile);
TDQFileItem item = (TDQFileItem) property.getItem();
URI itemResourceURI = URI.createFileURI(newSQLPath.toString());
Resource itemResource = new ByteArrayResource(itemResourceURI);
itemResource.getContents().add(item.getContent());
URI propertyResourceURI = itemResourceURI.trimFileExtension().appendFileExtension(PROP_EXT);
Resource propertyResource = emfUtil.getResourceSet().createResource(propertyResourceURI);
propertyResource.getContents().add(item.getProperty());
propertyResource.getContents().add(item.getState());
propertyResource.getContents().add(item);
EMFUtil.saveResource(itemResource);
EMFUtil.saveResource(propertyResource);
sqlFile.delete();
counter++;
}
emfUtil = null;
}
return true;
}
use of org.talend.dataquality.properties.TDQFileItem in project tdq-studio-se by Talend.
the class DependenciesHandler method getSupplierDependency.
/**
* @param object
* @return SupplierDependency
*
* getSupplierDependency
*/
public List<IRepositoryViewObject> getSupplierDependency(IRepositoryViewObject object) {
List<IRepositoryViewObject> listViewObject = new ArrayList<IRepositoryViewObject>();
ModelElement modelElement = PropertyHelper.getModelElement(object.getProperty());
if (object.getProperty().getItem() instanceof TDQFileItem) {
return listViewObject;
}
if (modelElement instanceof IndicatorDefinition) {
listViewObject.addAll(getIndicatorDependency(object));
} else {
EList<Dependency> supplierDependency = modelElement.getSupplierDependency();
for (Dependency supplier : supplierDependency) {
for (ModelElement depencyModelElement : supplier.getClient()) {
if (depencyModelElement.eIsProxy()) {
// the depency ModelElement is proxy means it is not exist in current project, so need not to do
// anyting, just skip it
} else {
Property property = PropertyHelper.getProperty(depencyModelElement);
IRepositoryViewObject repositoryViewObject = new RepositoryViewObject(property);
listViewObject.add(repositoryViewObject);
}
}
}
}
return listViewObject;
}
use of org.talend.dataquality.properties.TDQFileItem in project tdq-studio-se by Talend.
the class OpenItemEditorAction method computeEditorInput.
/**
* get the ItemEditorInput according to the repNode, if there no ItemEditorInput return null.
*
* @param repNode
* @param isOpenItemEditorAction
* @return IEditorInput
* @throws PersistenceException
*/
public IEditorInput computeEditorInput(IRepositoryNode repNode, boolean isOpenItemEditorAction) throws BusinessException {
// TDQ-12499 msjian add : when click the node under recyclebin, no need to find a EditorInput
if (repNode != null && !isOpenItemEditorAction) {
IRepositoryNode currentNode = repNode;
do {
RepositoryNode parentNode = currentNode.getParent();
if (parentNode != null && parentNode instanceof RecycleBinRepNode) {
return null;
}
currentNode = parentNode;
} while (currentNode != null);
}
// TDQ-12499~
IEditorInput result = null;
IRepositoryViewObject repViewObj = repNode.getObject();
if (repViewObj != null) {
// Connection editor
String key = repViewObj.getRepositoryObjectType().getKey();
Item item = repViewObj.getProperty().getItem();
if (item instanceof TDQItem && !(item instanceof TDQFileItem)) {
ModelElement modelElement = PropertyHelper.getModelElement(repViewObj.getProperty());
if (modelElement.eIsProxy() && repNode != null) {
modelElement = (ModelElement) EObjectHelper.resolveObject(modelElement);
item = repViewObj.getProperty().getItem();
}
if (modelElement == null || modelElement.eResource() == null) {
throw ExceptionFactory.getInstance().createBusinessException(((TDQItem) item).getFilename());
}
}
if (ERepositoryObjectType.METADATA_CONNECTIONS.getKey().equals(key) || ConnectionUtils.isTcompJdbc(key)) {
result = new ConnectionItemEditorInput(repNode);
Connection connection = ((ConnectionItem) item).getConnection();
if (connection == null || connection.getDataPackage().size() == 0) {
throw ExceptionFactory.getInstance().createBusinessException(repViewObj);
}
editorID = ConnectionEditor.class.getName();
} else if (ERepositoryObjectType.TDQ_ANALYSIS_ELEMENT.getKey().equals(key)) {
result = new AnalysisItemEditorInput(repNode);
Analysis analysis = ((TDQAnalysisItem) item).getAnalysis();
if (analysis == null || analysis.getContext() == null) {
throw ExceptionFactory.getInstance().createBusinessException(repViewObj);
}
EList<ModelElement> analysedElements = analysis.getContext().getAnalysedElements();
RepositoryNode connectionRepositoryNode = null;
if (!analysedElements.isEmpty()) {
Connection connection = null;
ModelElement modelElement = analysedElements.get(0);
if (modelElement instanceof Connection) {
connection = (Connection) modelElement;
} else if (modelElement instanceof Catalog) {
Catalog catalog = SwitchHelpers.CATALOG_SWITCH.caseCatalog((Catalog) modelElement);
connection = ConnectionHelper.getConnection(catalog);
} else if (modelElement instanceof Schema) {
Schema schema = SwitchHelpers.SCHEMA_SWITCH.caseSchema((Schema) modelElement);
if (schema != null) {
connection = ConnectionHelper.getConnection(schema);
}
} else if (modelElement instanceof TdTable) {
TdTable tdTable = SwitchHelpers.TABLE_SWITCH.caseTdTable((TdTable) modelElement);
connection = ConnectionHelper.getConnection(tdTable);
} else if (modelElement instanceof TdView) {
TdView tdView = SwitchHelpers.VIEW_SWITCH.caseTdView((TdView) modelElement);
connection = ConnectionHelper.getConnection(tdView);
} else if (modelElement instanceof TdColumn) {
TdColumn tdColumn = SwitchHelpers.COLUMN_SWITCH.caseTdColumn((TdColumn) modelElement);
connection = ConnectionHelper.getConnection(tdColumn);
} else if (modelElement instanceof MetadataColumn) {
MetadataColumn mColumn = SwitchHelpers.METADATA_COLUMN_SWITCH.doSwitch(modelElement);
connection = ConnectionHelper.getTdDataProvider(mColumn);
}
connectionRepositoryNode = RepositoryNodeHelper.recursiveFind(connection);
}
((AnalysisItemEditorInput) result).setConnectionNode(connectionRepositoryNode);
if (analysis.getParameters() != null && analysis.getParameters().getAnalysisType().equals(AnalysisType.MATCH_ANALYSIS)) {
editorID = MatchAnalysisEditor.class.getName();
} else {
editorID = AnalysisEditor.class.getName();
}
} else if (ERepositoryObjectType.TDQ_INDICATOR_ELEMENT.getKey().equals(key)) {
result = new IndicatorDefinitionItemEditorInput(repNode);
TDQIndicatorDefinitionItem definitionItem = (TDQIndicatorDefinitionItem) item;
if (definitionItem.getIndicatorDefinition().eResource() == null) {
throw ExceptionFactory.getInstance().createBusinessException(definitionItem.getFilename());
}
if (UDIHelper.getUDICategory(definitionItem.getIndicatorDefinition()) == null) {
throw ExceptionFactory.getInstance().createBusinessException(definitionItem.getFilename());
}
editorID = IndicatorEditor.class.getName();
} else if (ERepositoryObjectType.TDQ_RULES_SQL.getKey().equals(key) || ERepositoryObjectType.TDQ_RULES_PARSER.getKey().equals(key) || ERepositoryObjectType.TDQ_RULES_MATCHER.getKey().equals(key)) {
result = new BusinessRuleItemEditorInput(repNode);
editorID = DQRuleEditor.class.getName();
} else if (ERepositoryObjectType.TDQ_PATTERN_ELEMENT.getKey().equals(key)) {
result = new PatternItemEditorInput(repNode);
TDQPatternItem patternItem = (TDQPatternItem) item;
if (patternItem.getPattern() == null || patternItem.getPattern().eResource() == null) {
throw ExceptionFactory.getInstance().createBusinessException(patternItem.getFilename());
}
editorID = PatternEditor.class.getName();
} else if (ERepositoryObjectType.TDQ_REPORT_ELEMENT.getKey().equals(key)) {
result = new ReportItemEditorInput(repNode);
TDQReportItem reportItem = (TDQReportItem) item;
if (!(reportItem.getReport() instanceof TdReport)) {
throw ExceptionFactory.getInstance().createBusinessException(reportItem.getFilename());
}
for (AnalysisMap anaMap : ((TdReport) reportItem.getReport()).getAnalysisMap()) {
Analysis analysis = anaMap.getAnalysis();
if (analysis.eResource() == null) {
throw ExceptionFactory.getInstance().createBusinessException(reportItem.getFilename());
}
}
// $NON-NLS-1$
editorID = "org.talend.dataprofiler.core.tdq.ui.editor.report.ReportEditror";
} else if (ERepositoryObjectType.TDQ_SOURCE_FILE_ELEMENT.getKey().equals(key) || ERepositoryObjectType.TDQ_JRAXML_ELEMENT.getKey().equals(key)) {
IPath append = WorkbenchUtils.getFilePath(repViewObj.getRepositoryNode());
DQRepositoryNode node = (DQRepositoryNode) repViewObj.getRepositoryNode();
file = ResourceManager.getRoot().getProject(node.getProject().getTechnicalLabel()).getFile(append);
if (!file.exists()) {
throw ExceptionFactory.getInstance().createBusinessException(repViewObj);
}
if (ERepositoryObjectType.TDQ_SOURCE_FILE_ELEMENT.getKey().equals(key)) {
editorID = SqlExplorerUtils.SQLEDITOR_ID;
} else {
editorID = TDQFileEditorInput.DEFAULT_EDITOR_ID;
}
result = new TDQFileEditorInput(file);
// Added TDQ-7143 yyin 20130531
((TDQFileEditorInput) result).setFileItem(item);
CorePlugin.getDefault().refreshDQView(repNode);
// ~
}
// ADD msjian TDQ-4209 2012-2-7 : return the editorInput of *.jrxml and *.sql files
if (!isOpenItemEditorAction) {
if (ERepositoryObjectType.TDQ_JRAXML_ELEMENT.getKey().equals(key) || ERepositoryObjectType.TDQ_SOURCE_FILE_ELEMENT.getKey().equals(key)) {
// if there don't found the correct ItemEditorInput, try to open it as a File
result = new FileEditorInput(file);
editorID = FileEditorInput.class.getName();
}
}
// TDQ-4209~
}
return result;
}
Aggregations