Source:
public boolean except(Item item, ERepositoryObjectType type, RepositoryNode seletetedNode, IComponent component, String repositoryType) { if (component != null) { if (component.getName().startsWith("tAmazonOracle")) { String dbType = null; if (item != null && item instanceof DatabaseConnectionItem) { if (((DatabaseConnectionItem) item).getConnection() instanceof DatabaseConnection) { dbType = ((DatabaseConnection) ((DatabaseConnectionItem) item).getConnection()).getDatabaseType(); } } Node node = new Node(component); Process process = (Process) node.getProcess(); if (node != null) { IElementParameter param = node.getElementParameter("CONNECTION_TYPE"); if (param != null) { Object[] valuesList = param.getListItemsValue(); for (Object element : valuesList) { String conType = EDatabaseTypeName.getTypeFromDbType(element.toString()).getDisplayName(); if (conType != null && dbType != null && conType.equals(dbType)) { process.removeNodeContainer(new NodeContainer(node)); return false; } } } } process.removeNodeContainer(new NodeContainer(node)); return true; } else if (("tOracleCDCOutput").equals(component.getName())) { if (item != null && item instanceof DatabaseConnectionItem) { if (((DatabaseConnectionItem) item).getConnection() instanceof DatabaseConnection) { DatabaseConnection connection = ((DatabaseConnection) ((DatabaseConnectionItem) item).getConnection()); if (MetadataConnectionUtils.isOracle(connection)) { String version = connection.getDbVersionString(); if (EDatabaseVersion4Drivers.ORACLE_12.name().equals(version)) { return false; } } } } return true; } } return false; }

Target:
public boolean except(Item item, ERepositoryObjectType type, RepositoryNode seletetedNode, IComponent component, String repositoryType) { if (component != null) { if (component.getName().startsWith("tAmazonOracle")) { IProcess process = null; Node node = null; try { String dbType = null; if (item != null && item instanceof DatabaseConnectionItem) { if (((DatabaseConnectionItem) item).getConnection() instanceof DatabaseConnection) { dbType = ((DatabaseConnection) ((DatabaseConnectionItem) item).getConnection()).getDatabaseType(); } } node = new Node(component); process = node.getProcess(); if (node != null) { IElementParameter param = node.getElementParameter("CONNECTION_TYPE"); if (param != null) { Object[] valuesList = param.getListItemsValue(); for (Object element : valuesList) { String conType = EDatabaseTypeName.getTypeFromDbType(element.toString()).getDisplayName(); if (conType != null && dbType != null && conType.equals(dbType)) { return false; } } } } return true; } finally { if (node != null && process instanceof Process) { ((Process) process).removeNodeContainer(new NodeContainer(node)); } } } else if (("tOracleCDCOutput").equals(component.getName())) { if (item != null && item instanceof DatabaseConnectionItem) { if (((DatabaseConnectionItem) item).getConnection() instanceof DatabaseConnection) { DatabaseConnection connection = ((DatabaseConnection) ((DatabaseConnectionItem) item).getConnection()); if (MetadataConnectionUtils.isOracle(connection)) { String version = connection.getDbVersionString(); if (EDatabaseVersion4Drivers.ORACLE_12.name().equals(version)) { return false; } } } } return true; } } return false; }