/** * Set actual metadataID for this parameter * @param metadataID Actual metadataID */ public void setMetadataID(Object metadataID) { this.parameterSymbol.setMetadataID(metadataID); }
/** * Set actual metadataID for this parameter * @param metadataID Actual metadataID */ public void setMetadataID(Object metadataID) { this.parameterSymbol.setMetadataID(metadataID); }
/** * Set actual metadataID for this parameter * @param metadataID Actual metadataID */ public void setMetadataID(Object metadataID) { this.parameterSymbol.setMetadataID(metadataID); }
/** * Add a result set column if this parameter is a return * result set. * @param colName Name of column * @param type Type of column */ public void addResultSetColumn(String colName, Class<?> type, Object id) { if(resultSetColumns == null){ resultSetColumns = new ArrayList<ElementSymbol>(); resultSetIDs = new ArrayList<Object>(); } ElementSymbol rsColumn = new ElementSymbol(colName); rsColumn.setType(type); rsColumn.setMetadataID(id); resultSetColumns.add(rsColumn); resultSetIDs.add(id); }
static void markBindingsAsNonExternal(LanguageObject object, Collection<ElementSymbol> allBindings) { List<ElementSymbol> elements = new ArrayList<ElementSymbol>(); ElementCollectorVisitor visitor = new ElementCollectorVisitor(elements); DeepPreOrderNavigator.doVisit(object, visitor); for (Iterator<ElementSymbol> i = elements.iterator(); i.hasNext();) { ElementSymbol elementSymbol = i.next(); if (allBindings.contains(elementSymbol)) { elementSymbol.setIsExternalReference(false); elementSymbol.setMetadataID(null); } } }
/** * Add a result set column if this parameter is a return * result set. * @param colName Name of column * @param type Type of column */ public void addResultSetColumn(String colName, Class<?> type, Object id) { if(resultSetColumns == null){ resultSetColumns = new ArrayList<ElementSymbol>(); resultSetIDs = new ArrayList<Object>(); } ElementSymbol rsColumn = new ElementSymbol(colName); rsColumn.setType(type); rsColumn.setMetadataID(id); resultSetColumns.add(rsColumn); resultSetIDs.add(id); }
/** * Add a result set column if this parameter is a return * result set. * @param colName Name of column * @param type Type of column */ public void addResultSetColumn(String colName, Class<?> type, Object id) { if(resultSetColumns == null){ resultSetColumns = new ArrayList<ElementSymbol>(); resultSetIDs = new ArrayList<Object>(); } ElementSymbol rsColumn = new ElementSymbol(colName); rsColumn.setType(type); rsColumn.setMetadataID(id); resultSetColumns.add(rsColumn); resultSetIDs.add(id); }
/** * Set full parameter name * @param name Parameter name */ public void setName(String name) { ElementSymbol es = new ElementSymbol(name); es.setMetadataID(parameterSymbol.getMetadataID()); es.setType(parameterSymbol.getType()); this.parameterSymbol = es; }
/** * Set full parameter name * @param name Parameter name */ public void setName(String name) { ElementSymbol es = new ElementSymbol(name); es.setMetadataID(parameterSymbol.getMetadataID()); es.setType(parameterSymbol.getType()); this.parameterSymbol = es; }
/** * Set full parameter name * @param name Parameter name */ public void setName(String name) { ElementSymbol es = new ElementSymbol(name); es.setMetadataID(parameterSymbol.getMetadataID()); es.setType(parameterSymbol.getType()); this.parameterSymbol = es; }
static GroupInfo getGroupInfo(GroupSymbol group, QueryMetadataInterface metadata) throws TeiidComponentException, QueryMetadataException { String key = GroupInfo.CACHE_PREFIX + group.getName(); GroupInfo groupInfo = (GroupInfo)metadata.getFromMetadataCache(group.getMetadataID(), key); if (groupInfo == null) { group = group.clone(); // get all elements from the metadata List elementIDs = metadata.getElementIDsInGroupID(group.getMetadataID()); LinkedHashMap<Object, ElementSymbol> symbols = new LinkedHashMap<Object, ElementSymbol>(elementIDs.size()); for (Object elementID : elementIDs) { String elementName = metadata.getName(elementID); // Form an element symbol from the ID ElementSymbol element = new ElementSymbol(elementName, group); element.setMetadataID(elementID); element.setType( DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(element.getMetadataID())) ); symbols.put(elementID, element); } groupInfo = new GroupInfo(symbols); metadata.addToMetadataCache(group.getMetadataID(), key, groupInfo); } return groupInfo; }
public static ElementSymbol helpExample(String groupName, String elementName, Object metadataID) { ElementSymbol symbol = new ElementSymbol(elementName); symbol.setGroupSymbol(TestGroupImpl.helpExample(groupName)); symbol.setType(Integer.class); symbol.setMetadataID(metadataID); return symbol; }
public ElementSymbol getElementSymbolWithGroupAlias(int groupNum, int elementNum, String alias) throws Exception { String id = "pm1.g" + groupNum + ".e" + elementNum; //$NON-NLS-1$ //$NON-NLS-2$ ElementSymbol es = new ElementSymbol(id); es.setMetadataID(this.metadata.getElementID(id)); es.setGroupSymbol(getPhysicalGroupWithAlias(groupNum, alias)); return es; }
public ElementSymbol getElementSymbol(int groupNum, int elementNum) throws Exception { String id = "pm1.g" + groupNum + ".e" + elementNum; //$NON-NLS-1$ //$NON-NLS-2$ ElementSymbol es = new ElementSymbol(id); es.setMetadataID(this.metadata.getElementID(id)); es.setGroupSymbol(getPhysicalGroup(groupNum)); return es; }
public ElementSymbol getElementSymbol(int modelNum, int groupNum, int elementNum) throws Exception { String id = "pm" + modelNum + ".g" + groupNum + ".e" + elementNum; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ElementSymbol es = new ElementSymbol(id); es.setMetadataID(this.metadata.getElementID(id)); es.setGroupSymbol(getPhysicalGroup(modelNum, groupNum)); return es; }
@Test public void testResolvesClosestType() throws Exception { ElementSymbol e1 = new ElementSymbol("pm1.g1.e1"); //$NON-NLS-1$ //dummy resolve to a byte e1.setType(DataTypeManager.DefaultDataClasses.BYTE); e1.setMetadataID(new Object()); Function function = new Function("abs", new Expression[] {e1}); //$NON-NLS-1$ ResolverVisitor.resolveLanguageObject(function, RealMetadataFactory.example1Cached()); assertEquals(DataTypeManager.DefaultDataClasses.INTEGER, function.getType()); }
/** * Return a deep copy of this object. * @return Deep copy of this object */ public ElementSymbol clone() { ElementSymbol copy = new ElementSymbol(getShortName(), null); if(getGroupSymbol() != null) { copy.setGroupSymbol(getGroupSymbol().clone()); } copy.setMetadataID(getMetadataID()); copy.setType(getType()); copy.setIsExternalReference(isExternalReference()); copy.outputName = this.outputName; copy.setDisplayMode(this.getDisplayMode()); copy.isAggregate = isAggregate; return copy; }
/** * Return a deep copy of this object. * @return Deep copy of this object */ public ElementSymbol clone() { ElementSymbol copy = new ElementSymbol(getShortName(), null); if(getGroupSymbol() != null) { copy.setGroupSymbol(getGroupSymbol().clone()); } copy.setMetadataID(getMetadataID()); copy.setType(getType()); copy.setIsExternalReference(isExternalReference()); copy.outputName = this.outputName; copy.setDisplayMode(this.getDisplayMode()); copy.isAggregate = isAggregate; return copy; }
/** * Return a deep copy of this object. * @return Deep copy of this object */ public ElementSymbol clone() { ElementSymbol copy = new ElementSymbol(getShortName(), null); if(getGroupSymbol() != null) { copy.setGroupSymbol(getGroupSymbol().clone()); } copy.setMetadataID(getMetadataID()); copy.setType(getType()); copy.setIsExternalReference(isExternalReference()); copy.outputName = this.outputName; copy.setDisplayMode(this.getDisplayMode()); copy.isAggregate = isAggregate; return copy; }
private ElementSymbol resolveElementSymbol(String elementName, MappingSourceNode sourceNode) { try { QueryMetadataInterface metadata = this.planEnv.getGlobalMetadata(); ElementSymbol symbol = sourceNode.getMappedSymbol(new ElementSymbol(elementName)); Object elementID = metadata.getElementID(symbol.getName()); symbol.setMetadataID(elementID); Object groupID = metadata.getGroupIDForElementID(elementID); String groupName = metadata.getFullName(groupID); GroupSymbol groupSymbol = new GroupSymbol(groupName); groupSymbol.setMetadataID(groupID); symbol.setGroupSymbol(groupSymbol); symbol.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(symbol.getMetadataID()))); return symbol; } catch (QueryMetadataException e) { throw new TeiidRuntimeException(e); } catch (TeiidComponentException e) { throw new TeiidRuntimeException(e); } }