@Override public boolean shouldGenerateInvocationId() { return generatedInvocationIdLength() > 0; }
@Override public boolean shouldGenerateSessionId() { return generatedSessionIdLength() > 0; }
@Override public int generatedSessionIdLength() { return parseIntOrZero(getProfiledOrDefaultProperty(GENERATE_SESSION_ID)); }
@Override public boolean shouldProcessParam(String paramName, Channel channel) { final String messageTypePropertyValue = getProfiledOrDefaultProperty(channel.name()); final List<Pattern> patterns = retrievePatternsForPropertyValue(messageTypePropertyValue); return anyPatternMatchesParamName(patterns, paramName); }
private PropertyChain getPropertyChain() { if (_lazyPropertyChain == null) { _lazyPropertyChain = PropertiesBasedTraceeFilterConfiguration.loadPropertyChain(); } return _lazyPropertyChain; }
private boolean anyPatternMatchesParamName(Iterable<Pattern> patterns, String paramName) { for (Pattern pattern : patterns) { if (patternMatchesParamName(pattern, paramName)) return true; } return false; }
private List<Pattern> retrievePatternsForPropertyValue(final String propertyValue) { if (propertyValue == null) { return Collections.emptyList(); } final List<Pattern> patterns = patternCache.get(propertyValue); if (patterns != null) { return patterns; } final List<Pattern> unmodPatterns = Collections.unmodifiableList(extractPatterns(propertyValue)); patternCache.put(propertyValue, unmodPatterns); return unmodPatterns; }
@Override public final TraceeFilterConfiguration getConfiguration(String profileName) { final String lookupProfile = profileName == null ? Profile.DEFAULT : profileName; TraceeFilterConfiguration filterConfiguration = configurationCache.get(lookupProfile); if (filterConfiguration == null) { filterConfiguration = new PropertiesBasedTraceeFilterConfiguration(getPropertyChain(), lookupProfile); configurationCache.put(lookupProfile, filterConfiguration); } return filterConfiguration; }
@Override public boolean shouldProcessContext(final Channel channel) { final String messageTypePropertyValue = getProfiledOrDefaultProperty(channel.name()); return !Utilities.isNullOrEmptyString(messageTypePropertyValue); }
@Override public int generatedInvocationIdLength() { return parseIntOrZero(getProfiledOrDefaultProperty(GENERATE_INVOCATION_ID)); }