- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 05 Aug 2009 10:26:50 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/util
In directory hutz:/tmp/cvs-serv19002/src/org/w3c/unicorn/util
Added Files:
Tag: dev2
UCNProperties.java Property.java
Log Message:
New project
--- NEW FILE: Property.java ---
package org.w3c.unicorn.util;
import java.util.Properties;
public class Property {
private static Properties unicornProperties;
public static String get(String key) {
return unicornProperties.getProperty(key);
}
public static String get(String key1, String key2) {
return unicornProperties.getProperty(key1) + unicornProperties.getProperty(key2);
}
public static void setUnicornProperties(Properties unicornProperties) {
Property.unicornProperties = unicornProperties;
}
public static Properties getUnicornProperties() {
return unicornProperties;
}
}
--- NEW FILE: UCNProperties.java ---
package org.w3c.unicorn.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.log4j.Logger;
public class UCNProperties extends Properties {
private static final long serialVersionUID = 1L;
static Logger logger = Logger.getLogger("Init");
private Pattern pattern = Pattern.compile("\\$\\{[a-zA-Z_0-9]*\\}");
@Override
public synchronized void load(InputStream inStream) throws IOException {
super.load(inStream);
this.parse();
}
public void parse() {
for(Object key : this.keySet()) {
logger.debug("-----------------------------------------------------------------------------");
logger.debug("> Parsing Property : \"" + key + "\" => \"" + this.getProperty((String) key));
Matcher matcher = pattern.matcher(this.getProperty((String) key));
if (matcher.find()) {
matcher.reset();
while (matcher.find()) {
String match = matcher.group();
logger.debug(">> Pattern matched with: \"" + match + "\"");
String foundKey = (String) match.subSequence(2, match.length()-1);
if (!this.containsKey(foundKey)) {
logger.warn(">> String \"" + foundKey + "\" is not an existing property.");
} else {
String foundProp = this.getProperty(foundKey);
logger.debug(">> Found coresponding property: \"" + foundKey + "\" => \"" + foundProp +"\"");
String subst = this.getProperty((String) key);
subst = subst.replace(match, foundProp);
this.put(key, subst);
matcher = pattern.matcher(this.getProperty((String) key));
}
}
logger.debug(">> Parsed property: \"" + key + "\" => \"" + this.getProperty((String) key) + "\"");
} else {
logger.debug(">> No nested property found");
}
}
}
@Override
public String toString() {
String result = "";
for(Object key : this.keySet()) {
result += "\n"+key+"\t=>\t"+this.getProperty((String) key);
}
return result;
}
}
Received on Wednesday, 5 August 2009 10:38:35 UTC