public void init(TreeViewer viewer, IStructuredSelection selection) { boolean canWork = selection.size() == 1; if (canWork) { Object o = ((IStructuredSelection) selection).getFirstElement(); if (o instanceof RepositoryNode) { RepositoryNode node = (RepositoryNode) o; switch (node.getType()) { case REPOSITORY_ELEMENT: if (node.getObjectType() == JSONRepositoryNodeType.JSON) { canWork = true; } else { canWork = false; } break; default: canWork = false; break; } if (canWork) { canWork = (node.getObject().getRepositoryStatus() != ERepositoryStatus.DELETED); } if (canWork) { canWork = isLastVersion(node); } } } setEnabled(canWork); }
/* * (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.ITreeContextualAction#init(org.eclipse.jface.viewers.TreeViewer, * org.eclipse.jface.viewers.IStructuredSelection) */ public void init(TreeViewer viewer, IStructuredSelection selection) { boolean canWork = !selection.isEmpty() && selection.size() == 1; if (canWork) { Object o = selection.getFirstElement(); RepositoryNode node = (RepositoryNode) o; if (CamelEditorUtil.hasEditorOpened(node)) { canWork = false; } else { switch (node.getType()) { case REPOSITORY_ELEMENT: if (node.getObjectType() != CamelRepositoryNodeType.repositoryRoutesType) { canWork = false; } break; default: canWork = false; } } if (canWork && node.getObject() != null && ProxyRepositoryFactory.getInstance().getStatus(node.getObject()) == ERepositoryStatus.LOCK_BY_USER) { canWork = false; } } setEnabled(canWork); }
/* * (non-Javadoc) * * @see org.talend.repository.tester.AbstractNodeTester#testProperty(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) */ @Override protected Boolean testProperty( Object receiver, String property, Object[] args, Object expectedValue) { if (receiver instanceof RepositoryNode) { RepositoryNode repositoryNode = (RepositoryNode) receiver; final ERepositoryObjectType propertyType = ERepositoryObjectType.METADATA_SAPCONNECTIONS; if (propertyType != null) { if (repositoryNode.getType() == ENodeType.STABLE_SYSTEM_FOLDER) { // stable folder(Queries,Table schemas, View schemas, Synonym schemas, Columns) Boolean parentTest = testProperty(repositoryNode.getParent(), property, args, expectedValue); if (parentTest != null) { // only do for the checked parent. return parentTest; } } boolean currentType = isTypeNode(repositoryNode, propertyType); /* * check the implication, such as query, schema, column,[CDC] etc */ boolean schemaTest = checkImplicatedTeser( schemaTester, repositoryNode, ERepositoryObjectType.METADATA_SAP_FUNCTION, propertyType); return currentType || schemaTest; } } return null; }
private boolean isSystemIndicator(RepositoryNode node) { switch (node.getType()) { case TDQ_REPOSITORY_ELEMENT: case REPOSITORY_ELEMENT: if (node.getObject() != null) { Item item = node.getObject().getProperty().getItem(); IFolder folder = WorkbenchUtils.getFolder(node); return item instanceof TDQIndicatorDefinitionItem && ResourceService.isSubFolder(ResourceManager.getSystemIndicatorFolder(), folder); } default: } return false; }
/* * (non-Javadoc) * * @see * org.talend.repository.ui.actions.ITreeContextualAction#init(org.eclipse * .jface.viewers.TreeViewer, * org.eclipse.jface.viewers.IStructuredSelection) */ 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 REPOSITORY_ELEMENT: if (node.getObjectType() != CamelRepositoryNodeType.repositoryRouteResourceType) { canWork = false; } else { IRepositoryService service = DesignerPlugin.getDefault().getRepositoryService(); IProxyRepositoryFactory repFactory = service.getProxyRepositoryFactory(); if (repFactory.isPotentiallyEditable(node.getObject())) { this.setText(""); // $NON-NLS-1$ } else { this.setText(""); // $NON-NLS-1$ } } break; default: canWork = false; } RepositoryNode parent = node.getParent(); if (canWork && parent != null && parent instanceof BinRepositoryNode) { canWork = false; } if (canWork && !ProjectManager.getInstance().isInCurrentMainProject(node)) { canWork = false; } // If the editProcess action canwork is true, then detect that the // job version is the latest verison or not. if (canWork) { canWork = isLastVersion(node); } } setEnabled(canWork); this.setText("Open another version"); this.setToolTipText("Open another version"); this.setImageDescriptor( RouteResourceActivator.createImageDesc("icons/open-another-version.png")); }
/* * (non-Javadoc) * * @see org.talend.repository.ui.actions.ITreeContextualAction#init(org.eclipse.jface.viewers.TreeViewer, * org.eclipse.jface.viewers.IStructuredSelection) */ public void init(TreeViewer viewer, IStructuredSelection selection) { boolean canWork = !selection.isEmpty() && selection.size() == 1; RepositoryNode node = (RepositoryNode) selection.getFirstElement(); if (canWork) { canWork = node.getType() == ENodeType.REPOSITORY_ELEMENT && node.getObject().getRepositoryObjectType() == ERepositoryObjectType.DOCUMENTATION; } RepositoryNode parent = null; if (node != null) { parent = node.getParent(); } if (canWork && parent != null && parent instanceof BinRepositoryNode) { 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; } } } }
/* * (non-Javadoc) * * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, * java.lang.Object) */ @Override public boolean select(Viewer viewer, Object parentElement, Object element) { if (element instanceof TreeItem) { Object data = ((TreeItem) element).getData(); if (parentElement instanceof TreeItem) { Object parentData = ((TreeItem) parentElement).getData(); return select(viewer, parentData, data); } return select(viewer, parentElement, data); } else if (element instanceof RepositoryNode) { RepositoryNode node = ((RepositoryNode) element); // only for folders , not for element nodes. if (!ENodeType.REPOSITORY_ELEMENT.equals(node.getType())) { // add all or only the content types if (contentTypes == null || contentTypes.contains(node.getContentType())) { return true; } } } return false; }
private boolean isSystemFolder(RepositoryNode node) { return ENodeType.SYSTEM_FOLDER.equals(node.getType()); }
/* * (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); }
public SalesforceSchemaWizard( IWorkbench workbench, boolean creation, RepositoryNode node, String[] existingNames, boolean isSinglePageOnly) { super(workbench, creation); this.existingNames = existingNames; this.isSinglePageOnly = isSinglePageOnly; setNeedsProgressMonitor(true); // TODO: should to changed icon. setDefaultPageImageDescriptor(ImageProvider.getImageDesc(ECoreImage.DEFAULT_WIZ)); switch (node.getType()) { case SIMPLE_FOLDER: case REPOSITORY_ELEMENT: pathToSave = RepositoryNodeUtilities.getPath(node); break; case SYSTEM_FOLDER: pathToSave = new Path(""); // $NON-NLS-1$ break; } switch (node.getType()) { case SIMPLE_FOLDER: case SYSTEM_FOLDER: connection = ConnectionFactory.eINSTANCE.createSalesforceSchemaConnection(); connection.setName(ERepositoryObjectType.METADATA_SALESFORCE_SCHEMA.getKey()); MetadataTable metadataTable = ConnectionFactory.eINSTANCE.createMetadataTable(); IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance(); metadataTable.setId(factory.getNextId()); RecordFile record = (RecordFile) ConnectionHelper.getPackage(connection.getName(), connection, RecordFile.class); if (record != null) { // hywang PackageHelper.addMetadataTable(metadataTable, record); } else { RecordFile newrecord = RecordFactory.eINSTANCE.createRecordFile(); newrecord.setName(connection.getName()); ConnectionHelper.addPackage(newrecord, connection); PackageHelper.addMetadataTable(metadataTable, newrecord); } connectionProperty = PropertiesFactory.eINSTANCE.createProperty(); connectionProperty.setAuthor( ((RepositoryContext) CoreRuntimePlugin.getInstance() .getContext() .getProperty(Context.REPOSITORY_CONTEXT_KEY)) .getUser()); connectionProperty.setVersion(VersionUtils.DEFAULT_VERSION); connectionProperty.setStatusCode(""); // $NON-NLS-1$ connectionItem = PropertiesFactory.eINSTANCE.createSalesforceSchemaConnectionItem(); connectionItem.setProperty(connectionProperty); connectionItem.setConnection(connection); initProxySettings(connection); break; case REPOSITORY_ELEMENT: connection = (SalesforceSchemaConnection) ((ConnectionItem) node.getObject().getProperty().getItem()).getConnection(); connectionProperty = node.getObject().getProperty(); connectionItem = (ConnectionItem) node.getObject().getProperty().getItem(); // set the repositoryObject, lock and set isRepositoryObjectEditable setRepositoryObject(node.getObject()); isRepositoryObjectEditable(); initLockStrategy(); break; } if (!creation) { this.originaleObjectLabel = this.connectionItem.getProperty().getLabel(); this.originalVersion = this.connectionItem.getProperty().getVersion(); this.originalDescription = this.connectionItem.getProperty().getDescription(); this.originalPurpose = this.connectionItem.getProperty().getPurpose(); this.originalStatus = this.connectionItem.getProperty().getStatusCode(); } initConnection(); }