Author: jonesde
Date: Sat May 31 14:34:01 2008 New Revision: 662090 URL: http://svn.apache.org/viewvc?rev=662090&view=rev Log: Fixed bug reported by Ritesh Trivedi where an encrypted field accessed through a view entity was not decrypted Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericDelegator.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityCrypto.java Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericDelegator.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericDelegator.java?rev=662090&r1=662089&r2=662090&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericDelegator.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/GenericDelegator.java Sat May 31 14:34:01 2008 @@ -1,4 +1,4 @@ -/******************************************************************************* +/* * 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 @@ -15,7 +15,7 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - *******************************************************************************/ + */ package org.ofbiz.entity; import java.io.FileNotFoundException; @@ -47,7 +47,6 @@ import org.ofbiz.entity.condition.EntityCondition; import org.ofbiz.entity.condition.EntityConditionList; import org.ofbiz.entity.condition.EntityExpr; -import org.ofbiz.entity.condition.EntityFieldMap; import org.ofbiz.entity.condition.EntityOperator; import org.ofbiz.entity.config.DatasourceInfo; import org.ofbiz.entity.config.DelegatorInfo; @@ -3196,15 +3195,21 @@ public void decryptFields(GenericEntity entity) throws GenericEntityException { ModelEntity model = entity.getModelEntity(); String entityName = model.getEntityName(); - + Iterator<ModelField> i = model.getFieldsIterator(); while (i.hasNext()) { ModelField field = i.next(); if (field.getEncrypt()) { + String keyName = entityName; + if (model instanceof ModelViewEntity) { + ModelViewEntity modelView = (ModelViewEntity) model; + keyName = modelView.getAliasedEntity(modelView.getAlias(field.getName()).getEntityAlias(), modelReader).getEntityName(); + } + String encHex = (String) entity.get(field.getName()); if (UtilValidate.isNotEmpty(encHex)) { try { - entity.dangerousSetNoCheckButFast(field, crypto.decrypt(entityName, encHex)); + entity.dangerousSetNoCheckButFast(field, crypto.decrypt(keyName, encHex)); } catch (EntityCryptoException e) { // not fatal -- allow returning of the encrypted value Debug.logWarning(e, "Problem decrypting field [" + entityName + " / " + field.getName() + "]", module); Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java?rev=662090&r1=662089&r2=662090&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/model/ModelViewEntity.java Sat May 31 14:34:01 2008 @@ -404,6 +404,8 @@ } else { field.isPk = aliasedField.isPk; } + + field.encrypt = aliasedField.encrypt; field.type = aliasedField.type; field.validators = aliasedField.validators; Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityCrypto.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityCrypto.java?rev=662090&r1=662089&r2=662090&view=diff ============================================================================== --- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityCrypto.java (original) +++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/util/EntityCrypto.java Sat May 31 14:34:01 2008 @@ -1,4 +1,4 @@ -/******************************************************************************* +/* * 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 @@ -15,7 +15,7 @@ * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. - *******************************************************************************/ + */ package org.ofbiz.entity.util; import java.security.NoSuchAlgorithmException; @@ -31,7 +31,6 @@ import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.StringUtil; -import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilObject; import org.ofbiz.entity.EntityCryptoException; import org.ofbiz.entity.GenericDelegator; |
Free forum by Nabble | Edit this page |