if (projectedSymbols.contains(symbol)) {
mappedElements.put(symbol, new ElementSymbol(groupName + ElementSymbol.SEPARATOR + symbol.getShortName()));
continue;
}
AliasSymbol alias = getMachingAlias(projectedSymbols, symbol);
if (alias != null) {
mappedElements.put(symbol, new ElementSymbol(groupName + ElementSymbol.SEPARATOR + alias.getShortName()));
continue;
}
// this means that the criteria symbol, is not projected, so add the element symbol
// to query node, so that it is projected.
String name = getNewSymbolName(newGroupSymbol.getName(), symbol, symbolMap);
AliasSymbol selectSymbol = new AliasSymbol(name, symbol);
transformationQuery.getSelect().addSymbol(selectSymbol);
addedProjectedSymbol = true;
// also add to the projected elements on the temp group.
metadata.getMetadataStore().addElementSymbolToTempGroup(newGroupSymbol.getName(), selectSymbol);
ElementSymbol upperSymbol = new ElementSymbol(groupName + ElementSymbol.SEPARATOR + selectSymbol.getShortName());
mappedElements.put(symbol, upperSymbol);
//add to the symbol map. the base symbol is not to the original group, since it doesn't really project this element
symbolMap.put(upperSymbol, upperSymbol);
}