Author: doogie
Date: Tue Jun 24 00:23:38 2014 New Revision: 1604971 URL: http://svn.apache.org/r1604971 Log: In EntityExpr.encryptConditionFields. pass the call down to the lhs and rhs when we are in join mode. Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityCryptoTestSuite.java Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java?rev=1604971&r1=1604970&r2=1604971&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java Tue Jun 24 00:23:38 2014 @@ -154,6 +154,11 @@ public class EntityExpr extends EntityCo @Override public void encryptConditionFields(ModelEntity modelEntity, Delegator delegator) { + if (operator.getClass().equals(EntityJoinOperator.class)) { + ((EntityCondition) lhs).encryptConditionFields(modelEntity, delegator); + ((EntityCondition) rhs).encryptConditionFields(modelEntity, delegator); + return; + } if (rhs instanceof EntityConditionValue) { return; } Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityCryptoTestSuite.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityCryptoTestSuite.java?rev=1604971&r1=1604970&r2=1604971&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityCryptoTestSuite.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/test/EntityCryptoTestSuite.java Tue Jun 24 00:23:38 2014 @@ -20,6 +20,8 @@ package org.ofbiz.entity.test; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.entity.GenericValue; +import org.ofbiz.entity.condition.EntityCondition; +import org.ofbiz.entity.condition.EntityOperator; import org.ofbiz.entity.testtools.EntityTestCase; public class EntityCryptoTestSuite extends EntityTestCase { @@ -86,14 +88,24 @@ public class EntityCryptoTestSuite exten public void testCryptoLookup() throws Exception { String nanoTime = "" + System.nanoTime(); + EntityCondition condition; delegator.removeByAnd("TestingCrypto", UtilMisc.toMap("testingCryptoTypeId", "LOOKUP")); delegator.create("TestingCrypto", UtilMisc.toMap("testingCryptoId", "lookup-null", "testingCryptoTypeId", "LOOKUP")); delegator.create("TestingCrypto", UtilMisc.toMap("testingCryptoId", "lookup-value", "testingCryptoTypeId", "LOOKUP", "encryptedValue", nanoTime, "saltedEncryptedValue", nanoTime)); + // This ends up using EntityExpr contained in EntityConditionList assertEquals(1, delegator.findByAnd("TestingCrypto", UtilMisc.toMap("testingCryptoTypeId", "LOOKUP", "encryptedValue", null), null, false).size()); assertEquals(1, delegator.findByAnd("TestingCrypto", UtilMisc.toMap("testingCryptoTypeId", "LOOKUP", "saltedEncryptedValue", null), null, false).size()); assertEquals(1, delegator.findByAnd("TestingCrypto", UtilMisc.toMap("testingCryptoTypeId", "LOOKUP", "encryptedValue", nanoTime), null, false).size()); assertEquals(0, delegator.findByAnd("TestingCrypto", UtilMisc.toMap("testingCryptoTypeId", "LOOKUP", "saltedEncryptedValue", nanoTime), null, false).size()); + + // This ends up using EntityExpr contained in EntityExpr + condition = EntityCondition.makeCondition( + EntityCondition.makeCondition("testingCryptoTypeId", EntityOperator.EQUALS, "LOOKUP"), + EntityOperator.AND, + EntityCondition.makeCondition("encryptedValue", EntityOperator.EQUALS, nanoTime) + ); + assertEquals(1, delegator.findList("TestingCrypto", condition, null, null, null, false).size()); } } |
Free forum by Nabble | Edit this page |