package org.fcrepo.utilities.xml; import javax.xml.transform.TransformerFactory; import org.apache.commons.pool.PoolableObjectFactory; public class PoolableTransformerFactoryFactory implements PoolableObjectFactory<TransformerFactory> { public PoolableTransformerFactoryFactory() { } @Override public void activateObject(TransformerFactory object) throws Exception { // no-op } @Override public void destroyObject(TransformerFactory object) throws Exception { // no-op } @Override public TransformerFactory makeObject() throws Exception { TransformerFactory factory = TransformerFactory.newInstance(); if (factory.getClass().getName().equals("net.sf.saxon.TransformerFactoryImpl")) { factory.setAttribute("http://saxon.sf.net/feature/version-warning", Boolean.FALSE); } return factory; } @Override public void passivateObject(TransformerFactory object) throws Exception { // no-op } @Override public boolean validateObject(TransformerFactory object) { return true; } }