On Wednesday, February 26, 2003, at 08:27 AM, Jason Carreira wrote:
I checked in the first pass at programmatic configuration. The way it works is that any class, like DefaultConfiguration, which implements Configuration can be registered with the ConfigurationFactory. The only method in the Configuration Interface is (now):
public void init(ProgrammableConfiguration configurationManager) throws ConfigurationException;
ProgrammableConfiguration is an Interface with this signature:
public interface ProgrammableConfiguration { void addPackageContext(String name, PackageContext packageContext);
void removePackageContext(String name);
Set getPackageContextNames();
PackageContext getPackageContext(String name);
Map getPackageContexts();
void reload() throws ConfigurationException;
void buildRuntimeConfiguration();
Interceptor getInterceptor(String clazz) throws ConfigurationException;
void destroy(); }
The configuration implementation (and there are 2 now, the
DefaultConfiguration and SimpleConfiguration which has some hard-coded
configuration for tests) uses the addPackageContext() method to add
configurations as it builds them by whatever means during its init()
method. This is called during the reload() method of
ConfigurationManager (which implements ProgrammableConfiguration) which
also calls buildRuntimeConfiguration() afterwards. The idea here is that
the ProgrammableConfiguration keeps the programmatic configuration and
runtime configuration separate, then builds the runtime from the
programmatic when instructed to do so. This lets you edit the
programmatic configuration without interfering with the runtime
configuration until you're done, then tell it to
buildRuntimeConfiguration().
More on this later. Take a look if you're interested. Comments and suggestions welcomed.
Jason
-- Jason Carreira Technical Architect, Notiva Corp. phone: 585.240.2793 fax: 585.272.8118 email: [EMAIL PROTECTED] --- Notiva - optimizing trade relationships (tm)
------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork