From 4ae4002366ded3f4b19cd96f403d8b418fcf00a1 Mon Sep 17 00:00:00 2001 From: rfeng Date: Fri, 16 Oct 2009 05:42:26 +0000 Subject: This is to change the Monitor to be request scoped for most of the cases: Refactor the ArtifactProcessor/ModelResolver to take a ProcessorContext that holds context such as Monitor, Contribution for the contribution/artifact processing methods Refactor the Builder to take a BuilderContext that holds context such as Monitor, Definitions, Base binding mapping for the building methods Change the processor/resolver/builder implementation classes to not cache the Monitor git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@825773 13f79535-47bb-0310-9956-ffa450edef68 --- .../basic/BasicAuthenticationPolicyProcessor.java | 10 +++++----- .../authorization/AuthorizationPolicyProcessor.java | 15 +++++++-------- .../identity/SecurityIdentityPolicyProcessor.java | 15 +++++++-------- .../jaas/JaasAuthenticationPolicyProcessor.java | 18 +++++++++--------- .../sca/policy/security/PolicyProcessorTestCase.java | 15 ++++++++------- 5 files changed, 36 insertions(+), 37 deletions(-) (limited to 'java/sca/modules/policy-security') diff --git a/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java b/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java index 99a8508ba4..3df06c1e00 100644 --- a/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java +++ b/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java @@ -29,10 +29,10 @@ import javax.xml.stream.XMLStreamWriter; import org.apache.tuscany.sca.contribution.processor.ContributionReadException; import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.resolver.ModelResolver; import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; /** * @@ -45,11 +45,11 @@ public class BasicAuthenticationPolicyProcessor implements StAXArtifactProcessor return BasicAuthenticationPolicy.BASIC_AUTHENTICATION_POLICY_QNAME; } - public BasicAuthenticationPolicyProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) { + public BasicAuthenticationPolicyProcessor(FactoryExtensionPoint modelFactories) { } - public BasicAuthenticationPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { + public BasicAuthenticationPolicy read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException { BasicAuthenticationPolicy policy = new BasicAuthenticationPolicy(); int event = reader.getEventType(); QName name = null; @@ -85,7 +85,7 @@ public class BasicAuthenticationPolicyProcessor implements StAXArtifactProcessor return policy; } - public void write(BasicAuthenticationPolicy policy, XMLStreamWriter writer) + public void write(BasicAuthenticationPolicy policy, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException { String prefix = "tuscany"; writer.writeStartElement(prefix, @@ -116,7 +116,7 @@ public class BasicAuthenticationPolicyProcessor implements StAXArtifactProcessor return BasicAuthenticationPolicy.class; } - public void resolve(BasicAuthenticationPolicy arg0, ModelResolver arg1) throws ContributionResolveException { + public void resolve(BasicAuthenticationPolicy arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException { } diff --git a/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java b/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java index d78c0fc2e3..8a65a10560 100644 --- a/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java +++ b/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java @@ -31,6 +31,7 @@ import javax.xml.stream.XMLStreamWriter; import org.apache.tuscany.sca.contribution.processor.ContributionReadException; import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.resolver.ModelResolver; import org.apache.tuscany.sca.core.FactoryExtensionPoint; @@ -44,14 +45,12 @@ import org.apache.tuscany.sca.monitor.Problem.Severity; */ public class AuthorizationPolicyProcessor implements StAXArtifactProcessor { private static final String ROLES = "roles"; - private Monitor monitor; public QName getArtifactType() { return AuthorizationPolicy.NAME; } - public AuthorizationPolicyProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) { - this.monitor = monitor; + public AuthorizationPolicyProcessor(FactoryExtensionPoint modelFactories) { } /** @@ -61,14 +60,14 @@ public class AuthorizationPolicyProcessor implements StAXArtifactProcessor { private static final String ROLE = "role"; - private Monitor monitor; public QName getArtifactType() { return SecurityIdentityPolicy.NAME; } - public SecurityIdentityPolicyProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) { - this.monitor = monitor; + public SecurityIdentityPolicyProcessor(FactoryExtensionPoint modelFactories) { } /** @@ -59,14 +58,14 @@ public class SecurityIdentityPolicyProcessor implements StAXArtifactProcessor callbackClass = classReference.getJavaClass(); if (callbackClass == null) { - error("ClassNotFoundException", resolver, policy.getCallbackHandlerClassName()); + error(context.getMonitor(), "ClassNotFoundException", resolver, policy.getCallbackHandlerClassName()); //throw new ContributionResolveException(new ClassNotFoundException(policy.getCallbackHandlerClassName())); } else { policy.setCallbackHandlerClass(callbackClass); diff --git a/java/sca/modules/policy-security/src/test/java/org/apache/tuscany/sca/policy/security/PolicyProcessorTestCase.java b/java/sca/modules/policy-security/src/test/java/org/apache/tuscany/sca/policy/security/PolicyProcessorTestCase.java index a1b790dbb4..0d8a5d5a9c 100644 --- a/java/sca/modules/policy-security/src/test/java/org/apache/tuscany/sca/policy/security/PolicyProcessorTestCase.java +++ b/java/sca/modules/policy-security/src/test/java/org/apache/tuscany/sca/policy/security/PolicyProcessorTestCase.java @@ -31,6 +31,7 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamConstants; import javax.xml.stream.XMLStreamReader; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.policy.authorization.AuthorizationPolicy; import org.apache.tuscany.sca.policy.authorization.AuthorizationPolicyProcessor; @@ -59,12 +60,12 @@ public class PolicyProcessorTestCase { public void testRead() throws Exception { List results = new ArrayList(); Map processors = new HashMap(); - processors.put(AuthorizationPolicy.NAME, new AuthorizationPolicyProcessor(null,null)); - processors.put(SecurityIdentityPolicy.NAME, new SecurityIdentityPolicyProcessor(null,null)); - processors.put(new QName(SCA11_NS, "allow"), new AuthorizationPolicyProcessor(null,null)); - processors.put(new QName(SCA11_NS, "permitAll"), new AuthorizationPolicyProcessor(null,null)); - processors.put(new QName(SCA11_NS, "denyAll"), new AuthorizationPolicyProcessor(null,null)); - processors.put(new QName(SCA11_NS, "runAs"), new SecurityIdentityPolicyProcessor(null,null)); + processors.put(AuthorizationPolicy.NAME, new AuthorizationPolicyProcessor(null)); + processors.put(SecurityIdentityPolicy.NAME, new SecurityIdentityPolicyProcessor(null)); + processors.put(new QName(SCA11_NS, "allow"), new AuthorizationPolicyProcessor(null)); + processors.put(new QName(SCA11_NS, "permitAll"), new AuthorizationPolicyProcessor(null)); + processors.put(new QName(SCA11_NS, "denyAll"), new AuthorizationPolicyProcessor(null)); + processors.put(new QName(SCA11_NS, "runAs"), new SecurityIdentityPolicyProcessor(null)); InputStream is = getClass().getResourceAsStream("mock_policy_definitions.xml"); XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader reader = factory.createXMLStreamReader(is); @@ -73,7 +74,7 @@ public class PolicyProcessorTestCase { if (event == XMLStreamConstants.START_ELEMENT) { if ("policySet".equals(reader.getName().getLocalPart())) { reader.nextTag(); - results.add(processors.get(reader.getName()).read(reader).toString()); + results.add(processors.get(reader.getName()).read(reader, new ProcessorContext()).toString()); } } if (reader.hasNext()) { -- cgit v1.2.3