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