HHH-6716 envers should set the TCCL to the envers classloader before constructing a dom4j instance. This will allow applications to use their own version of dom4j
This commit is contained in:
parent
b307a801a7
commit
7b1c172b84
|
@ -100,9 +100,23 @@ public final class XMLHelper {
|
|||
}
|
||||
|
||||
public static Element generateDom4jElement(String elementName) {
|
||||
return DocumentFactory.getInstance().createElement( elementName );
|
||||
return getDocumentFactory().createElement( elementName );
|
||||
}
|
||||
|
||||
public static DocumentFactory getDocumentFactory() {
|
||||
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
DocumentFactory factory;
|
||||
try {
|
||||
Thread.currentThread().setContextClassLoader( XMLHelper.class.getClassLoader() );
|
||||
factory = DocumentFactory.getInstance();
|
||||
}
|
||||
finally {
|
||||
Thread.currentThread().setContextClassLoader( cl );
|
||||
}
|
||||
return factory;
|
||||
}
|
||||
|
||||
public static void dump(Element element) {
|
||||
try {
|
||||
// try to "pretty print" it
|
||||
|
|
|
@ -52,6 +52,7 @@ import org.hibernate.envers.revisioninfo.RevisionInfoGenerator;
|
|||
import org.hibernate.envers.revisioninfo.RevisionInfoNumberReader;
|
||||
import org.hibernate.envers.revisioninfo.RevisionInfoQueryCreator;
|
||||
import org.hibernate.envers.tools.MutableBoolean;
|
||||
import org.hibernate.internal.util.xml.XMLHelper;
|
||||
import org.hibernate.mapping.PersistentClass;
|
||||
import org.hibernate.type.LongType;
|
||||
import org.hibernate.type.Type;
|
||||
|
@ -83,7 +84,7 @@ public class RevisionInfoConfiguration {
|
|||
}
|
||||
|
||||
private Document generateDefaultRevisionInfoXmlMapping() {
|
||||
Document document = DocumentHelper.createDocument();
|
||||
Document document = XMLHelper.getDocumentFactory().createDocument();
|
||||
|
||||
Element class_mapping = MetadataTools.createEntity(document, new AuditTableData(null, null, globalCfg.getDefaultSchemaName(), globalCfg.getDefaultCatalogName()), null);
|
||||
|
||||
|
@ -140,7 +141,7 @@ public class RevisionInfoConfiguration {
|
|||
}
|
||||
|
||||
private Element generateRevisionInfoRelationMapping() {
|
||||
Document document = DocumentHelper.createDocument();
|
||||
Document document = XMLHelper.getDocumentFactory().createDocument();
|
||||
Element rev_rel_mapping = document.addElement("key-many-to-one");
|
||||
rev_rel_mapping.addAttribute("type", revisionPropType);
|
||||
rev_rel_mapping.addAttribute("class", revisionInfoEntityName);
|
||||
|
|
Loading…
Reference in New Issue