You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/08/26 17:43:32 UTC

svn commit: r689115 - in /cxf/branches/2.1.x-fixes: ./ api/src/main/java/org/apache/cxf/service/model/ api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/ rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ rt/ws/policy/src/test/java/org/apa...

Author: dkulp
Date: Tue Aug 26 08:43:31 2008
New Revision: 689115

URL: http://svn.apache.org/viewvc?rev=689115&view=rev
Log:
Merged revisions 688133 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r688133 | dkulp | 2008-08-22 13:43:16 -0400 (Fri, 22 Aug 2008) | 3 lines
  
  [CXF-1656] Updates to policy engine to store policies on the service model itself (so it get's garbage collected with everything else)
........

Modified:
    cxf/branches/2.1.x-fixes/   (props changed)
    cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/service/model/EndpointInfo.java
    cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java
    cxf/branches/2.1.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
    cxf/branches/2.1.x-fixes/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 26 08:43:31 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133

Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Aug 26 08:43:31 2008
@@ -1 +1 @@
-/cxf/trunk:1-686342,686344-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102
+/cxf/trunk:1-686342,686344-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133

Modified: cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/service/model/EndpointInfo.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/service/model/EndpointInfo.java?rev=689115&r1=689114&r2=689115&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/service/model/EndpointInfo.java (original)
+++ cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/service/model/EndpointInfo.java Tue Aug 26 08:43:31 2008
@@ -42,6 +42,7 @@
         service = serv;
     }
     
+    
     public String getTransportId() {
         return transportId;
     }    
@@ -54,6 +55,9 @@
         return service.getInterface();
     }
     
+    public void setService(ServiceInfo s) {
+        service = s;
+    }
     public ServiceInfo getService() {
         return service;
     }
@@ -128,8 +132,8 @@
     }
 
     public String toString() {
-        return "BindingQName=" + binding.getName()
-                + ", ServiceQName=" + binding.getService().getName()
+        return "BindingQName=" + (binding == null ? "" : (binding.getName()
+                + ", ServiceQName=" + (binding.getService() == null ? "" : binding.getService().getName())))
                 + ", QName=" + name;
     }
 }

Modified: cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java?rev=689115&r1=689114&r2=689115&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java (original)
+++ cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/ws/policy/builder/primitive/PrimitiveAssertion.java Tue Aug 26 08:43:31 2008
@@ -68,6 +68,9 @@
         }
     }
 
+    public String toString() {
+        return name.toString();
+    }
     public boolean equal(PolicyComponent policyComponent) {
         if (policyComponent.getType() != Constants.TYPE_ASSERTION) {
             return false;

Modified: cxf/branches/2.1.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java?rev=689115&r1=689114&r2=689115&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java (original)
+++ cxf/branches/2.1.x-fixes/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java Tue Aug 26 08:43:31 2008
@@ -20,15 +20,11 @@
 package org.apache.cxf.ws.policy;
 
 import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
 
 import javax.annotation.PostConstruct;
 import javax.xml.namespace.QName;
 
 import org.apache.cxf.Bus;
-import org.apache.cxf.endpoint.Server;
-import org.apache.cxf.endpoint.ServerLifeCycleListener;
-import org.apache.cxf.endpoint.ServerLifeCycleManager;
 import org.apache.cxf.extension.BusExtension;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.service.model.BindingFaultInfo;
@@ -49,8 +45,17 @@
 /**
  * 
  */
-public class PolicyEngineImpl implements PolicyEngine, BusExtension, ServerLifeCycleListener {
-
+public class PolicyEngineImpl implements PolicyEngine, BusExtension {
+    private static final String POLICY_INFO_REQUEST_SERVER = "policy-engine-info-serve-request";
+    private static final String POLICY_INFO_FAULT_SERVER = "policy-engine-info-serve-fault";
+    private static final String POLICY_INFO_RESPONSE_SERVER = "policy-engine-info-serve-response";
+    private static final String POLICY_INFO_ENDPOINT_SERVER = "policy-engine-info-serve-rendpoint";
+    
+    private static final String POLICY_INFO_REQUEST_CLIENT = "policy-engine-info-client-request";
+    private static final String POLICY_INFO_FAULT_CLIENT = "policy-engine-info-client-fault";
+    private static final String POLICY_INFO_RESPONSE_CLIENT = "policy-engine-info-client-response";
+    private static final String POLICY_INFO_ENDPOINT_CLIENT = "policy-engine-info-client-endpoint";
+    
     private Bus bus;
     private PolicyRegistry registry;
     private Collection<PolicyProvider> policyProviders;
@@ -59,14 +64,6 @@
     private boolean addedBusInterceptors;
     private AlternativeSelector alternativeSelector;
 
-    private Map<BindingOperation, EffectivePolicy> clientRequestInfo;
-    private Map<BindingOperation, EffectivePolicy> clientResponseInfo;
-    private Map<BindingFault, EffectivePolicy> clientFaultInfo;
-    private Map<BindingOperation, EffectivePolicy> serverRequestInfo;
-    private Map<BindingOperation, EffectivePolicy> serverResponseInfo;
-    private Map<BindingFault, EffectivePolicy> serverFaultInfo;
-    private Map<EndpointInfo, EndpointPolicy> serverEndpointInfo;
-    private Map<EndpointInfo, EndpointPolicy> clientEndpointInfo;
 
     public PolicyEngineImpl() { 
         init();
@@ -137,16 +134,15 @@
 
     public EffectivePolicy getEffectiveClientRequestPolicy(EndpointInfo ei, BindingOperationInfo boi, 
                                                            Conduit c) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        EffectivePolicy effectivePolicy = clientRequestInfo.get(bo);
+        EffectivePolicy effectivePolicy = (EffectivePolicy)boi.getProperty(POLICY_INFO_REQUEST_CLIENT);
         if (null == effectivePolicy) {
             EffectivePolicyImpl epi = createOutPolicyInfo();
             Assertor assertor = null;
             if (c instanceof Assertor) {
                 assertor = (Assertor)c;
             }
-            epi.initialise(ei, bo.getBindingOperation(), this, assertor, true);
-            clientRequestInfo.put(bo, epi);
+            epi.initialise(ei, boi, this, assertor, true);
+            boi.setProperty(POLICY_INFO_REQUEST_CLIENT, epi);
             effectivePolicy = epi;
         }
         return effectivePolicy;
@@ -154,22 +150,21 @@
 
     public void setEffectiveClientRequestPolicy(EndpointInfo ei, BindingOperationInfo boi, 
                                                 EffectivePolicy ep) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        clientRequestInfo.put(bo, ep);
+        boi.setProperty(POLICY_INFO_REQUEST_CLIENT, ep);
     }
 
-    public EffectivePolicy getEffectiveServerResponsePolicy(EndpointInfo ei, BindingOperationInfo boi,
+    public EffectivePolicy getEffectiveServerResponsePolicy(EndpointInfo ei,
+                                                            BindingOperationInfo boi,
                                                             Destination d) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        EffectivePolicy effectivePolicy = serverResponseInfo.get(bo);
+        EffectivePolicy effectivePolicy = (EffectivePolicy)boi.getProperty(POLICY_INFO_RESPONSE_SERVER);
         if (null == effectivePolicy) {
             EffectivePolicyImpl epi = createOutPolicyInfo();
             Assertor assertor = null;
             if (d instanceof Assertor) {
                 assertor = (Assertor)d;
             }
-            epi.initialise(ei, bo.getBindingOperation(), this, assertor, false);
-            serverResponseInfo.put(bo, epi);
+            epi.initialise(ei, boi, this, assertor, false);
+            boi.setProperty(POLICY_INFO_RESPONSE_SERVER, epi);
             effectivePolicy = epi;
         }
         return effectivePolicy;
@@ -177,14 +172,12 @@
 
     public void setEffectiveServerResponsePolicy(EndpointInfo ei, BindingOperationInfo boi, 
                                                  EffectivePolicy ep) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        serverResponseInfo.put(bo, ep);
+        boi.setProperty(POLICY_INFO_RESPONSE_SERVER, ep);
     }
   
     public EffectivePolicy getEffectiveServerFaultPolicy(EndpointInfo ei, BindingFaultInfo bfi, 
                                                          Destination d) {
-        BindingFault bf = new BindingFault(ei, bfi);
-        EffectivePolicy effectivePolicy = serverFaultInfo.get(bf);
+        EffectivePolicy effectivePolicy = (EffectivePolicy)bfi.getProperty(POLICY_INFO_FAULT_SERVER);
         if (null == effectivePolicy) {
             EffectivePolicyImpl epi = createOutPolicyInfo();
             Assertor assertor = null;
@@ -192,30 +185,33 @@
                 assertor = (Assertor)d;
             }
             epi.initialise(ei, bfi, this, assertor);
-            serverFaultInfo.put(bf, epi);
+            bfi.setProperty(POLICY_INFO_FAULT_SERVER, epi);
             effectivePolicy = epi;
         }
         return effectivePolicy;
     }
 
     public void setEffectiveServerFaultPolicy(EndpointInfo ei, BindingFaultInfo bfi, EffectivePolicy ep) {
-        BindingFault bf = new BindingFault(ei, bfi);
-        serverFaultInfo.put(bf, ep);
+        bfi.setProperty(POLICY_INFO_FAULT_SERVER, ep);
     }
 
     public EndpointPolicy getClientEndpointPolicy(EndpointInfo ei, Conduit conduit) {
         Assertor assertor = conduit instanceof Assertor ? (Assertor)conduit : null;
-        return getEndpointPolicy(ei, clientEndpointInfo.get(ei), true, assertor);
+        return getEndpointPolicy(ei, true, assertor);
     }
    
     public EndpointPolicy getServerEndpointPolicy(EndpointInfo ei, Destination destination) {
     
         Assertor assertor = destination instanceof Assertor ? (Assertor)destination : null;
-        return getEndpointPolicy(ei, serverEndpointInfo.get(ei), false, assertor);
+        return getEndpointPolicy(ei, false, assertor);
     }
 
     private EndpointPolicy getEndpointPolicy(
-        EndpointInfo ei, EndpointPolicy ep, boolean isRequestor, Assertor assertor) {
+        EndpointInfo ei, 
+        boolean isRequestor,
+        Assertor assertor) {
+        EndpointPolicy ep = (EndpointPolicy)ei.getProperty(isRequestor ? POLICY_INFO_ENDPOINT_CLIENT 
+                            : POLICY_INFO_ENDPOINT_SERVER);
         if (null != ep) {
             return ep; 
         }
@@ -223,20 +219,19 @@
     }
 
     public void setClientEndpointPolicy(EndpointInfo ei, EndpointPolicy ep) {
-        clientEndpointInfo.put(ei, ep);
+        ei.setProperty(POLICY_INFO_ENDPOINT_CLIENT, ep);
     }
 
     public void setServerEndpointPolicy(EndpointInfo ei, EndpointPolicy ep) {
-        serverEndpointInfo.put(ei, ep);
+        ei.setProperty(POLICY_INFO_ENDPOINT_SERVER, ep);
     }
 
     public EffectivePolicy getEffectiveServerRequestPolicy(EndpointInfo ei, BindingOperationInfo boi) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        EffectivePolicy effectivePolicy = serverRequestInfo.get(bo);
+        EffectivePolicy effectivePolicy = (EffectivePolicy)boi.getProperty(POLICY_INFO_REQUEST_SERVER);
         if (null == effectivePolicy) {
             EffectivePolicyImpl epi = createOutPolicyInfo();
-            epi.initialisePolicy(ei, bo.getBindingOperation(), this, false);
-            serverRequestInfo.put(bo, epi);
+            epi.initialisePolicy(ei, boi, this, false);
+            boi.setProperty(POLICY_INFO_REQUEST_SERVER, epi);
             effectivePolicy = epi;
         }
         return effectivePolicy;
@@ -244,17 +239,15 @@
 
     public void setEffectiveServerRequestPolicy(EndpointInfo ei, BindingOperationInfo boi, 
                                                 EffectivePolicy ep) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        serverRequestInfo.put(bo, ep);
+        boi.setProperty(POLICY_INFO_REQUEST_SERVER, ep);        
     }
 
     public EffectivePolicy getEffectiveClientResponsePolicy(EndpointInfo ei, BindingOperationInfo boi) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        EffectivePolicy effectivePolicy = clientResponseInfo.get(bo);
+        EffectivePolicy effectivePolicy = (EffectivePolicy)boi.getProperty(POLICY_INFO_RESPONSE_CLIENT);
         if (null == effectivePolicy) {
             EffectivePolicyImpl epi = createOutPolicyInfo();
-            epi.initialisePolicy(ei, bo.getBindingOperation(), this, true);        
-            clientResponseInfo.put(bo, epi);
+            epi.initialisePolicy(ei, boi, this, true);        
+            boi.setProperty(POLICY_INFO_RESPONSE_CLIENT, epi);
             effectivePolicy = epi;
         }
         return effectivePolicy;
@@ -262,55 +255,29 @@
 
     public void setEffectiveClientResponsePolicy(EndpointInfo ei, BindingOperationInfo boi, 
                                                  EffectivePolicy ep) {
-        BindingOperation bo = new BindingOperation(ei, boi);
-        clientResponseInfo.put(bo, ep);
+        boi.setProperty(POLICY_INFO_RESPONSE_CLIENT, ep);
     }
 
     public EffectivePolicy getEffectiveClientFaultPolicy(EndpointInfo ei, BindingFaultInfo bfi) {
-        BindingFault bf = new BindingFault(ei, bfi);
-        EffectivePolicy effectivePolicy = clientFaultInfo.get(bf);
+        EffectivePolicy effectivePolicy = (EffectivePolicy)bfi.getProperty(POLICY_INFO_FAULT_CLIENT);
         if (null == effectivePolicy) {
             EffectivePolicyImpl epi = createOutPolicyInfo();
             epi.initialisePolicy(ei, bfi, this);
-            clientFaultInfo.put(bf, epi);
+            bfi.setProperty(POLICY_INFO_FAULT_CLIENT, epi);
             effectivePolicy = epi;
         }
         return effectivePolicy;
     }
 
     public void setEffectiveClientFaultPolicy(EndpointInfo ei, BindingFaultInfo bfi, EffectivePolicy ep) {
-        BindingFault bf = new BindingFault(ei, bfi);
-        clientFaultInfo.put(bf, ep);
+        bfi.setProperty(POLICY_INFO_FAULT_CLIENT, ep);
     }
 
     // implementation
 
     protected final void init() {
-    
         registry = new PolicyRegistryImpl();
-    
-        clientRequestInfo 
-            = new ConcurrentHashMap<BindingOperation, EffectivePolicy>();
-
-        clientResponseInfo 
-            = new ConcurrentHashMap<BindingOperation, EffectivePolicy>();
-
-        clientFaultInfo 
-            = new ConcurrentHashMap<BindingFault, EffectivePolicy>();
-
-        serverEndpointInfo 
-            = new EndpointPolicyMap();
-        clientEndpointInfo 
-            = new EndpointPolicyMap();
-
-        serverRequestInfo 
-            = new ConcurrentHashMap<BindingOperation, EffectivePolicy>();
 
-        serverResponseInfo 
-            = new ConcurrentHashMap<BindingOperation, EffectivePolicy>();
-
-        serverFaultInfo 
-            = new ConcurrentHashMap<BindingFault, EffectivePolicy>();    
     }
 
 
@@ -364,14 +331,6 @@
         addedBusInterceptors = true;
     }  
 
-    @PostConstruct
-    public void registerListener() {
-        ServerLifeCycleManager slm = bus.getExtension(ServerLifeCycleManager.class);
-        if (slm != null) {
-            slm.registerListener(this);
-        }
-    }
-
     Policy getAggregatedServicePolicy(ServiceInfo si) {
         Policy aggregated = null;
         for (PolicyProvider pp : getPolicyProviders()) {
@@ -500,13 +459,12 @@
         return vocabulary;
     } 
 
-    EndpointPolicyImpl createEndpointPolicyInfo(EndpointInfo ei, boolean isRequestor, Assertor assertor) {
+    EndpointPolicyImpl createEndpointPolicyInfo(EndpointInfo ei, 
+                                                boolean isRequestor, 
+                                                Assertor assertor) {
         EndpointPolicyImpl epi = new EndpointPolicyImpl(ei, this, isRequestor, assertor);
         epi.initialize();
-    
-        Map<EndpointInfo, EndpointPolicy> map = isRequestor ? clientEndpointInfo : serverEndpointInfo;
-        map.put(ei, epi);
-
+        ei.setProperty(isRequestor ? POLICY_INFO_ENDPOINT_CLIENT : POLICY_INFO_ENDPOINT_SERVER, epi);
         return epi;
     }
 
@@ -534,160 +492,11 @@
         return true;
     }
 
-    public void startServer(Server server) {
-        // empty
-    }
-
-    /**
-     * Callback recieved while the server side endpoint is being undeployed.
-     *
-     * @param server
-     */
-    public void stopServer(Server server) {
-        EndpointInfo ei = server.getEndpoint().getEndpointInfo();
-        serverEndpointInfo.remove(ei);
-        clientEndpointInfo.remove(ei);
-
-        /**
-         * While cleaning up the entries of requestInfo's, responseInfo's and faultInfo's map, we create
-         * a temperory Set with all the keys. Later we iterate over the keys of this temp set,
-         * and if it's same as that of the endpoint being undeployed, we remove the corresponding
-         * entries from the client and server maps.
-         */
-
-        cleanupBindingOperations(ei, new HashSet<BindingOperation>(clientRequestInfo.keySet()),
-                clientRequestInfo);
-        cleanupBindingOperations(ei, new HashSet<BindingOperation>(clientResponseInfo.keySet()),
-                clientResponseInfo);
-
-        cleanupBindingOperations(ei, new HashSet<BindingOperation>(serverRequestInfo.keySet()),
-                serverRequestInfo);
-        cleanupBindingOperations(ei, new HashSet<BindingOperation>(serverResponseInfo.keySet()),
-                serverResponseInfo);
-
-        cleanupBindingFaults(ei, new HashSet<BindingFault>(clientFaultInfo.keySet()),
-                clientFaultInfo);
-        cleanupBindingFaults(ei, new HashSet<BindingFault>(serverFaultInfo.keySet()),
-                serverFaultInfo);
-    }
-
-    private void cleanupBindingOperations(EndpointInfo ei,
-                                          Set<BindingOperation> bindingOperations,
-                                          Map<BindingOperation, EffectivePolicy> originalMap) {
-        
-        Iterator<BindingOperation> bindingOpsItr = bindingOperations.iterator();
-        while (bindingOpsItr.hasNext()) {
-            BindingOperation bindingOperation = bindingOpsItr.next();
-            if (ei.isSameAs(bindingOperation.getEndpoint())) {
-                originalMap.remove(bindingOperation);
-            }
-        }
-    }
-
-    private void cleanupBindingFaults(EndpointInfo ei, Set <BindingFault> bindingFaults,
-                                      Map<BindingFault, EffectivePolicy> originalMap) {
-        Iterator<BindingFault> bindingFaultsItr = bindingFaults.iterator();
-        while (bindingFaultsItr.hasNext()) {
-            BindingFault bindingFault = bindingFaultsItr.next();
-            if (ei.isSameAs(bindingFault.getEndpoint())) {
-                originalMap.remove(bindingFault);
-            }
-        }
-    }
-    /**
-     * Class used as key in the client request policy and server response policy maps.
-     */
-    class BindingOperation {
-        private EndpointInfo ei;
-        private BindingOperationInfo boi;
-    
-        BindingOperation(EndpointInfo e, BindingOperationInfo b) {
-            ei = e;
-            boi = b.isUnwrapped() ? b.getWrappedOperation() : b;
-        }
-    
-        EndpointInfo getEndpoint() {
-            return ei;
-        }
-    
-        BindingOperationInfo getBindingOperation() {
-            return boi;
-        }
-
-        @Override
-        public int hashCode() {
-            return boi.hashCode();
-        }
-
-        @Override
-        public boolean equals(Object obj) {
-            BindingOperation other = (BindingOperation)obj;
-            return boi.equals(other.boi) && ei.equals(other.ei);
-        }
-    
-        @Override
-        public String toString() {
-            return ei.getName().toString() + "." + boi.getName().toString();
-        }
-    
-    
-    }
-
-    /**
-     * Class used as key in the server fault policy map.
-     */
-    class BindingFault {
-        private EndpointInfo ei;
-        private BindingFaultInfo bfi;
-    
-        BindingFault(EndpointInfo e, BindingFaultInfo b) {
-            ei = e;
-            bfi = b;
-        }
-    
-        EndpointInfo getEndpoint() {
-            return ei;
-        }
-    
-        BindingFaultInfo getBindingFault() {
-            return bfi;
-        }
-    
-        @Override
-        public int hashCode() {
-            return bfi.hashCode();
-        }
-    
-        @Override
-        public boolean equals(Object obj) {
-            BindingFault other = (BindingFault)obj;
-            return bfi.equals(other.bfi) && ei.equals(other.ei);
-        }
-    
-        @Override
-        public String toString() {
-            return ei.getName().toString() + "." + bfi.getFaultInfo().toString();
-        }
-    }
 
     // for test
-
     EffectivePolicyImpl createOutPolicyInfo() {
         return new EffectivePolicyImpl();
     }
     
-    private class EndpointPolicyMap extends ConcurrentHashMap<EndpointInfo, EndpointPolicy> {
-        public EndpointPolicy remove(Object key) {
-            EndpointInfo toRemove = (EndpointInfo) key;
-            EndpointPolicy pol = null;
-            for (EndpointInfo info : keySet()) {
-                if (info.isSameAs(toRemove)) {
-                    pol = super.remove(info);
-                }
-            }
-            return pol;
-        }
-    }
-
 
 }

Modified: cxf/branches/2.1.x-fixes/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java?rev=689115&r1=689114&r2=689115&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java (original)
+++ cxf/branches/2.1.x-fixes/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java Tue Aug 26 08:43:31 2008
@@ -66,8 +66,22 @@
         control = EasyMock.createNiceControl(); 
     } 
     
+    private EndpointInfo createMockEndpointInfo() throws Exception {
+        EndpointInfo ei = new EndpointInfo();
+        ei.setName(new QName("mock", "mock"));
+        return ei;
+    }
+    private BindingOperationInfo createMockBindingOperationInfo() throws Exception {
+        BindingOperationInfo boi = new BindingOperationInfo() {
+            public boolean isUnwrapped() {
+                return false;
+            }
+        };
+        return boi;
+    }
+    
     @Test
-    public void testAccessors() {
+    public void testAccessors() throws Exception {
         engine = new PolicyEngineImpl();
         assertNotNull(engine.getRegistry());
         assertNull(engine.getBus());
@@ -94,12 +108,12 @@
     }
     
     @Test
-    public void testGetEffectiveClientRequestPolicy() throws NoSuchMethodException {
+    public void testGetEffectiveClientRequestPolicy() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class); 
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo(); 
         AssertingConduit conduit = control.createMock(AssertingConduit.class);
         EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class);
         EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi);
@@ -112,11 +126,10 @@
     }
     
     @Test 
-    public void testSetEffectiveClientRequestPolicy() {
+    public void testSetEffectiveClientRequestPolicy() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
-        EasyMock.expect(boi.isUnwrapped()).andReturn(false).times(2);
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo();
         EffectivePolicy effectivePolicy = control.createMock(EffectivePolicy.class);
         control.replay();
         engine.setEffectiveClientRequestPolicy(ei, boi, effectivePolicy);
@@ -126,12 +139,12 @@
     }
     
     @Test
-    public void testGetEffectiveServerResponsePolicy() throws NoSuchMethodException {
+    public void testGetEffectiveServerResponsePolicy() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class); 
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo(); 
         AssertingDestination destination = control.createMock(AssertingDestination.class);
         EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class);
         EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi);
@@ -144,11 +157,10 @@
     }
     
     @Test
-    public void testSetEffectiveServerResponsePolicy() {
+    public void testSetEffectiveServerResponsePolicy() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
-        EasyMock.expect(boi.isUnwrapped()).andReturn(false).times(2);
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo();
         EffectivePolicy effectivePolicy = control.createMock(EffectivePolicy.class);
         control.replay();
         engine.setEffectiveServerResponsePolicy(ei, boi, effectivePolicy);
@@ -158,12 +170,12 @@
     }
    
     @Test
-    public void testGetEffectiveServerFaultPolicy() throws NoSuchMethodException {
+    public void testGetEffectiveServerFaultPolicy() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class); 
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingFaultInfo bfi = new BindingFaultInfo(null, null); 
         AssertingDestination destination = control.createMock(AssertingDestination.class);
         EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class);
         EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi);
@@ -176,22 +188,22 @@
     }
     
     @Test
-    public void testSetEffectiveServerFaultPolicy() {
+    public void testSetEffectiveServerFaultPolicy() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingFaultInfo bfi = new BindingFaultInfo(null, null); 
         EffectivePolicy epi = control.createMock(EffectivePolicy.class);
         engine.setEffectiveServerFaultPolicy(ei, bfi, epi);
         assertSame(epi, engine.getEffectiveServerFaultPolicy(ei, bfi, (Destination)null));   
     }
        
     @Test
-    public void testGetEffectiveServerRequestPolicyInfo() throws NoSuchMethodException {
+    public void testGetEffectiveServerRequestPolicyInfo() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class); 
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo(); 
         EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class);
         EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi);
         epi.initialisePolicy(ei, boi, engine, false);
@@ -203,11 +215,10 @@
     }
     
     @Test 
-    public void testSetEffectiveServerRequestPolicy() {
+    public void testSetEffectiveServerRequestPolicy() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
-        EasyMock.expect(boi.isUnwrapped()).andReturn(false).times(2);
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo();
         EffectivePolicy effectivePolicy = control.createMock(EffectivePolicy.class);
         control.replay();
         engine.setEffectiveServerRequestPolicy(ei, boi, effectivePolicy);
@@ -216,12 +227,12 @@
     }
     
     @Test
-    public void testGetEffectiveClientResponsePolicy() throws NoSuchMethodException {
+    public void testGetEffectiveClientResponsePolicy() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class); 
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo(); 
         EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class);
         EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi);
         epi.initialisePolicy(ei, boi, engine, true);
@@ -233,11 +244,10 @@
     }
     
     @Test 
-    public void testSetEffectiveClientResponsePolicy() {
+    public void testSetEffectiveClientResponsePolicy() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
-        EasyMock.expect(boi.isUnwrapped()).andReturn(false).times(2);
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingOperationInfo boi = createMockBindingOperationInfo();
         EffectivePolicy epi = control.createMock(EffectivePolicy.class);
         control.replay();
         engine.setEffectiveClientResponsePolicy(ei, boi, epi);
@@ -246,12 +256,12 @@
     }
     
     @Test
-    public void testGetEffectiveClientFaultPolicy() throws NoSuchMethodException {
+    public void testGetEffectiveClientFaultPolicy() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createOutPolicyInfo", new Class[] {});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class); 
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingFaultInfo bfi = new BindingFaultInfo(null, null); 
         EffectivePolicyImpl epi = control.createMock(EffectivePolicyImpl.class);
         EasyMock.expect(engine.createOutPolicyInfo()).andReturn(epi);
         epi.initialisePolicy(ei, bfi, engine);
@@ -263,22 +273,22 @@
     }
     
     @Test 
-    public void testSetEffectiveClientFaultPolicy() {
+    public void testSetEffectiveClientFaultPolicy() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
+        BindingFaultInfo bfi = new BindingFaultInfo(null, null); 
         EffectivePolicy epi = control.createMock(EffectivePolicy.class);
         engine.setEffectiveClientFaultPolicy(ei, bfi, epi);
         assertSame(epi, engine.getEffectiveClientFaultPolicy(ei, bfi));        
     }
     
     @Test
-    public void testGetEndpointPolicyClientSide() throws NoSuchMethodException {
+    public void testGetEndpointPolicyClientSide() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createEndpointPolicyInfo", 
             new Class[] {EndpointInfo.class, boolean.class, Assertor.class});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
         AssertingConduit conduit = control.createMock(AssertingConduit.class);
         EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class);
         EasyMock.expect(engine.createEndpointPolicyInfo(ei, true, conduit)).andReturn(epi);
@@ -288,12 +298,12 @@
     }
     
     @Test
-    public void testGetEndpointPolicyServerSide() throws NoSuchMethodException {
+    public void testGetEndpointPolicyServerSide() throws Exception {
         Method m = PolicyEngineImpl.class.getDeclaredMethod("createEndpointPolicyInfo", 
             new Class[] {EndpointInfo.class, boolean.class, Assertor.class});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
         AssertingDestination destination = control.createMock(AssertingDestination.class);
         EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class);
         EasyMock.expect(engine.createEndpointPolicyInfo(ei, false, destination)).andReturn(epi);
@@ -303,12 +313,12 @@
     }
     
     @Test
-    public void testCreateEndpointPolicyInfo() throws NoSuchMethodException {
+    public void testCreateEndpointPolicyInfo() throws Exception {
         Method m1 = PolicyEngineImpl.class.getDeclaredMethod("createEndpointPolicyInfo", 
             new Class[] {EndpointInfo.class, boolean.class, Assertor.class});
         engine = control.createMock(PolicyEngineImpl.class, new Method[] {m1});
         engine.init();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
         Assertor assertor = control.createMock(Assertor.class);
         EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class);
         EasyMock.expect(engine.createEndpointPolicyInfo(ei, false, assertor)).andReturn(epi);
@@ -318,12 +328,11 @@
     }
     
     @Test
-    public void testEndpointPolicyWithEqualPolicies() {
+    public void testEndpointPolicyWithEqualPolicies() throws Exception {
         engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
         ServiceInfo si = control.createMock(ServiceInfo.class);
-        ei.getService();
-        EasyMock.expectLastCall().andReturn(si).times(2);
+        ei.setService(si);
         si.getExtensor(Policy.class);
         EasyMock.expectLastCall().andReturn(null).times(2);
         EndpointPolicyImpl epi = control.createMock(EndpointPolicyImpl.class);
@@ -335,8 +344,7 @@
         assertSame(epi, engine.getServerEndpointPolicy(ei, (Destination)null));
         
         control.reset();
-        ei.getService();
-        EasyMock.expectLastCall().andReturn(si).times(2);
+        ei.setService(si);
         Policy p = new Policy();
         si.getExtensor(Policy.class);
         EasyMock.expectLastCall().andReturn(p).times(2);
@@ -444,11 +452,11 @@
     }
     
     @Test
-    public void testGetAggregatedEndpointPolicy() {
+    public void testGetAggregatedEndpointPolicy() throws Exception {
         engine = new PolicyEngineImpl();
         List<PolicyProvider> providers = new ArrayList<PolicyProvider>();
         engine.setPolicyProviders(providers);
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
+        EndpointInfo ei = createMockEndpointInfo();
         
         control.replay();
         Policy p = engine.getAggregatedEndpointPolicy(ei);
@@ -480,11 +488,11 @@
     }
     
     @Test
-    public void testGetAggregatedOperationPolicy() {
+    public void testGetAggregatedOperationPolicy() throws Exception {
         engine = new PolicyEngineImpl();
         List<PolicyProvider> providers = new ArrayList<PolicyProvider>();
         engine.setPolicyProviders(providers);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+        BindingOperationInfo boi = createMockBindingOperationInfo();
         
         control.replay();
         Policy p = engine.getAggregatedOperationPolicy(boi);
@@ -660,32 +668,7 @@
         assertEquals(1, assertions.size());
         assertSame(a, assertions.iterator().next());       
     }
-    
-    @Test
-    public void testKeys() {
-        engine = new PolicyEngineImpl();
-        EndpointInfo ei = control.createMock(EndpointInfo.class);
-        BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);      
-        BindingFaultInfo bfi = control.createMock(BindingFaultInfo.class);  
-        control.replay();
-        
-        PolicyEngineImpl.BindingOperation bo = engine.new BindingOperation(ei, boi); 
-        assertNotNull(bo);
-        PolicyEngineImpl.BindingOperation bo2 = engine.new BindingOperation(ei, boi);
-        assertEquals(bo, bo2);
-        assertEquals(bo.hashCode(), bo2.hashCode());
-                  
-        PolicyEngineImpl.BindingFault bf = engine.new BindingFault(ei, bfi);
-        assertNotNull(bf);
-        PolicyEngineImpl.BindingFault bf2 = engine.new BindingFault(ei, bfi);
-        assertEquals(bf, bf2);
-        assertEquals(bf.hashCode(), bf2.hashCode());
-              
-        control.verify();
-    }
-    
-    
-    
+        
     private Set<String> getInterceptorIds(List<Interceptor> interceptors) {
         Set<String> ids = new HashSet<String>();
         for (Interceptor i : interceptors) {