1 16 package com.google.gwt.dev.cfg; 17 18 import com.google.gwt.core.ext.BadPropertyValueException; 19 import com.google.gwt.core.ext.GeneratorContext; 20 import com.google.gwt.core.ext.PropertyOracle; 21 import com.google.gwt.core.ext.TreeLogger; 22 import com.google.gwt.core.ext.UnableToCompleteException; 23 24 28 public class ConditionWhenPropertyIs extends Condition { 29 30 private final String propName; 31 32 private final String value; 33 34 public ConditionWhenPropertyIs(String propName, String value) { 35 this.propName = propName; 36 this.value = value; 37 } 38 39 public String toString() { 40 return "<when-property-is name='" + propName + "' value='" + value + "'/>"; 41 } 42 43 protected boolean doEval(TreeLogger logger, GeneratorContext context, 44 String testType) throws UnableToCompleteException { 45 String testValue; 46 try { 47 PropertyOracle propertyOracle = context.getPropertyOracle(); 48 testValue = propertyOracle.getPropertyValue(logger, propName); 49 logger.log(TreeLogger.DEBUG, "Property value is '" + testValue + "'", 50 null); 51 if (testValue.equals(value)) { 52 return true; 53 } else { 54 return false; 55 } 56 } catch (BadPropertyValueException e) { 57 String msg = "Unable to get value of property '" + propName + "'"; 58 logger.log(TreeLogger.ERROR, msg, e); 59 throw new UnableToCompleteException(); 60 } 61 } 62 63 protected String getEvalAfterMessage(String testType, boolean result) { 64 if (result) { 65 return "Yes, the property value matched"; 66 } else { 67 return "No, the value did not match"; 68 } 69 } 70 71 protected String getEvalBeforeMessage(String testType) { 72 return toString(); 73 } 74 } 75 | Popular Tags |