You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2014/03/17 12:48:45 UTC

svn commit: r1578321 - in /cayenne/main/trunk/cayenne-crypto/src: main/java/org/apache/cayenne/crypto/ main/java/org/apache/cayenne/crypto/batch/ main/java/org/apache/cayenne/crypto/cipher/ test/java/org/apache/cayenne/crypto/ test/java/org/apache/caye...

Author: aadamchik
Date: Mon Mar 17 11:48:44 2014
New Revision: 1578321

URL: http://svn.apache.org/r1578321
Log:
CAY-1916 cayenne-crypto module that enables data encryption for certain model attributes

renaming CipherService to CryptoHandler

Added:
    cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CryptoHandler.java
      - copied, changed from r1578320, cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CipherService.java
Removed:
    cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CipherService.java
Modified:
    cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleBuilder.java
    cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/batch/CryptoBatchTranslatorFactoryDecorator.java
    cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Crypto_InRuntime_Test.java
    cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/unit/Rot13CipherService.java

Modified: cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleBuilder.java?rev=1578321&r1=1578320&r2=1578321&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleBuilder.java (original)
+++ cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleBuilder.java Mon Mar 17 11:48:44 2014
@@ -20,7 +20,8 @@ package org.apache.cayenne.crypto;
 
 import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
 import org.apache.cayenne.crypto.batch.CryptoBatchTranslatorFactoryDecorator;
-import org.apache.cayenne.crypto.cipher.CipherService;
+import org.apache.cayenne.crypto.cipher.CryptoHandler;
+import org.apache.cayenne.crypto.map.ColumnMapper;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.Module;
 
@@ -34,24 +35,33 @@ import org.apache.cayenne.di.Module;
  */
 public class CryptoModuleBuilder {
 
-    private Class<? extends CipherService> cipherServiceType;
+    private Class<? extends CryptoHandler> cryptoHandlerType;
+    private Class<? extends ColumnMapper> columnMapperType;
 
-    public CryptoModuleBuilder cipherService(Class<? extends CipherService> cipherServiceType) {
-        this.cipherServiceType = cipherServiceType;
+    public CryptoModuleBuilder cryptoHandler(Class<? extends CryptoHandler> cryptoHandlerType) {
+        this.cryptoHandlerType = cryptoHandlerType;
         return this;
     }
 
+    /**
+     * Produces a module that can be used to start Cayenne runtime.
+     */
     public Module build() {
 
-        if (cipherServiceType == null) {
-            throw new IllegalStateException("'CipherService' is not initialized");
+        if (cryptoHandlerType == null) {
+            throw new IllegalStateException("'CryptoHandler' is not initialized");
+        }
+
+        if (columnMapperType == null) {
+            throw new IllegalStateException("'ColumnMapper' is not initialized");
         }
 
         return new Module() {
 
             @Override
             public void configure(Binder binder) {
-                binder.bind(CipherService.class).to(cipherServiceType);
+                binder.bind(CryptoHandler.class).to(cryptoHandlerType);
+                binder.bind(ColumnMapper.class).to(columnMapperType);
                 binder.decorate(BatchTranslatorFactory.class).after(CryptoBatchTranslatorFactoryDecorator.class);
             }
         };

Modified: cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/batch/CryptoBatchTranslatorFactoryDecorator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/batch/CryptoBatchTranslatorFactoryDecorator.java?rev=1578321&r1=1578320&r2=1578321&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/batch/CryptoBatchTranslatorFactoryDecorator.java (original)
+++ cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/batch/CryptoBatchTranslatorFactoryDecorator.java Mon Mar 17 11:48:44 2014
@@ -24,7 +24,7 @@ import java.util.List;
 import org.apache.cayenne.access.translator.batch.BatchParameterBinding;
 import org.apache.cayenne.access.translator.batch.BatchTranslator;
 import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
-import org.apache.cayenne.crypto.cipher.CipherService;
+import org.apache.cayenne.crypto.cipher.CryptoHandler;
 import org.apache.cayenne.crypto.map.ColumnMapper;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.Inject;
@@ -36,12 +36,12 @@ import org.apache.cayenne.query.BatchQue
  */
 public class CryptoBatchTranslatorFactoryDecorator implements BatchTranslatorFactory {
 
-    private CipherService cipherService;
+    private CryptoHandler cipherService;
     private ColumnMapper columnMapper;
     private BatchTranslatorFactory delegate;
 
     public CryptoBatchTranslatorFactoryDecorator(@Inject BatchTranslatorFactory delegate,
-            @Inject CipherService cipherService, @Inject ColumnMapper columnMapper) {
+            @Inject CryptoHandler cipherService, @Inject ColumnMapper columnMapper) {
 
         this.columnMapper = columnMapper;
         this.cipherService = cipherService;

Copied: cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CryptoHandler.java (from r1578320, cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CipherService.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CryptoHandler.java?p2=cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CryptoHandler.java&p1=cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CipherService.java&r1=1578320&r2=1578321&rev=1578321&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CipherService.java (original)
+++ cayenne/main/trunk/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/cipher/CryptoHandler.java Mon Mar 17 11:48:44 2014
@@ -21,7 +21,7 @@ package org.apache.cayenne.crypto.cipher
 /**
  * @since 3.2
  */
-public interface CipherService {
+public interface CryptoHandler {
 
     Object encrypt(Object plaintext, int jdbcType);
 

Modified: cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Crypto_InRuntime_Test.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Crypto_InRuntime_Test.java?rev=1578321&r1=1578320&r2=1578321&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Crypto_InRuntime_Test.java (original)
+++ cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Crypto_InRuntime_Test.java Mon Mar 17 11:48:44 2014
@@ -42,7 +42,7 @@ public class Crypto_InRuntime_Test exten
     @Override
     protected void setUp() throws Exception {
 
-        Module crypto = new CryptoModuleBuilder().cipherService(Rot13CipherService.class).build();
+        Module crypto = new CryptoModuleBuilder().cryptoHandler(Rot13CipherService.class).build();
 
         this.runtime = new ServerRuntime("cayenne-crypto.xml", crypto);
 

Modified: cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/unit/Rot13CipherService.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/unit/Rot13CipherService.java?rev=1578321&r1=1578320&r2=1578321&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/unit/Rot13CipherService.java (original)
+++ cayenne/main/trunk/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/unit/Rot13CipherService.java Mon Mar 17 11:48:44 2014
@@ -20,9 +20,9 @@ package org.apache.cayenne.crypto.unit;
 
 import java.io.UnsupportedEncodingException;
 
-import org.apache.cayenne.crypto.cipher.CipherService;
+import org.apache.cayenne.crypto.cipher.CryptoHandler;
 
-public class Rot13CipherService implements CipherService {
+public class Rot13CipherService implements CryptoHandler {
 
     public static String rotate(String value) {
         if (value == null) {