You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2008/04/03 00:25:05 UTC

svn commit: r644089 - in /incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org: ./ apache/ apache/tuscany/ apache/tuscany/sca/ apache/tuscany/sca/policy/ apache/tuscany/sca/policy/security/ apache/tuscany/sca/policy/secu...

Author: lresende
Date: Wed Apr  2 15:24:56 2008
New Revision: 644089

URL: http://svn.apache.org/viewvc?rev=644089&view=rev
Log:
TUSCANY-2167 - Missing files from last commit

Added:
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/jaas/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java   (with props)
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java   (with props)
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java   (with props)
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java   (with props)
    incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java   (with props)

Added: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java?rev=644089&view=auto
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java (added)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java Wed Apr  2 15:24:56 2008
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.policy.security.ws;
+
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.xml.Constants;
+import org.apache.tuscany.sca.policy.Policy;
+
+/**
+ * Implementation for policies that could be injected as parameter
+ * into the axis2config.
+ */
+public class Axis2ConfigParamPolicy implements Policy {
+    public static final QName NAME = new QName(Constants.SCA10_TUSCANY_NS, "wsConfigParam");
+    private Map<String, OMElement> paramElements = new Hashtable<String, OMElement>();
+    
+    public Map<String, OMElement> getParamElements() {
+        return paramElements;
+    }
+
+    public QName getSchemaName() {
+        return NAME;
+    }
+
+    public boolean isUnresolved() {
+        return false;
+    }
+
+    public void setUnresolved(boolean unresolved) {
+    }
+}

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicy.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java?rev=644089&view=auto
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java (added)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java Wed Apr  2 15:24:56 2008
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.policy.security.ws;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.Parameter;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.util.PolicyHandler;
+
+
+/**
+ * Policy handler to handle PolicySet that contain Axis2ConfigParamPolicy instances
+ */
+public class Axis2ConfigParamPolicyHandler implements PolicyHandler {
+    private PolicySet applicablePolicySet = null;
+    
+    public void setUp(Object... context) {
+        Axis2ConfigParamPolicy axis2ConfigParamPolicy = null;
+        Parameter configParam = null;
+        for ( Object contextObject : context ) {
+            if ( contextObject instanceof ConfigurationContext ) {
+                ConfigurationContext configContext = (ConfigurationContext)contextObject;
+                for ( Object policy : applicablePolicySet.getPolicies() ) {
+                    if ( policy instanceof Axis2ConfigParamPolicy ) {
+                        axis2ConfigParamPolicy = (Axis2ConfigParamPolicy)policy;
+                        for ( String paramName : axis2ConfigParamPolicy.getParamElements().keySet() ) {
+                            configParam = new Parameter(paramName, 
+                                                        axis2ConfigParamPolicy.getParamElements().get(paramName).getFirstElement());
+                            configParam.setParameterElement(axis2ConfigParamPolicy.getParamElements().get(paramName));
+                            try {
+                                configContext.getAxisConfiguration().addParameter(configParam);
+                            } catch ( AxisFault e ) {
+                                throw new RuntimeException(e);
+                            }
+                        }
+                    } 
+                }
+            }
+        }
+    }
+    
+    public void cleanUp(Object... context) {
+    }
+    
+    public void beforeInvoke(Object... context) { 
+    }
+    
+    public void afterInvoke(Object... context) {
+        
+    }
+
+    public PolicySet getApplicablePolicySet() {
+        return applicablePolicySet;
+    }
+
+    public void setApplicablePolicySet(PolicySet applicablePolicySet) {
+        this.applicablePolicySet = applicablePolicySet;
+    }
+}

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyHandler.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java?rev=644089&view=auto
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java (added)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java Wed Apr  2 15:24:56 2008
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.policy.security.ws;
+
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.tuscany.sca.assembly.xml.Constants;
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+
+/**
+ * @author administrator
+ *
+ */
+public class Axis2ConfigParamPolicyProcessor implements StAXArtifactProcessor<Axis2ConfigParamPolicy> {
+    public static final QName AXIS2_CONFIG_PARAM_POLICY_QNAME = Axis2ConfigParamPolicy.NAME;
+    public static final String PARAMETER = "parameter";
+    public QName getArtifactType() {
+        return AXIS2_CONFIG_PARAM_POLICY_QNAME;
+    }
+    
+    public Axis2ConfigParamPolicyProcessor(ModelFactoryExtensionPoint modelFactories) {
+    }
+
+    public Axis2ConfigParamPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+        Axis2ConfigParamPolicy policy = new Axis2ConfigParamPolicy();
+        int event = reader.getEventType();
+        QName name = null;
+        OMElement parameterElement = null;
+        String paramName = null;
+        while (reader.hasNext()) {
+            event = reader.getEventType();
+            switch (event) {
+                case START_ELEMENT : {
+                    name = reader.getName();
+                    if ( PARAMETER.equals(name.getLocalPart()) ) {
+                        paramName = reader.getAttributeValue(null, Constants.NAME);
+                        parameterElement = loadElement(reader);
+                        policy.getParamElements().put(paramName, parameterElement);
+                    }
+                    break;
+                }
+            }
+            
+            if ( event == END_ELEMENT ) {
+                if ( AXIS2_CONFIG_PARAM_POLICY_QNAME.equals(reader.getName()) ) {
+                    break;
+                } 
+            }
+            
+            //Read the next element
+            if (reader.hasNext()) {
+                reader.next();
+            }
+        }
+         
+        return policy;
+    }
+
+    public void write(Axis2ConfigParamPolicy arg0, XMLStreamWriter arg1) throws ContributionWriteException,
+                                                        XMLStreamException {
+    }
+
+    public Class<Axis2ConfigParamPolicy> getModelType() {
+        return Axis2ConfigParamPolicy.class;
+    }
+
+    public void resolve(Axis2ConfigParamPolicy arg0, ModelResolver arg1) throws ContributionResolveException {
+
+    }
+    
+    private OMElement loadElement(XMLStreamReader reader) throws XMLStreamException {
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMElement head = fac.createOMElement(reader.getName());
+        OMElement current = head;
+        while (true) {
+            switch (reader.next()) {
+                case XMLStreamConstants.START_ELEMENT:
+                    //since the axis2 code checks against a no namespace we need to generate accordingly
+                    QName name = new QName(reader.getName().getLocalPart());
+                    OMElement child = fac.createOMElement(name, current);
+
+                    int count = reader.getNamespaceCount();
+                    for (int i = 0; i < count; i++) {
+                        String prefix = reader.getNamespacePrefix(i);
+                        String ns = reader.getNamespaceURI(i);
+                        child.declareNamespace(ns, prefix);
+                    }
+
+                    if(!"".equals(name.getNamespaceURI())) {
+                        child.declareNamespace(name.getNamespaceURI(), name.getPrefix());
+                    }
+
+                    // add the attributes for this element
+                    count = reader.getAttributeCount();
+                    for (int i = 0; i < count; i++) {
+                        String ns = reader.getAttributeNamespace(i);
+                        String prefix = reader.getAttributePrefix(i);
+                        String qname = reader.getAttributeLocalName(i);
+                        String value = reader.getAttributeValue(i);
+                        
+                        if (ns != null) {
+                            child.addAttribute(qname, value, fac.createOMNamespace(ns, prefix));
+                            child.declareNamespace(ns, prefix);
+                        } else {
+                            child.addAttribute(qname, value, null);
+                        }
+                    }
+                    current = child;
+                    break;
+                case XMLStreamConstants.CDATA:
+                    fac.createOMText(current, reader.getText());
+                    break;
+                case XMLStreamConstants.CHARACTERS:
+                    fac.createOMText(current, reader.getText());
+                    break;
+                case XMLStreamConstants.END_ELEMENT:
+                    if ( current == head ) {
+                        return head;
+                    } else {
+                        current = (OMElement)current.getParent();
+                    }
+            }
+        }
+    }
+}

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProcessor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java?rev=644089&view=auto
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java (added)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java Wed Apr  2 15:24:56 2008
@@ -0,0 +1,99 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+
+package org.apache.tuscany.sca.policy.security.ws;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.description.Parameter;
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.Implementation;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.provider.PolicyProvider;
+import org.apache.tuscany.sca.provider.PolicyProviderFactory;
+import org.apache.tuscany.sca.runtime.RuntimeComponent;
+import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
+import org.apache.tuscany.sca.runtime.RuntimeComponentService;
+import org.osoa.sca.ServiceRuntimeException;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class Axis2ConfigParamPolicyProviderFactory implements PolicyProviderFactory<Axis2ConfigParamPolicy> {
+
+    public Axis2ConfigParamPolicyProviderFactory(ExtensionPointRegistry registry) {
+        super();
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation)
+     */
+    public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) {
+        return null;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding)
+     */
+    public PolicyProvider createReferencePolicyProvider(RuntimeComponent component,
+                                                        RuntimeComponentReference reference,
+                                                        Binding binding) {
+        return null;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding)
+     */
+    public PolicyProvider createServicePolicyProvider(RuntimeComponent component,
+                                                      RuntimeComponentService service,
+                                                      Binding binding) {
+        return null;
+    }
+
+    /**
+     * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType()
+     */
+    public Class<Axis2ConfigParamPolicy> getModelType() {
+        return Axis2ConfigParamPolicy.class;
+    }
+
+    // FIXME: [rfeng] I think this should be refactored into the binding.ws axis2 code
+    public void setUp(ConfigurationContext configContext, PolicySet ps) {
+        Axis2ConfigParamPolicy axis2ConfigParamPolicy = null;
+        Parameter configParam = null;
+        for (Object policy : ps.getPolicies()) {
+            if (policy instanceof Axis2ConfigParamPolicy) {
+                axis2ConfigParamPolicy = (Axis2ConfigParamPolicy)policy;
+                for (String paramName : axis2ConfigParamPolicy.getParamElements().keySet()) {
+                    configParam =
+                        new Parameter(paramName, axis2ConfigParamPolicy.getParamElements().get(paramName)
+                            .getFirstElement());
+                    configParam.setParameterElement(axis2ConfigParamPolicy.getParamElements().get(paramName));
+                    try {
+                        configContext.getAxisConfiguration().addParameter(configParam);
+                    } catch (AxisFault e) {
+                        throw new ServiceRuntimeException(e);
+                    }
+                }
+            }
+        }
+    }
+
+}

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/Axis2ConfigParamPolicyProviderFactory.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java?rev=644089&view=auto
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java (added)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java Wed Apr  2 15:24:56 2008
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.    
+ */
+package org.apache.tuscany.sca.policy.security.ws;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.neethi.Policy;
+import org.apache.tuscany.sca.policy.PolicySet;
+import org.apache.tuscany.sca.policy.util.PolicyHandler;
+
+/**
+ * Policy handler to handle PolicySet containing Policy (WS-Security-Policy) instances
+ */
+public class WSSecurityPolicyHandler implements PolicyHandler {
+    private PolicySet applicablePolicySet = null;
+    
+    public void setUp(Object... context) {
+        for ( Object contextObject : context ) {
+            if ( contextObject instanceof ConfigurationContext ) {
+                ConfigurationContext configContext = (ConfigurationContext)contextObject;
+                for ( Object policy : applicablePolicySet.getPolicies() ) {
+                    if ( policy instanceof Policy ) {
+                        Policy wsPolicy = (Policy)policy;
+                        try {
+                            configContext.getAxisConfiguration().applyPolicy(wsPolicy);
+                        } catch ( AxisFault e ) {
+                            throw new RuntimeException(e);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    public void cleanUp(Object... context) {
+    }
+    
+    public void beforeInvoke(Object... context) { 
+        
+    }
+    
+    public void afterInvoke(Object... context) {
+        
+    }
+
+    public PolicySet getApplicablePolicySet() {
+        return applicablePolicySet;
+    }
+
+    public void setApplicablePolicySet(PolicySet applicablePolicySet) {
+        this.applicablePolicySet = applicablePolicySet;
+    }
+}

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/branches/sca-java-1.2/modules/policy-security-ws/src/main/java/org/apache/tuscany/sca/policy/security/ws/WSSecurityPolicyHandler.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org