use of org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject in project tdi-studio-se by Talend.
the class GenericRepositoryContentHandler method newSchemaWizard.
@Override
public IWizard newSchemaWizard(IWorkbench workbench, boolean creation, IRepositoryViewObject object, MetadataTable metadataTable, String[] existingNames, boolean forceReadOnly) {
if (object == null) {
return null;
}
IWorkbench wb = workbench;
if (wb == null) {
wb = PlatformUI.getWorkbench();
}
MetadataTable table = metadataTable;
if (table == null && object instanceof MetadataTableRepositoryObject) {
MetadataTableRepositoryObject metaTableRepObj = (MetadataTableRepositoryObject) object;
table = metaTableRepObj.getTable();
}
if (table == null) {
return null;
}
ConnectionItem connectionItem = (ConnectionItem) object.getProperty().getItem();
table = SchemaUtils.getMetadataTable(connectionItem.getConnection(), table.getLabel(), table.eContainer().getClass());
return new GenericSchemaWizard(wb, creation, object, connectionItem, table, forceReadOnly);
}
use of org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject in project tdi-studio-se by Talend.
the class CopyToGenericSchemaAction method init.
/**
* Administrator Comment method "init".
*
* @param node
*/
protected void init(RepositoryNode node) {
ERepositoryObjectType nodeType = (ERepositoryObjectType) node.getProperties(EProperties.CONTENT_TYPE);
if (nodeType == null || !(node.getObject() instanceof MetadataTableRepositoryObject)) {
return;
}
if (nodeType == ERepositoryObjectType.METADATA_CON_TABLE || nodeType == ERepositoryObjectType.METADATA_CON_VIEW || nodeType == ERepositoryObjectType.METADATA_CON_SYNONYM || nodeType == ERepositoryObjectType.METADATA_FILE_DELIMITED || nodeType == ERepositoryObjectType.METADATA_FILE_POSITIONAL || nodeType == ERepositoryObjectType.METADATA_FILE_REGEXP || nodeType == ERepositoryObjectType.METADATA_FILE_XML || nodeType == ERepositoryObjectType.METADATA_FILE_EXCEL || nodeType == ERepositoryObjectType.METADATA_LDAP_SCHEMA || nodeType == ERepositoryObjectType.METADATA_SALESFORCE_SCHEMA || nodeType == ERepositoryObjectType.METADATA_FILE_LDIF) {
} else {
return;
}
RepositoryNode genericNode = (RepositoryNode) CorePlugin.getDefault().getRepositoryService().getRootRepositoryNode(ERepositoryObjectType.METADATA_GENERIC_SCHEMA);
if (genericNode == null) {
return;
}
if (ProxyRepositoryFactory.getInstance().getStatus(node.getObject()) == ERepositoryStatus.DELETED) {
return;
}
switch(node.getType()) {
case REPOSITORY_ELEMENT:
isAllowedRepositoryElement = true;
this.sourceNode = node;
break;
default:
return;
}
setEnabled(true);
}
use of org.talend.core.repository.model.repositoryObject.MetadataTableRepositoryObject 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