packageorg.jfree.base.config;importjava.util.Enumeration;importjava.util.Iterator;importorg.jfree.util.Configuration;publicabstractinterfaceModifiableConfigurationextendsConfiguration{publicabstractvoidsetConfigProperty(StringparamString1,StringparamString2);publicabstractEnumerationgetConfigProperties();publicabstractIteratorfindPropertyKeys(StringparamString);}packageorg.jfree.base.config;importjava.util.Enumeration;importjava.util.Properties;©importjava.util.Vector;publicclassSystemPropertyConfigurationextendsHierarchicalConfiguration{publicvoidsetConfigProperty(Stringkey,Stringvalue){thrownewUnsupportedOperationException("TheSystemPropertyConfigurationisreadOnly");}publicStringgetConfigProperty(Stringkey,StringdefaultValue){try{Stringvalue=System.getProperty(key);if(value!=null){returnvalue;}}catch(SecurityExceptionse){}returnsuper.getConfigProperty(key,defaultValue);}publicbooleanisLocallyDefined(Stringkey){try{returnSystem.getProperties().containsKey(key);}catch(SecurityExceptionse){}returnfalse;}publicEnumerationgetConfigProperties(){try{returnSystem.getProperties().keys();}catch(SecurityExceptionse){}returnnewVector().elements();}}packageorg.jfree.base.config;importjava.io.BufferedInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Properties;importorg.jfree.util.Log;importorg.jfree.util.ObjectUtilities;publicclassPropertyFileConfigurationextendsHierarchicalConfiguration{publicvoidload(StringresourceName){load(resourceName,PropertyFileConfiguration.class);}publicvoidload(StringresourceName,ClassresourceSource){InputStreamin=ObjectUtilities.getResourceRelativeAsStream(resourceName,resourceSource);if(in!=null){try{load(in);}finally{try{in.close();}catch(IOExceptione){}}}else{Log.debug("Configurationfilenotfoundintheclasspath:"+resourceName);}}publicvoidload(InputStreamin){if(in==null){thrownewNullPointerException();}try{BufferedInputStreambin=newBufferedInputStream(in);Propertiesp=newProperties();p.load(bin);getConfiguration().putAll(p);bin.close();}catch(IOExceptionioe){Log.warn("Unabletoreadconfiguration",ioe);}}}packageorg.jfree.base.log;importorg.jfree.util.Log;importorg.jfree.util.LogTarget;importorg.jfree.util.PrintStreamLogTarget;publicclassDefaultLogextendsLog{privatestaticfinalPrintStreamLogTargetDEFAULT_LOG_TARGET=newPrintStreamLogTarget();privatestaticfinalDefaultLogdefaultLogInstance=newDefaultLog();publicvoidinit(){removeTarget(DEFAULT_LOG_TARGET);StringlogLevel=LogConfiguration.getLogLevel();if(logLevel.equalsIgnoreCase("error")){setDebuglevel(0);}elseif(logLevel.equalsIgnoreCase("warn")){setDebuglevel(1);}elseif(logLevel.equalsIgnoreCase("info")){setDebuglevel(2);}elseif(logLevel.equalsIgnoreCase("debug"))setDebuglevel(3);}publicsynchronizedvoidaddTarget(LogTargettarget){super.addTarget(target);if(target!=DEFAULT_LOG_TARGET)removeTarget(DEFAULT_LOG_TARGET);}publicstaticDefaultLoggetDefaultLog(){returndefaultLogInstance;}publicstaticvoidinstallDefaultLog(){Log.defineLog(defaultLogInstance);}static{defaultLogInstance.addTarget(DEFAULT_LOG_TARGET);try{Stringproperty=System.getProperty("org.jfree.DebugDefault","false");if(Boolean.valueOf(property).booleanValue()){defaultLogInstance.setDebuglevel(3);}elsedefaultLogInstance.setDebuglevel(1);}catch(SecurityExceptionse){defaultLogInstance.setDebuglevel(1);}}}packageorg.jfree.bas...