private void buildSeverityMap() { this.severityMap = new HashMap<String, ResultSeverity>(); Map<String, String> temp = new HashMap<String, String>(); this.chainedProperties.mapStartsWith( temp, KBuilderSeverityOption.PROPERTY_NAME, true ); int index = KBuilderSeverityOption.PROPERTY_NAME.length(); for ( Map.Entry<String, String> entry : temp.entrySet() ) { String identifier = entry.getKey().trim().substring( index ); this.severityMap.put( identifier, KBuilderSeverityOption.get(identifier, entry.getValue()).getSeverity()); } }
@SuppressWarnings("unchecked") public <T extends MultiValueKnowledgeBuilderOption> T getOption(Class<T> option, String key) { if ( AccumulateFunctionOption.class.equals( option ) ) { return (T) AccumulateFunctionOption.get( key, this.accumulateFunctions.get( key ) ); } else if ( EvaluatorOption.class.equals( option ) ) { return (T) EvaluatorOption.get( key, this.evaluatorRegistry.getEvaluatorDefinition( key ) ); } else if ( KBuilderSeverityOption.class.equals( option )) { return (T) KBuilderSeverityOption.get( key, this.severityMap.get( key )); } return null; }
public void setProperty(String name, String value) { name = name.trim(); if ( StringUtils.isEmpty( name ) ) { return; } if ( name.equals( DefaultDialectOption.PROPERTY_NAME ) ) { setDefaultDialect( value ); } else if ( name.startsWith( AccumulateFunctionOption.PROPERTY_NAME ) ) { addAccumulateFunction( name.substring( AccumulateFunctionOption.PROPERTY_NAME.length() ), value ); } else if ( name.startsWith( EvaluatorOption.PROPERTY_NAME ) ) { this.evaluatorRegistry.addEvaluatorDefinition( value ); } else if ( name.equals( DumpDirOption.PROPERTY_NAME ) ) { buildDumpDirectory( value ); } else if ( name.equals( DefaultPackageNameOption.PROPERTY_NAME ) ) { setDefaultPackageName( value ); } else if ( name.equals( ProcessStringEscapesOption.PROPERTY_NAME ) ) { setProcessStringEscapes( Boolean.parseBoolean( value ) ); } else if ( name.equals( ClassLoaderCacheOption.PROPERTY_NAME ) ) { setClassLoaderCacheEnabled( Boolean.parseBoolean( value ) ); } else if ( name.startsWith( KBuilderSeverityOption.PROPERTY_NAME ) ) { String key = name.substring( name.lastIndexOf('.') + 1 ); this.severityMap.put(key, KBuilderSeverityOption.get(key, value).getSeverity()); } }