use of org.talend.dataprofiler.ecos.model.IEcosCategory in project tdq-studio-se by Talend.
the class ObtainEcosComponentJob method run.
/*
* (non-Javadoc)
*
* @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
protected IStatus run(IProgressMonitor monitor) {
// $NON-NLS-1$
monitor.beginTask(DefaultMessagesImpl.getString("ObtainEcosComponentJob.searchComponents"), IProgressMonitor.UNKNOWN);
// run in another thread, make it possible to stop the remote procedure call when user press cancel
// button
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<List<IEcosComponent>> task = executor.submit(new Callable<List<IEcosComponent>>() {
public List<IEcosComponent> call() throws Exception {
EcosystemService.getVersionList();
IEcosCategory ecosCategory = new EcosCategory(category);
return ComponentSearcher.getAvailableComponentExtensions(version, ecosCategory);
}
});
while (true) {
try {
if (monitor.isCanceled()) {
// stop the web service call
task.cancel(true);
return Status.CANCEL_STATUS;
} else if (task.isDone()) {
// web service call complete
fAvailableComponents = task.get();
break;
}
} catch (Exception e) {
return Status.CANCEL_STATUS;
} finally {
executor.shutdown();
}
}
monitor.done();
return Status.OK_STATUS;
}
use of org.talend.dataprofiler.ecos.model.IEcosCategory in project tdq-studio-se by Talend.
the class EcosystemService method getCategoryList.
public static List<IEcosCategory> getCategoryList(String version) throws Exception {
String jsonContent = sendGetRequest(CATEGORY_LIST_URL);
List<EcosCategory> categorys = parseJsonObject(jsonContent, EcosCategory.class);
if (categorys != null) {
for (EcosCategory category : categorys) {
category.setVersion(version);
}
} else {
categorys = Collections.emptyList();
}
// MOD yyi 2010-11-29 15271: svn project can't load exchange nodes
List<IEcosCategory> iCategorys = new ArrayList<IEcosCategory>();
for (EcosCategory ecosCategory : categorys) {
iCategorys.add(ecosCategory);
}
// ~15271
return iCategorys;
}
use of org.talend.dataprofiler.ecos.model.IEcosCategory in project tdq-studio-se by Talend.
the class ExchangeFolderRepNode method buildRepositoryNode.
/**
* DOC xqliu Comment method "buildRepositoryNode".
*
* @param result
* @return
*/
private List<IRepositoryNode> buildRepositoryNode(Object[] result) {
List<IRepositoryNode> list = new ArrayList<IRepositoryNode>();
if (result != null && result.length > 0) {
if (result[0] instanceof String) {
for (Object obj : result) {
ExchangeCategoryRepNode exchangeCategoryRepNode = new ExchangeCategoryRepNode(null, this, ENodeType.REPOSITORY_ELEMENT, getProject());
exchangeCategoryRepNode.setFlag(false);
exchangeCategoryRepNode.setMsg((String) obj);
list.add(exchangeCategoryRepNode);
}
} else if (result[0] instanceof IEcosCategory) {
for (Object obj : result) {
// MOD klliu bug TDQ-3754: Hide the parser rules when in TOP 2011-10-24
IEcosCategory category = (IEcosCategory) obj;
String name = category.getName();
ExchangeCategoryRepNode exchangeCategoryRepNode = new ExchangeCategoryRepNode(category, this, ENodeType.REPOSITORY_ELEMENT, getProject());
exchangeCategoryRepNode.setFlag(true);
// $NON-NLS-1$
exchangeCategoryRepNode.setMsg("");
if (!(name.equals("ParserRule") && PluginChecker.isOnlyTopLoaded())) {
// $NON-NLS-1$
list.add(exchangeCategoryRepNode);
}
}
}
}
return list;
}
use of org.talend.dataprofiler.ecos.model.IEcosCategory in project tdq-studio-se by Talend.
the class ResourceViewContentProvider method hasChildren.
@Override
public boolean hasChildren(Object element) {
try {
if (element instanceof IRepositoryNode) {
IRepositoryNode node = (IRepositoryNode) element;
IRepositoryViewObject viewObject = node.getObject();
if (viewObject instanceof MetadataColumnRepositoryObject) {
return false;
} else if (node instanceof ExchangeFolderRepNode || node instanceof ExchangeCategoryRepNode || node instanceof SysIndicatorFolderRepNode || element instanceof DBTableRepNode || element instanceof DBViewRepNode || element instanceof DBCatalogRepNode || element instanceof DBSchemaRepNode) {
// ExchangeCategoryRepNode always have children
return true;
} else if (node instanceof ExchangeComponentRepNode) {
// ExchangeComponentRepNode always don't have children
return false;
} else if (element instanceof DBTableFolderRepNode) {
// MOD gdbu 2011-9-1 TDQ-3457
if (DQRepositoryNode.isOnFilterring()) {
return true;
}
DBTableFolderRepNode dbTableFolder = (DBTableFolderRepNode) element;
return dbTableFolder.hasChildren();
} else if (element instanceof DBViewFolderRepNode) {
if (DQRepositoryNode.isOnFilterring()) {
return true;
}
DBViewFolderRepNode dbViewFolder = (DBViewFolderRepNode) element;
return dbViewFolder.hasChildren();
// ~TDQ-3457
}
} else if (element instanceof IEcosCategory) {
return true;
}
// // MOD qiongli feature 9486
// if (element instanceof IFolder) {
// // MOD yyi 2010-09-30 15271: svn project can't load exchange nodes
// if (ResourceManager.isExchangeFolder((IFolder) element)) {
// return true;
// }
// // ~15271
// List<Object> obsLs = Arrays.asList(super.getChildren(element));
// if (obsLs.size() == 1) {
// Object obj = (Object) obsLs.get(0);
// if (obj instanceof IFolder && ((IFolder) obj).getName().equals(PluginConstant.SVN_SUFFIX))
// return false;
// }
// } else if (element instanceof DQRecycleBinNode) {
// DQRecycleBinNode rbn = (DQRecycleBinNode) element;
// Object obj = rbn.getObject();
// if (obj instanceof IFolder) {
// try {
// return ((IFolder) obj).members().length > 0;
// } catch (CoreException e) {
// log.error(e);
// }
// }
// return false;
// }
} catch (MissingDriverException e) {
if (PluginChecker.isOnlyTopLoaded()) {
MessageDialog.openWarning(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), // $NON-NLS-1$
DefaultMessagesImpl.getString("ResourceViewContentProvider.warining"), e.getErrorMessage());
} else {
log.error(e, e);
}
return false;
}
return super.hasChildren(element);
}
Aggregations