You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2013/09/10 15:46:03 UTC

svn commit: r1521483 - in /cxf/branches/2.7.x-fixes: ./ services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/client/ services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/ services/xkms/xkms-common/src/main/java/org/apache/cxf/...

Author: cschneider
Date: Tue Sep 10 13:46:02 2013
New Revision: 1521483

URL: http://svn.apache.org/r1521483
Log:
CXF-5259 Allow to create crypto provider without fallback. Separate factory for client from XKMSInvoker

Added:
    cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/client/XKMSClientFactory.java
      - copied unchanged from r1521479, cxf/trunk/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/client/XKMSClientFactory.java
    cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XKMSInvoker.java
      - copied unchanged from r1521479, cxf/trunk/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XKMSInvoker.java
Removed:
    cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/client/XKMSInvoker.java
Modified:
    cxf/branches/2.7.x-fixes/   (props changed)
    cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/CryptoProviderUtils.java
    cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProvider.java
    cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProviderFactory.java
    cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/crypto/CryptoProviderFactory.java
    cxf/branches/2.7.x-fixes/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/xkms/client.xml

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/trunk:r1521479

Modified: cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/CryptoProviderUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/CryptoProviderUtils.java?rev=1521483&r1=1521482&r2=1521483&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/CryptoProviderUtils.java (original)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/CryptoProviderUtils.java Tue Sep 10 13:46:02 2013
@@ -35,7 +35,7 @@ import org.apache.cxf.xkms.crypto.Crypto
 import org.apache.ws.security.WSPasswordCallback;
 import org.apache.ws.security.components.crypto.Merlin;
 
-public final class CryptoProviderUtils {
+final class CryptoProviderUtils {
 
     private CryptoProviderUtils() {
     }

Modified: cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProvider.java?rev=1521483&r1=1521482&r2=1521483&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProvider.java (original)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProvider.java Tue Sep 10 13:46:02 2013
@@ -32,7 +32,6 @@ import org.apache.cxf.common.logging.Log
 import org.apache.cxf.xkms.cache.EHCacheXKMSClientCache;
 import org.apache.cxf.xkms.cache.XKMSCacheToken;
 import org.apache.cxf.xkms.cache.XKMSClientCache;
-import org.apache.cxf.xkms.client.XKMSInvoker;
 import org.apache.cxf.xkms.crypto.CryptoProviderException;
 import org.apache.cxf.xkms.handlers.Applications;
 import org.apache.ws.security.WSSecurityException;
@@ -42,7 +41,7 @@ import org.apache.ws.security.components
 import org.apache.ws.security.components.crypto.CryptoType.TYPE;
 import org.w3._2002._03.xkms_wsdl.XKMSPortType;
 
-public class XkmsCryptoProvider extends CryptoBase {
+class XkmsCryptoProvider extends CryptoBase {
 
     private static final Logger LOG = LogUtils.getL7dLogger(XkmsCryptoProvider.class);
 
@@ -67,23 +66,6 @@ public class XkmsCryptoProvider extends 
         this.xkmsClientCache = xkmsClientCache;
     }
     
-    public XkmsCryptoProvider(XKMSInvoker xkmsInvoker) {
-        this(xkmsInvoker, null);
-    }
-    
-    public XkmsCryptoProvider(XKMSInvoker xkmsInvoker, Crypto defaultCrypto) {
-        this(xkmsInvoker, defaultCrypto, new EHCacheXKMSClientCache());
-    }
-    
-    public XkmsCryptoProvider(XKMSInvoker xkmsInvoker, Crypto defaultCrypto, XKMSClientCache xkmsClientCache) {
-        if (xkmsInvoker == null) {
-            throw new IllegalArgumentException("xkmsInvoker may not be null");
-        }
-        this.xkmsInvoker = xkmsInvoker;
-        this.defaultCrypto = defaultCrypto;
-        this.xkmsClientCache = xkmsClientCache;
-    }
-    
     @Override
     public X509Certificate[] getX509Certificates(CryptoType cryptoType) throws WSSecurityException {
         if (LOG.isLoggable(Level.INFO)) {

Modified: cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProviderFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProviderFactory.java?rev=1521483&r1=1521482&r2=1521483&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProviderFactory.java (original)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-client/src/main/java/org/apache/cxf/xkms/crypto/impl/XkmsCryptoProviderFactory.java Tue Sep 10 13:46:02 2013
@@ -30,6 +30,10 @@ import org.apache.ws.security.components
 import org.apache.ws.security.components.crypto.CryptoFactory;
 import org.w3._2002._03.xkms_wsdl.XKMSPortType;
 
+/**
+ * For usage in OSGi this factory will be published as a service.
+ * Outside OSGi it can be used directly 
+ */
 public class XkmsCryptoProviderFactory implements CryptoProviderFactory {
     
     private final XKMSPortType xkmsConsumer;
@@ -50,4 +54,8 @@ public class XkmsCryptoProviderFactory i
                                               + e.getMessage(), e);
         }
     }
+
+    public Crypto create() {
+        return new XkmsCryptoProvider(xkmsConsumer);
+    }
 }

Modified: cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/crypto/CryptoProviderFactory.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/crypto/CryptoProviderFactory.java?rev=1521483&r1=1521482&r2=1521483&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/crypto/CryptoProviderFactory.java (original)
+++ cxf/branches/2.7.x-fixes/services/xkms/xkms-common/src/main/java/org/apache/cxf/xkms/crypto/CryptoProviderFactory.java Tue Sep 10 13:46:02 2013
@@ -24,6 +24,18 @@ import org.apache.ws.security.components
 
 public interface CryptoProviderFactory {
 
+    /**
+     * Create with merlin fallback settings retrieved from cxf message
+     * @param message
+     * @return
+     */
     Crypto create(Message message);
 
+    /**
+     * Create without fallback crypto 
+     * 
+     * @param cryptoProperties
+     * @return xkms crypto
+     */
+    Crypto create();
 }

Modified: cxf/branches/2.7.x-fixes/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/xkms/client.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/xkms/client.xml?rev=1521483&r1=1521482&r2=1521483&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/xkms/client.xml (original)
+++ cxf/branches/2.7.x-fixes/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/xkms/client.xml Tue Sep 10 13:46:02 2013
@@ -60,7 +60,7 @@
     </jaxws:client>
     -->
     
-    <bean id="xkmsInvoker" class="org.apache.cxf.xkms.client.XKMSInvoker">
+    <bean id="xkmsClient" class="org.apache.cxf.xkms.client.XKMSClientFactory" factory-method="create">
         <constructor-arg>
             <value>https://localhost:${testutil.ports.XKMSServer}/XKMS</value>
         </constructor-arg>
@@ -69,8 +69,7 @@
     
     <bean id="xkmsCrypto" class="org.apache.cxf.xkms.crypto.impl.XkmsCryptoProvider">
         <constructor-arg>
-            <!-- <ref bean="xkmsClient" /> -->
-            <ref bean="xkmsInvoker" />
+            <ref bean="xkmsClient" />
         </constructor-arg>
     </bean>
     
@@ -94,8 +93,7 @@
     
     <bean id="xkmsAsymmetricCrypto" class="org.apache.cxf.xkms.crypto.impl.XkmsCryptoProvider">
         <constructor-arg>
-            <!-- <ref bean="xkmsClient" /> -->
-            <ref bean="xkmsInvoker" />
+            <ref bean="xkmsClient" />
         </constructor-arg>
         <constructor-arg>
              <ref bean="crypto" />