@SuppressWarnings("unchecked") public void init() { RepositoryNode[] selectedNodes = (RepositoryNode[]) ((IStructuredSelection) selectionProvider.getSelection()) .toList() .toArray(new RepositoryNode[] {}); if (selectedNodes.length == 0) { this.setEnabled(false); return; } int i = 0; for (RepositoryNode node : selectedNodes) { if (node.getProperties(EProperties.CONTENT_TYPE) == RepositoryNodeType.FOLDER || node.getProperties(EProperties.CONTENT_TYPE) == RepositoryNodeType.QUERY || node.getProperties(EProperties.CONTENT_TYPE) == RepositoryNodeType.QUERIESCONNECTION) { i++; } } if (i > 0) { this.setEnabled(false); } else { this.setEnabled(true); } }
@Override public int category(Object element) { if (element instanceof RepositoryNode) { RepositoryNode node = (RepositoryNode) element; if (ERepositoryObjectType.METADATA_CON_COLUMN.equals( node.getProperties(EProperties.CONTENT_TYPE))) { RepositoryNode parent = node.getParent().getParent(); if (parent != null && ERepositoryObjectType.METADATA_CON_TABLE.equals( parent.getProperties(EProperties.CONTENT_TYPE)) && parent.getObject() instanceof MetadataTableRepositoryObject) { MetadataTableRepositoryObject tableObject = (MetadataTableRepositoryObject) parent.getObject(); MetadataColumnRepositoryObject columnObject = (MetadataColumnRepositoryObject) ((RepositoryNode) element).getObject(); MetadataColumn tColumn = columnObject.getTdColumn(); EList<MetadataColumn> columns = tableObject.getTable().getColumns(); for (int i = 0; i < columns.size(); i++) { MetadataColumn column = columns.get(i); if (column.getName() != null && column.getName().equals(tColumn.getName())) { return i; } } } } } return super.category(element); }
/** Adds a submenu to the given menu with the name "New Component". */ @Override public void fillContextMenu(IMenuManager menu) { // MOD mzhao user readonly role on svn repository mode. if (!isShowMenu()) { return; } // ADD msjian TDQ-10444: fix get error when click on the exchange node if (isExchangeNode()) { return; } // TDQ-10444~ Object obj = ((TreeSelection) this.getContext().getSelection()).getFirstElement(); if (obj instanceof RepositoryNode) { RepositoryNode node = (RepositoryNode) obj; // RepositoryNode parent = node.getParent(); // if (!(parent instanceof ReportSubFolderRepNode)) { if (shouldShowDeleteMenu(node)) { // menu.add(new DeleteObjectsAction()); menu.add(new DQDeleteAction()); if (shouldShowRenameFolderMenu(node)) { Object type = node.getProperties(EProperties.CONTENT_TYPE); if (ERepositoryObjectType.TDQ_JRAXML_ELEMENT.equals(type)) { menu.add(new RenameJrxmlFolderAction(node)); } else { menu.add(new RenameTdqFolderAction(node)); } } } // } } }
/* * (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) { boolean canWork = !selection.isEmpty() && selection.size() == 1; IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance(); if (factory.isUserReadOnlyOnCurrentProject()) { canWork = false; } if (canWork) { Object o = selection.getFirstElement(); RepositoryNode node = (RepositoryNode) o; switch (node.getType()) { case SIMPLE_FOLDER: case SYSTEM_FOLDER: ERepositoryObjectType nodeType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE); if (nodeType != ERepositoryObjectType.PIG_UDF) { canWork = false; } if (node.getObject() != null && node.getObject().isDeleted()) { canWork = false; } break; default: canWork = false; } if (canWork && !ProjectManager.getInstance().isInCurrentMainProject(node)) { canWork = false; } } setEnabled(canWork); }
/* * (non-Javadoc) * * @see * org.talend.repository.ui.actions.metadata.AbstractCreateAction#init(org.talend.repository.model.RepositoryNode) */ @Override protected void init(RepositoryNode node) { ERepositoryObjectType nodeType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE); IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance(); if (factory.isUserReadOnlyOnCurrentProject() || !ProjectManager.getInstance().isInCurrentMainProject(node)) { setEnabled(false); } else { if (ENodeType.REPOSITORY_ELEMENT.equals(node.getType())) { if (node.getObject().getRepositoryStatus() == ERepositoryStatus.DELETED || node.getObject().getRepositoryStatus() == ERepositoryStatus.LOCK_BY_OTHER) { setEnabled(false); return; } if ((factory.getStatus(node.getObject()) == ERepositoryStatus.DELETED) || (factory.getStatus(node.getObject()) == ERepositoryStatus.LOCK_BY_OTHER)) { setEnabled(false); return; } if (ERepositoryObjectType.METADATA_CON_TABLE.equals(nodeType) || ERepositoryObjectType.METADATA_CON_COLUMN.equals(nodeType)) { RepositoryNode parent = node.getParent(); if (parent != null && HCatalogRepositoryNodeType.HCATALOG.equals( parent.getProperties(EProperties.CONTENT_TYPE))) { setText(EDIT_LABEL); collectSiblingNames(node); setEnabled(true); return; } } else if (HCatalogRepositoryNodeType.HCATALOG.equals(nodeType)) { setText(CREATE_LABEL); collectChildNames(node); setEnabled(true); return; } } } }
@Override public void run() { IStructuredSelection selection = (IStructuredSelection) selectionProvider.getSelection(); RepositoryNode firstNode = (RepositoryNode) selection.getFirstElement(); if (firstNode.getProperties(EProperties.CONTENT_TYPE) == RepositoryNodeType.FOLDER) { firstNode = repositoryNodeManager.getRepositoryNodebyName(connParam.getRepositoryName()); } List<String> repositoryNames = repositoryNodeManager.getALLReposotoryNodeNames(); IRepositoryViewObject object = SQLBuilderRepositoryNodeManager.getRoot(firstNode).getObject(); connParam.setRepositoryName(object.getLabel()); connParam.setRepositoryId(object.getId()); connParam.setFirstOpenSqlBuilder(false); if (isQuery) { DBTreeProvider provider = (DBTreeProvider) selectionProvider.getContentProvider(); selectReveal(provider.getSelectedExtReposiotryNode()); isQuery = false; } else { connParam.setEditorTitle(TextUtil.getNewQueryLabel()); connParam.setQueryObject(null); } dialog.openEditor(firstNode, repositoryNames, connParam, false); }
/* * (non-Javadoc) * * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ @Override protected void doRun() { ISelection selection = getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); RepositoryNode node = (RepositoryNode) obj; ERepositoryObjectType objectType = null; IPath path = null; path = RepositoryNodeUtilities.getPath(node); if (RepositoryConstants.isSystemFolder(path.toString())) { return; } objectType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE); if (objectType != null) { FolderWizard processWizard = new FolderWizard(path, objectType, null); Shell activeShell = Display.getCurrent().getActiveShell(); WizardDialog dialog = new WizardDialog(activeShell, processWizard); dialog.setPageSize(400, 60); dialog.create(); dialog.open(); } }
/* * (non-Javadoc) * * @see org.talend.repository.ui.actions.ITreeContextualAction#init(org.eclipse.jface.viewers.TreeViewer, * org.eclipse.jface.viewers.IStructuredSelection) */ @Override public void init(TreeViewer viewer, IStructuredSelection selection) { boolean canWork = !selection.isEmpty() && selection.size() == 1; IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance(); if (factory.isUserReadOnlyOnCurrentProject()) { canWork = false; } if (canWork) { Object o = selection.getFirstElement(); RepositoryNode node = (RepositoryNode) o; Object property = node.getProperties(EProperties.CONTENT_TYPE); switch (node.getType()) { case REPOSITORY_ELEMENT: case STABLE_SYSTEM_FOLDER: canWork = false; break; case SYSTEM_FOLDER: if (ERepositoryObjectType.GENERATED.equals(property) || ERepositoryObjectType.JOBS.equals(property) || ERepositoryObjectType.JOBLETS.equals(property) || ERepositoryObjectType.SQLPATTERNS.equals(property) || ERepositoryObjectType.REFERENCED_PROJECTS.equals(property) || ERepositoryObjectType.SVN_ROOT.equals(property)) { canWork = false; } else if (property != null && GlobalServiceRegister.getDefault() .isServiceRegistered(ICamelDesignerCoreService.class)) { ICamelDesignerCoreService camelService = (ICamelDesignerCoreService) GlobalServiceRegister.getDefault().getService(ICamelDesignerCoreService.class); if (property.equals(camelService.getRouteDocsType())) { canWork = false; } } break; case SIMPLE_FOLDER: if (ERepositoryObjectType.JOB_DOC.equals(property) || ERepositoryObjectType.JOBLET_DOC.equals(property) || (ERepositoryObjectType.SQLPATTERNS.equals(property) && !isUnderUserDefined(node))) { canWork = false; } else if (property != null && GlobalServiceRegister.getDefault() .isServiceRegistered(ICamelDesignerCoreService.class)) { ICamelDesignerCoreService camelService = (ICamelDesignerCoreService) GlobalServiceRegister.getDefault().getService(ICamelDesignerCoreService.class); if (property.equals(camelService.getRouteDocType())) { canWork = false; } } if (node.getObject().isDeleted()) { canWork = false; } break; default: // Nothing to do } if (canWork && !ProjectManager.getInstance().isInCurrentMainProject(node)) { canWork = false; } } setEnabled(canWork); }