1 19 20 package com.sslexplorer.core.stringreplacement; 21 22 import java.util.regex.Matcher ; 23 import java.util.regex.Pattern ; 24 25 import com.sslexplorer.boot.PropertyClass; 26 import com.sslexplorer.boot.PropertyClassManager; 27 import com.sslexplorer.policyframework.Policy; 28 import com.sslexplorer.properties.Property; 29 import com.sslexplorer.properties.attributes.AttributeDefinition; 30 import com.sslexplorer.properties.impl.policyattributes.PolicyAttributeKey; 31 import com.sslexplorer.properties.impl.policyattributes.PolicyAttributes; 32 33 public class PolicyAttributesReplacer extends AbstractReplacementVariableReplacer { 34 35 private Policy policy; 36 37 public PolicyAttributesReplacer(Policy policy) { 38 super(); 39 this.policy = policy; 40 } 41 42 @Override 43 public String processReplacementVariable(Pattern pattern, Matcher matcher, String replacementPattern, String type, String key) throws Exception { 44 if (type.equalsIgnoreCase(PolicyAttributes.NAME)) { 45 PropertyClass propertyClass = PropertyClassManager.getInstance().getPropertyClass(type); 46 AttributeDefinition def = (AttributeDefinition) propertyClass.getDefinition(key); 47 if (def == null) { 48 VariableReplacement.log.warn("Invalid policy attribute '" + key + "'"); 49 return null; 50 } else { 51 return Property.getProperty(new PolicyAttributeKey(policy.getResourceId(), key)); 52 } 53 } 54 return null; 55 } 56 57 } | Popular Tags |