diff options
Diffstat (limited to 'java/sca/modules/host-embedded')
2 files changed, 19 insertions, 1 deletions
diff --git a/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java b/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java index 1f6dc4260d..55b6afb6f2 100644 --- a/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java +++ b/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java @@ -27,6 +27,9 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.TransformerFactory; + import org.apache.tuscany.sca.assembly.AssemblyFactory; import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.assembly.EndpointFactory; @@ -217,6 +220,8 @@ public class ReallySmallRuntime { EndpointFactory endpointFactory = factories.getFactory(EndpointFactory.class); UtilityExtensionPoint utilities = registry.getExtensionPoint(UtilityExtensionPoint.class); InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); + DocumentBuilderFactory documentBuilderFactory = factories.getFactory(DocumentBuilderFactory.class); + TransformerFactory transformerFactory = factories.getFactory(TransformerFactory.class); //Create a composite builder SCADefinitions aggregatedDefinitions = new SCADefinitionsImpl(); @@ -228,6 +233,8 @@ public class ReallySmallRuntime { scaBindingFactory, endpointFactory, intentAttachPointTypeFactory, + documentBuilderFactory, + transformerFactory, mapper, aggregatedDefinitions); compositeBuilder.build(composite); diff --git a/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java b/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java index b85b94f850..738e5e6248 100644 --- a/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java +++ b/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java @@ -24,8 +24,10 @@ import java.security.AccessController; import java.security.PrivilegedAction; import java.util.List; +import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; +import javax.xml.transform.TransformerFactory; import org.apache.tuscany.sca.assembly.AssemblyFactory; import org.apache.tuscany.sca.assembly.Composite; @@ -142,6 +144,8 @@ public class ReallySmallRuntimeBuilder { SCABindingFactory scaBindingFactory, EndpointFactory endpointFactory, IntentAttachPointTypeFactory intentAttachPointTypeFactory, + DocumentBuilderFactory documentBuilderFactory, + TransformerFactory transformerFactory, InterfaceContractMapper interfaceContractMapper, SCADefinitions policyDefinitions) { @@ -150,6 +154,8 @@ public class ReallySmallRuntimeBuilder { endpointFactory, scaBindingFactory, intentAttachPointTypeFactory, + documentBuilderFactory, + transformerFactory, interfaceContractMapper, policyDefinitions, monitor); @@ -211,7 +217,12 @@ public class ReallySmallRuntimeBuilder { // Create and register document processors for SCA assembly XML documentProcessors.getProcessor(Composite.class); - documentProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, validatingInputFactory, policyDefinitions, monitor)); + DocumentBuilderFactory documentBuilderFactory = AccessController.doPrivileged(new PrivilegedAction<DocumentBuilderFactory>() { + public DocumentBuilderFactory run() { + return DocumentBuilderFactory.newInstance(); + } + }); + documentProcessors.addArtifactProcessor(new CompositeDocumentProcessor(staxProcessor, validatingInputFactory, documentBuilderFactory, policyDefinitions, monitor)); // Create Model Resolver extension point ModelResolverExtensionPoint modelResolvers = registry.getExtensionPoint(ModelResolverExtensionPoint.class); |