/** * Loads {@link jodd.madvoc.config.MadvocConfigurator}. If class name is <code>null</code>, * {@link jodd.madvoc.config.AutomagicMadvocConfigurator} will be created. */ protected MadvocConfigurator loadMadvocConfig() { if ((madvocConfiguratorClassName != null) && (madvocConfiguratorClass != null)) { throw new MadvocException("Ambiguous MadvocConfigurator setting."); } if ((madvocConfiguratorClassName == null) && (madvocConfiguratorClass == null)) { log.info("Configuring Madvoc using default automagic configurator"); return new AutomagicMadvocConfigurator(); } MadvocConfigurator configurator; try { if (madvocConfiguratorClass == null) { madvocConfiguratorClass = ClassLoaderUtil.loadClass(madvocConfiguratorClassName); } configurator = (MadvocConfigurator) madvocConfiguratorClass.newInstance(); log.info("Configuring Madvoc using configurator: " + madvocConfiguratorClass.getName()); } catch (ClassNotFoundException cnfex) { throw new MadvocException("Madvoc configurator class not found: " + madvocConfiguratorClassName, cnfex); } catch (ClassCastException ccex) { throw new MadvocException("Class '" + madvocConfiguratorClass.getName() + "' is not a Madvoc configurator.", ccex); } catch (Exception ex) { throw new MadvocException("Unable to load Madvoc configurator class: " + ex.toString(), ex); } return configurator; }