1 28 29 package com.idaremedia.antx.valueuri.info; 30 31 import org.apache.tools.ant.Project; 32 33 import com.idaremedia.antx.Defaults; 34 import com.idaremedia.antx.Iteration; 35 import com.idaremedia.antx.apis.Requester; 36 import com.idaremedia.antx.helpers.Tk; 37 import com.idaremedia.antx.starters.ValueURIHandlerSkeleton; 38 39 84 85 public class DefaultsValueURIHandler extends ValueURIHandlerSkeleton 86 { 87 90 public DefaultsValueURIHandler() 91 { 92 } 93 94 95 96 100 public String getDefaultValue(String fullUri, Requester clnt) 101 { 102 if (fullUri!=null && fullUri.length()>4) { 103 int i; 104 if (fullUri.charAt(0)=='$' && (i=fullUri.indexOf(":"))>0) { 105 String fallback = null; 106 i= fullUri.lastIndexOf("?"); 107 if (i>0) { 108 if ((i+1)<fullUri.length()) { 109 fallback = fullUri.substring(i+1); 110 fallback = Tk.resolveString(clnt.getProject(),fallback,true); 111 } else { 112 fallback = ""; 113 } 114 } 115 return fallback; 116 } 117 } 118 return null; 119 } 120 121 122 123 127 public String valueFrom(String uriFragment, String fullUri, Requester clnt) 128 { 129 Defaults dflt = Iteration.defaultdefaults(); 130 String fragment = Tk.lowercaseFrom(uriFragment); 131 132 String value = dflt.valueFrom(fragment,clnt); 134 if (value!=null) { 135 return value; 136 } 137 138 142 final Project project = clnt.getProject(); 143 String fallback = null; 144 int i= uriFragment.lastIndexOf("?"); 145 if (i>0) { 146 if ((i+1)<uriFragment.length()) { 147 fallback = uriFragment.substring(i+1); fallback = Tk.resolveString(project,fallback,true); 149 } else { 150 fallback = ""; 151 } 152 fragment = Tk.lowercaseFrom(uriFragment.substring(0,i)); 153 } 154 String property = dflt.defaultPropertiesPrefix(project)+fragment; 155 value = Tk.getTheProperty(project,property); 156 157 return value==null ? fallback : value; 158 } 159 } 160 161 | Popular Tags |