public void visit(Function obj) { if (FunctionLibrary.LOOKUP.equalsIgnoreCase(obj.getName())) { try { ResolverUtil.ResolvedLookup lookup = ResolverUtil.resolveLookup(obj, this.getMetadata()); List<Symbol> symbols = new LinkedList<Symbol>(); symbols.add(lookup.getGroup()); symbols.add(lookup.getKeyElement()); symbols.add(lookup.getReturnElement()); validateEntitlements(symbols, DataPolicy.PermissionType.READ, Context.QUERY); } catch (TeiidComponentException e) { handleException(e, obj); } catch (TeiidProcessingException e) { handleException(e, obj); } } else { String schema = obj.getFunctionDescriptor().getSchema(); if (schema != null && !isSystemSchema(schema)) { Map<String, Function> map = new HashMap<String, Function>(); map.put(obj.getFunctionDescriptor().getFullName(), obj); validateEntitlements(PermissionType.EXECUTE, Context.FUNCTION, map); } } }
public void visit(Function obj) { if (FunctionLibrary.LOOKUP.equalsIgnoreCase(obj.getName())) { try { ResolverUtil.ResolvedLookup lookup = ResolverUtil.resolveLookup(obj, this.getMetadata()); List<Symbol> symbols = new LinkedList<Symbol>(); symbols.add(lookup.getGroup()); symbols.add(lookup.getKeyElement()); symbols.add(lookup.getReturnElement()); validateEntitlements(symbols, DataPolicy.PermissionType.READ, Context.QUERY); } catch (TeiidComponentException e) { handleException(e, obj); } catch (TeiidProcessingException e) { handleException(e, obj); } } else { String schema = obj.getFunctionDescriptor().getSchema(); if (schema != null && !isSystemSchema(schema)) { Map<String, Function> map = new HashMap<String, Function>(); map.put(obj.getFunctionDescriptor().getFullName(), obj); validateEntitlements(PermissionType.EXECUTE, Context.FUNCTION, map); } } }
public void visit(Function obj) { if (FunctionLibrary.LOOKUP.equalsIgnoreCase(obj.getName())) { try { ResolverUtil.ResolvedLookup lookup = ResolverUtil.resolveLookup(obj, this.getMetadata()); List<Symbol> symbols = new LinkedList<Symbol>(); symbols.add(lookup.getGroup()); symbols.add(lookup.getKeyElement()); symbols.add(lookup.getReturnElement()); validateEntitlements(symbols, DataPolicy.PermissionType.READ, Context.QUERY); } catch (TeiidComponentException e) { handleException(e, obj); } catch (TeiidProcessingException e) { handleException(e, obj); } } else { String schema = obj.getFunctionDescriptor().getSchema(); if (schema != null && !isSystemSchema(schema)) { Map<String, Function> map = new HashMap<String, Function>(); map.put(obj.getFunctionDescriptor().getFullName(), obj); validateEntitlements(PermissionType.EXECUTE, Context.FUNCTION, map); } } }
static void addToNameMap(Object metadataID, LanguageObject symbol, Map<String, LanguageObject> nameToSymbolMap, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { String fullName = metadata.getFullName(metadataID); Object modelId = metadata.getModelID(metadataID); String modelName = metadata.getFullName(modelId); if (!isSystemSchema(modelName)) { //foreign temp table full names are not schema qualified by default if (!metadata.isVirtualModel(modelId)) { GroupSymbol group = null; if (symbol instanceof ElementSymbol) { group = ((ElementSymbol)symbol).getGroupSymbol(); } else if (symbol instanceof GroupSymbol) { group = (GroupSymbol)symbol; } if (group != null && group.isTempGroupSymbol() && !group.isGlobalTable()) { fullName = modelName + AbstractMetadataRecord.NAME_DELIM_CHAR + modelId; } } nameToSymbolMap.put(fullName, symbol); } }
static void addToNameMap(Object metadataID, LanguageObject symbol, Map<String, LanguageObject> nameToSymbolMap, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { String fullName = metadata.getFullName(metadataID); Object modelId = metadata.getModelID(metadataID); String modelName = metadata.getFullName(modelId); if (!isSystemSchema(modelName)) { //foreign temp table full names are not schema qualified by default if (!metadata.isVirtualModel(modelId)) { GroupSymbol group = null; if (symbol instanceof ElementSymbol) { group = ((ElementSymbol)symbol).getGroupSymbol(); } else if (symbol instanceof GroupSymbol) { group = (GroupSymbol)symbol; } if (group != null && group.isTempGroupSymbol() && !group.isGlobalTable()) { fullName = modelName + AbstractMetadataRecord.NAME_DELIM_CHAR + modelId; } } nameToSymbolMap.put(fullName, symbol); } }
static void addToNameMap(Object metadataID, LanguageObject symbol, Map<String, LanguageObject> nameToSymbolMap, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { String fullName = metadata.getFullName(metadataID); Object modelId = metadata.getModelID(metadataID); String modelName = metadata.getFullName(modelId); if (!isSystemSchema(modelName)) { //foreign temp table full names are not schema qualified by default if (!metadata.isVirtualModel(modelId)) { GroupSymbol group = null; if (symbol instanceof ElementSymbol) { group = ((ElementSymbol)symbol).getGroupSymbol(); } else if (symbol instanceof GroupSymbol) { group = (GroupSymbol)symbol; } if (group != null && group.isTempGroupSymbol() && !group.isGlobalTable()) { fullName = modelName + AbstractMetadataRecord.NAME_DELIM_CHAR + modelId; } } nameToSymbolMap.put(fullName, symbol); } }