use of org.talend.core.IESBService in project tdi-studio-se by Talend.
the class EditPropertiesAction method doRun.
@Override
protected void doRun() {
ISelection selection = getSelection();
Object obj = ((IStructuredSelection) selection).getFirstElement();
IRepositoryNode node = (IRepositoryNode) obj;
// try {
// ProxyRepositoryFactory.getInstance().initialize();
// } catch (PersistenceException e1) {
// ExceptionHandler.process(e1);
// }
IRepositoryViewObject object = node.getObject();
IPath path = RepositoryNodeUtilities.getPath(node);
String originalName = object.getLabel();
final PropertiesWizard wizard;
if (ERepositoryObjectType.ROUTINES == object.getRepositoryObjectType() || isInstanceofCamelBeans(object.getRepositoryObjectType())) {
wizard = new EditRoutinePropertiesWizard(object, path, true);
} else if (ERepositoryObjectType.PROCESS == object.getRepositoryObjectType()) {
wizard = new EditProcessPropertiesWizard(object, path, true);
} else {
wizard = getPropertiesWizard(object, path);
}
WizardDialog dlg = new WizardDialog(Display.getCurrent().getActiveShell(), wizard);
if (dlg.open() == Window.OK) {
refresh(node);
// refresh the corresponding editor's name
IEditorPart part = getCorrespondingEditor(node);
if (part != null && part instanceof IUIRefresher) {
((IUIRefresher) part).refreshName();
} else {
processRoutineRenameOperation(originalName, node, path);
}
// rename the job launch, for bug 8878
IDesignerCoreService designerCoreService = RepositoryPlugin.getDefault().getDesignerCoreService();
if (designerCoreService != null) {
designerCoreService.renameJobLaunch(node.getObject(), originalName);
// TDI-24863:reset the job problem list if rename the job item
designerCoreService.resetJobProblemList(node.getObject(), originalName);
}
// refresh ...
IViewPart jobSettingView = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(IJobSettingsView.ID);
if (jobSettingView != null && jobSettingView instanceof IJobSettingsView) {
((IJobSettingsView) jobSettingView).refreshCurrentViewTab();
}
if (node.getObjectType() == ERepositoryObjectType.ROUTINES) {
RepositoryManager.syncRoutineAndJoblet(ERepositoryObjectType.ROUTINES);
if (GlobalServiceRegister.getDefault().isServiceRegistered(IRunProcessService.class)) {
IRunProcessService service = (IRunProcessService) GlobalServiceRegister.getDefault().getService(IRunProcessService.class);
ITalendProcessJavaProject talendProcessJavaProject = service.getTalendProcessJavaProject();
if (talendProcessJavaProject != null) {
talendProcessJavaProject.updateRoutinesPom(true, true);
}
}
}
if (node.getObjectType().getType().equals("SERVICES")) {
//$NON-NLS-1$
ConnectionItem connectionItem = (ConnectionItem) node.getObject().getProperty().getItem();
RepositoryUpdateManager.updateServices(connectionItem);
if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
IESBService service = (IESBService) GlobalServiceRegister.getDefault().getService(IESBService.class);
if (service != null) {
service.refreshComponentView(connectionItem);
}
}
}
}
}
use of org.talend.core.IESBService in project tesb-studio-se by Talend.
the class WebServiceUI method serviceNodeSelected.
@Override
public void serviceNodeSelected(RepositoryNode serviceNode) {
Item item = serviceNode.getObject().getProperty().getItem();
IESBService service = (IESBService) GlobalServiceRegister.getDefault().getService(IESBService.class);
String wsdlFilePath = service.getWsdlFilePath(item);
if (wsdlFilePath != null) {
wsdlFieldPart.setRawFieldValue(wsdlFilePath);
}
}
use of org.talend.core.IESBService in project tdi-studio-se by Talend.
the class DetecteViewImpactAction method init.
/*
* (non-Javadoc)
*
* @see org.talend.commons.ui.swt.actions.ITreeContextualAction#init(org.eclipse.jface.viewers.TreeViewer,
* org.eclipse.jface.viewers.IStructuredSelection)
*/
@Override
public void init(TreeViewer viewer, IStructuredSelection selection) {
// try to check via extension point first.
boolean canWork = UpdateManagerProviderDetector.INSTANCE.validateAction(viewer, selection);
if (canWork) {
setEnabled(true);
return;
}
canWork = !selection.isEmpty() && selection.size() == 1;
if (canWork) {
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
if (factory.isUserReadOnlyOnCurrentProject()) {
canWork = false;
} else {
Object o = selection.getFirstElement();
RepositoryNode node = (RepositoryNode) o;
ENodeType nodeType = node.getType();
switch(nodeType) {
case REPOSITORY_ELEMENT:
ERepositoryObjectType objectType = node.getObjectType();
/*
* TESB-6415 if it's "CAMEL" product, then is disable
*/
if (objectType != null) {
String[] products = objectType.getProducts();
if (products != null && products.length == 1 && "CAMEL".equals(products[0])) {
setEnabled(false);
return;
}
}
if (objectType == ERepositoryObjectType.METADATA_CON_TABLE) {
IRepositoryViewObject repositoryObject = node.getObject();
if (repositoryObject != null) {
Item item2 = repositoryObject.getProperty().getItem();
if (item2 instanceof DatabaseConnectionItem) {
DatabaseConnectionItem item = (DatabaseConnectionItem) repositoryObject.getProperty().getItem();
DatabaseConnection connection = (DatabaseConnection) item.getConnection();
CDCConnection cdcConns = connection.getCdcConns();
if (cdcConns != null) {
if (repositoryObject instanceof MetadataTableRepositoryObject) {
MetadataTable table = ((MetadataTableRepositoryObject) repositoryObject).getTable();
String tableType = table.getTableType();
canWork = RepositoryConstants.TABLE.equals(tableType);
break;
}
}
}
}
canWork = true;
} else if (objectType == ERepositoryObjectType.METADATA_CON_QUERY || objectType == ERepositoryObjectType.METADATA_CONNECTIONS || objectType == ERepositoryObjectType.METADATA_FILE_DELIMITED || objectType == ERepositoryObjectType.METADATA_FILE_POSITIONAL || objectType == ERepositoryObjectType.METADATA_FILE_REGEXP || objectType == ERepositoryObjectType.METADATA_FILE_XML || objectType == ERepositoryObjectType.METADATA_FILE_LDIF || objectType == ERepositoryObjectType.METADATA_FILE_EXCEL || objectType == ERepositoryObjectType.METADATA_SAPCONNECTIONS || objectType == ERepositoryObjectType.METADATA_FILE_EBCDIC || objectType == ERepositoryObjectType.METADATA_FILE_HL7 || objectType == ERepositoryObjectType.METADATA_VALIDATION_RULES || objectType == ERepositoryObjectType.METADATA_FILE_FTP || objectType == ERepositoryObjectType.METADATA_FILE_BRMS || objectType == ERepositoryObjectType.METADATA_MDMCONNECTION || objectType == ERepositoryObjectType.CONTEXT || objectType == ERepositoryObjectType.JOBLET) {
canWork = true;
} else if (objectType == ERepositoryObjectType.BUSINESS_PROCESS || objectType == ERepositoryObjectType.PROCESS || objectType == ERepositoryObjectType.ROUTINES || objectType == ERepositoryObjectType.PIG_UDF || objectType == ERepositoryObjectType.JOB_SCRIPT || objectType == ERepositoryObjectType.SQLPATTERNS || objectType == ERepositoryObjectType.JOB_DOC || objectType == ERepositoryObjectType.JOBLET_DOC || objectType == ERepositoryObjectType.DOCUMENTATION || objectType == ERepositoryObjectType.PROCESS_MR || objectType == ERepositoryObjectType.METADATA_CON_COLUMN || (ERepositoryObjectType.TEST_CONTAINER != null && objectType == ERepositoryObjectType.TEST_CONTAINER)) {
canWork = false;
} else {
Object obj = selection.getFirstElement();
RepositoryNode nodeObj = (RepositoryNode) obj;
Item item = nodeObj.getObject().getProperty().getItem();
if (item instanceof ConnectionItem) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
IESBService service = (IESBService) GlobalServiceRegister.getDefault().getService(IESBService.class);
if (service != null) {
boolean flag = service.isServiceItem(item.eClass().getClassifierID());
if (flag) {
canWork = false;
break;
}
}
}
}
for (IRepositoryContentHandler handler : RepositoryContentManager.getHandlers()) {
ERepositoryObjectType stype = handler.getRepositoryObjectType(item);
if (stype == objectType) {
canWork = true;
break;
}
}
if (RepositoryContentManager.getHandlers().size() < 0) {
canWork = false;
}
}
break;
default:
canWork = false;
}
RepositoryNode parent = node.getParent();
if (canWork && parent != null && parent.isBin()) {
canWork = false;
}
if (canWork && !ProjectManager.getInstance().isInCurrentMainProject(node)) {
canWork = false;
}
}
}
setEnabled(canWork);
}
Aggregations