1 /* 2 * The SmartWeb Framework 3 * Copyright (C) 2004-2006 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 18 * 19 * For further informations on the SmartWeb Framework please visit 20 * 21 * http://smartweb.sourceforge.net 22 */ 23 package net.smartlab.web.config; 24 25 import java.net.URL; 26 27 import org.apache.commons.logging.Log; 28 import org.apache.commons.logging.LogFactory; 29 30 import net.smartlab.config.Configuration; 31 import net.smartlab.config.ConfigurationException; 32 import net.smartlab.config.XMLConfiguration; 33 import net.smartlab.web.Domain; 34 35 36 /** 37 * @TODO documentation 38 * @author rlogiacco@smartlab.net 39 * 40 */ 41 public class FileDomainConfigurationStrategy implements DomainConfigurationStrategy { 42 43 /** 44 * @throws ConfigurationException 45 * @see net.smartlab.web.config.FactoryConfigurationStrategy#getConfiguration() 46 */ 47 public Configuration getConfiguration(Domain domain) throws ConfigurationException { 48 String archive = Domain.getLastArchiveName(domain.getClass()); 49 URL file = Domain.getResource(this.getClass(), new String[] {"/META-INF/" + archive + ".xml", 50 "/META-INF/smartweb.jar.xml"}); 51 return new XMLConfiguration(file); 52 } 53 54 /** 55 * @see net.smartlab.web.config.FactoryConfigurationStrategy#getConfiguration(java.lang.String) 56 */ 57 public Configuration getConfiguration(Domain domain, String filename) throws ConfigurationException { 58 Domain.getLastArchiveName(domain.getClass()); // used only for logging search path 59 URL file = Domain.getResource(this.getClass(), new String[] {"/META-INF/" + filename}); 60 return new XMLConfiguration(file); 61 } 62 }