001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.config.adapters; 005 006 import java.io.InputStream; 007 008 import javax.xml.parsers.DocumentBuilderFactory; 009 010 import biz.hammurapi.config.ConfigurationException; 011 import biz.hammurapi.config.Context; 012 import biz.hammurapi.config.DomConfigurable; 013 import biz.hammurapi.config.InputStreamConfigurable; 014 015 /** 016 * Converts {@link biz.hammurapi.config.DomConfigurable} to {@link biz.hammurapi.config.InputStreamConfigurable} 017 * @author Pavel Vlasov 018 * @version $Revision: 1.2 $ 019 */ 020 public class InputStream2DomConfigurableAdapter implements InputStreamConfigurable { 021 022 private DomConfigurable domConfigurable; 023 024 /** 025 * 026 */ 027 public InputStream2DomConfigurableAdapter(DomConfigurable domConfigurable) { 028 super(); 029 this.domConfigurable=domConfigurable; 030 } 031 032 /* (non-Javadoc) 033 * @see biz.hammurapi.config.InputStreamConfigurable#configure(java.io.InputStream) 034 */ 035 public void configure(InputStream in, Context context, ClassLoader classLoader) throws ConfigurationException { 036 try { 037 domConfigurable.configure( 038 DocumentBuilderFactory 039 .newInstance() 040 .newDocumentBuilder() 041 .parse(in) 042 .getDocumentElement(), context, classLoader); 043 } catch (Exception e) { 044 throw new ConfigurationException(e); 045 } 046 } 047 048 }