Added some logging to Configurable class

This commit is contained in:
Ziver Koc 2015-12-10 22:24:43 +01:00
parent 515bf60309
commit 29e684e117
2 changed files with 22 additions and 3 deletions

BIN
Zutil.jar

Binary file not shown.

View file

@ -35,6 +35,7 @@ import java.lang.reflect.Modifier;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
@ -42,7 +43,7 @@ import java.util.logging.Logger;
* Created by Ziver * Created by Ziver
*/ */
public class Configurator<T> { public class Configurator<T> {
private static final Logger log = LogUtil.getLogger(); private static final Logger logger = LogUtil.getLogger();
/** /**
* Sets a field in a class as externally configurable. * Sets a field in a class as externally configurable.
@ -95,7 +96,7 @@ public class Configurator<T> {
try { try {
conf.add(new ConfigurationParam(f, obj)); conf.add(new ConfigurationParam(f, obj));
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
log.log(Level.WARNING, null, e); logger.log(Level.SEVERE, null, e);
} }
} }
} }
@ -105,14 +106,32 @@ public class Configurator<T> {
return list; return list;
} }
public void setConfiguration(Map<String,String> parameters){
for(ConfigurationParam param : this.params){
if(parameters.containsKey(param.getName()))
param.setValue(parameters.get(param.getName()));
}
}
public void applyConfiguration(){ public void applyConfiguration(){
StringBuilder strParams = new StringBuilder();
for(ConfigurationParam param : params){ for(ConfigurationParam param : params){
try { try {
param.apply(); param.apply();
// Logging
if(logger.isLoggable(Level.FINE)) {
strParams.append(param.getName());
if(param.isTypeString())
strParams.append(": '").append(param.getString()).append("', ");
else
strParams.append(param.getString());
}
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
log.log(Level.WARNING, null, e); logger.log(Level.WARNING, null, e);
} }
} }
if(logger.isLoggable(Level.FINE))
logger.fine("Configured object: " + obj.getClass().getSimpleName() + "("+ strParams +")");
} }