@Override public Object getElementID(String elementName) throws TeiidComponentException, QueryMetadataException { try { return super.getElementID(elementName); } catch (QueryMetadataException e) { //could be pseudo-column int index = elementName.lastIndexOf('.'); if(index <= 0 || elementName.length() <= index) { throw e; } String group = elementName.substring(0, index); elementName = elementName.substring(index + 1, elementName.length()); MultiSourceGroup msg = getMultiSourceGroup(getGroupID(group)); if (msg != null && elementName.equalsIgnoreCase(getName(msg.multiSourceElement))) { return msg.multiSourceElement; } throw e; } }
@Override public Object getElementID(String elementName) throws TeiidComponentException, QueryMetadataException { try { return super.getElementID(elementName); } catch (QueryMetadataException e) { //could be pseudo-column int index = elementName.lastIndexOf('.'); if(index <= 0 || elementName.length() <= index) { throw e; } String group = elementName.substring(0, index); elementName = elementName.substring(index + 1, elementName.length()); MultiSourceGroup msg = getMultiSourceGroup(getGroupID(group)); if (msg != null && elementName.equalsIgnoreCase(getName(msg.multiSourceElement))) { return msg.multiSourceElement; } throw e; } }
@Override public Object getElementID(String elementName) throws TeiidComponentException, QueryMetadataException { try { return super.getElementID(elementName); } catch (QueryMetadataException e) { //could be pseudo-column int index = elementName.lastIndexOf('.'); if(index <= 0 || elementName.length() <= index) { throw e; } String group = elementName.substring(0, index); elementName = elementName.substring(index + 1, elementName.length()); MultiSourceGroup msg = getMultiSourceGroup(getGroupID(group)); if (msg != null && elementName.equalsIgnoreCase(getName(msg.multiSourceElement))) { return msg.multiSourceElement; } throw e; } }
@Override public boolean isMultiSourceElement(Object elementId) throws QueryMetadataException, TeiidComponentException { if (elementId instanceof MultiSourceElement) { return true; } Object gid = getGroupIDForElementID(elementId); if (isVirtualGroup(gid)) { return false; } Object modelID = this.getModelID(gid); String modelName = this.getFullName(modelID); String multiSourceColumnName = multiSourceModels.get(modelName); if(multiSourceColumnName == null) { return false; } return multiSourceColumnName.equalsIgnoreCase(getName(elementId)); }
@Override public boolean isMultiSourceElement(Object elementId) throws QueryMetadataException, TeiidComponentException { if (elementId instanceof MultiSourceElement) { return true; } Object gid = getGroupIDForElementID(elementId); if (isVirtualGroup(gid)) { return false; } Object modelID = this.getModelID(gid); String modelName = this.getFullName(modelID); String multiSourceColumnName = multiSourceModels.get(modelName); if(multiSourceColumnName == null) { return false; } return multiSourceColumnName.equalsIgnoreCase(getName(elementId)); }
@Override public boolean isMultiSourceElement(Object elementId) throws QueryMetadataException, TeiidComponentException { if (elementId instanceof MultiSourceElement) { return true; } Object gid = getGroupIDForElementID(elementId); if (isVirtualGroup(gid)) { return false; } Object modelID = this.getModelID(gid); String modelName = this.getFullName(modelID); String multiSourceColumnName = multiSourceModels.get(modelName); if(multiSourceColumnName == null) { return false; } return multiSourceColumnName.equalsIgnoreCase(getName(elementId)); }