- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 06 Aug 2009 12:46:58 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/util
In directory hutz:/tmp/cvs-serv2800/src/org/w3c/unicorn/util
Added Files:
Tag: dev2
UCNProperties.java Property.java
Log Message:
w3 => w3c
--- 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 Thursday, 6 August 2009 12:47:08 UTC