package brave.spring.beans;
import org.springframework.context.support.AbstractXmlApplicationContext;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.core.io.Resource;
import zipkin.internal.Util;
class XmlBeans extends AbstractXmlApplicationContext {
final ByteArrayResource resource;
XmlBeans(String... beans) {
StringBuilder joined = new StringBuilder();
for (String bean : beans) {
joined.append(bean).append('\n');
}
this.resource = new ByteArrayResource(beans(joined.toString()).getBytes(Util.UTF_8));
}
@Override protected Resource[] getConfigResources() {
return new Resource[] {resource};
}
static String beans(String bean) {
return "<beans xmlns=\"http://www.springframework.org/schema/beans\"\n"
+ " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+ " xmlns:util=\"http://www.springframework.org/schema/util\"\n"
+ " xsi:schemaLocation=\"\n"
+ " http://www.springframework.org/schema/beans\n"
+ " http://www.springframework.org/schema/beans/spring-beans-3.2.xsd\n"
+ " http://www.springframework.org/schema/util\n"
+ " http://www.springframework.org/schema/util/spring-util-3.2.xsd\">\n"
+ bean
+ "</beans>";
}
}