svn commit: r981109 - in /ofbiz/branches/release09.04: ./ framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r981109 - in /ofbiz/branches/release09.04: ./ framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java

doogie-3
Author: doogie
Date: Sun Aug  1 00:18:04 2010
New Revision: 981109

URL: http://svn.apache.org/viewvc?rev=981109&view=rev
Log:
Applied fix from trunk for revision: 832880
===

A patch from Matarazzo Angelo "Remove an useless EntitySubSelect warning message." (https://issues.apache.org/jira/browse/OFBIZ-3145) - OFBIZ-3145
With the same security kept

Modified:
    ofbiz/branches/release09.04/   (props changed)
    ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java
    ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java

Propchange: ofbiz/branches/release09.04/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Aug  1 00:18:04 2010
@@ -1 +1 @@
-/ofbiz/trunk:765933,766011,766015,766293,766307,766316,766325,766462,766522,766800,767060,767072,767093,767098-767099,767102,767123,767125,767127,767279,767287,767671,767688,767694,767822,767845,768358,768490,768550,768675,768686,768705,768811,768815,768960,769030,769500,770272,770308,770997,771073,771477,772401,772464-772465,773076,773557,773628,773659,773697,774014,774632,774661,774995,775292,775667,776227,776594,776620,776922,777004,777020,777768,777792,777893,777947,778078,778094,778107,778273,778278,778280,778364,778374,778402,778576,778594,778628,779020,779477,779496,779639,779834,779856,779866,779873,780111,780138,780180,780199,780203,780906,780945,781201,781534,781549,781669,781680,781694,782663,783257,783266,783833,783913,783917,785123,785764,785967,786778,787126,787435-787436,787442,787520,788965,788983,788987,789329,789337,789506,789548,796769,799185,800461,800846,801023,802346,804364,805307,806127,806377,806914,808786-808787,808792,809141,810370,810438,810465,810
 807,810809,810814,810832,810836,810878,810917,811020,811280,811297,811419,811528,811708,811714,811716,811793,811838,811860,811865,811870,812159,812182,812192,812456,812540,812724,813126,813131,813283,813672,813702,814168,814205,814251,814349,814531,814576,814681,814731,815158,815165,815350,815687,815977,816255,816863,818030,818049,818150,818494,818500,818716,818976,819275-819276,819282,819337,821263,821270,822659,823877-823878,823883,823888,823892,824511,825181-825182,826253,827730,828971,829085,829376,829412,829416,829527,830091,830112,830366,830528,830677,830874,830880,831238,831801,832361,832698,832776,832908,833324,833686,833703,834825,835161,835357,835585,836015,881194,881713,882072,882326,882918,883933,884023,884529,884546,884758,885122,885702,887916,888111,888559,888587,889666,890050,890107,890245,891378,891620,896649,899188,899833,900024,900026,900050,900217,900273,901628,907342-907343,910460,912587,915332,916252,916703,916925,917435,922042,923828,927870,928037,92816
 6,928171,928180,928470,928477,929582,933157,935494,936817,941047,941431,941440,942884,943168,944895,945118,948017,950866,950870,950893,951005,951062,951098,951367,951381,951672,953294,953671,954135,954956,958343,958514,958521,960997,964558,965470,965916,966785,967098,978893,980935,981051
+/ofbiz/trunk:765933,766011,766015,766293,766307,766316,766325,766462,766522,766800,767060,767072,767093,767098-767099,767102,767123,767125,767127,767279,767287,767671,767688,767694,767822,767845,768358,768490,768550,768675,768686,768705,768811,768815,768960,769030,769500,770272,770308,770997,771073,771477,772401,772464-772465,773076,773557,773628,773659,773697,774014,774632,774661,774995,775292,775667,776227,776594,776620,776922,777004,777020,777768,777792,777893,777947,778078,778094,778107,778273,778278,778280,778364,778374,778402,778576,778594,778628,779020,779477,779496,779639,779834,779856,779866,779873,780111,780138,780180,780199,780203,780906,780945,781201,781534,781549,781669,781680,781694,782663,783257,783266,783833,783913,783917,785123,785764,785967,786778,787126,787435-787436,787442,787520,788965,788983,788987,789329,789337,789506,789548,796769,799185,800461,800846,801023,802346,804364,805307,806127,806377,806914,808786-808787,808792,809141,810370,810438,810465,810
 807,810809,810814,810832,810836,810878,810917,811020,811280,811297,811419,811528,811708,811714,811716,811793,811838,811860,811865,811870,812159,812182,812192,812456,812540,812724,813126,813131,813283,813672,813702,814168,814205,814251,814349,814531,814576,814681,814731,815158,815165,815350,815687,815977,816255,816863,818030,818049,818150,818494,818500,818716,818976,819275-819276,819282,819337,821263,821270,822659,823877-823878,823883,823888,823892,824511,825181-825182,826253,827730,828971,829085,829376,829412,829416,829527,830091,830112,830366,830528,830677,830874,830880,831238,831801,832361,832698,832776,832880,832908,833324,833686,833703,834825,835161,835357,835585,836015,881194,881713,882072,882326,882918,883933,884023,884529,884546,884758,885122,885702,887916,888111,888559,888587,889666,890050,890107,890245,891378,891620,896649,899188,899833,900024,900026,900050,900217,900273,901628,907342-907343,910460,912587,915332,916252,916703,916925,917435,922042,923828,927870,92803
 7,928166,928171,928180,928470,928477,929582,933157,935494,936817,941047,941431,941440,942884,943168,944895,945118,948017,950866,950870,950893,951005,951062,951098,951367,951381,951672,953294,953671,954135,954956,958343,958514,958521,960997,964558,965470,965916,966785,967098,978893,980935,981051

Modified: ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java?rev=981109&r1=981108&r2=981109&view=diff
==============================================================================
--- ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java (original)
+++ ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityConditionSubSelect.java Sun Aug  1 00:18:04 2010
@@ -108,12 +108,20 @@ public class EntityConditionSubSelect ex
     public EntityConditionValue freeze() {
         return new EntityConditionSubSelect(localModelEntity, keyFieldName, (whereCond != null ? whereCond.freeze() : null), requireAll);
     }
-
+    
+    public String getKeyFieldName() {
+        return this.keyFieldName;
+    }
+    
+    public ModelEntity getModelEntity() {
+        return this.localModelEntity;
+    }
+    
     public ModelField getModelField(ModelEntity modelEntity) {
         // do nothing for now
         return null;
     }
-
+  
     public Comparable getValue(GenericDelegator delegator, Map<String, ? extends Object> map) {
         // do nothing for now
         return null;

Modified: ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java?rev=981109&r1=981108&r2=981109&view=diff
==============================================================================
--- ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java (original)
+++ ofbiz/branches/release09.04/framework/entity/src/org/ofbiz/entity/condition/EntityExpr.java Sun Aug  1 00:18:04 2010
@@ -263,12 +263,27 @@ public class EntityExpr extends EntityCo
         if (type == null) {
             throw new IllegalArgumentException("Type " + curField.getType() + " not found for entity [" + modelEntity.getEntityName() + "]; probably because there is no datasource (helper) setup for the entity group that this entity is in: [" + delegator.getEntityGroupName(modelEntity.getEntityName()) + "]");
         }
-
+        if (value instanceof EntityConditionSubSelect){
+         ModelFieldType valueType=null;
+         try {
+         ModelEntity valueModelEntity= ((EntityConditionSubSelect) value).getModelEntity();
+         valueType = delegator.getEntityFieldType(valueModelEntity,  valueModelEntity.getField(((EntityConditionSubSelect) value).getKeyFieldName()).getType());
+             } catch (GenericEntityException e) {
+                 Debug.logWarning(e, module);
+             }
+          // make sure the type of keyFieldName of EntityConditionSubSelect  matches the field Java type
+             if (!ObjectType.instanceOf(valueType.getJavaType(), type.getJavaType())) {
+             String errMsg = "Warning using ["+ value.getClass().getName() + "] and entity field [" + modelEntity.getEntityName() + "." + curField.getName() + "]. The Java type of keyFieldName : [" + valueType.getJavaType()+ "] is not compatible with the Java type of the field [" + type.getJavaType() + "]";
+ // eventually we should do this, but for now we'll do a "soft" failure: throw new IllegalArgumentException(errMsg);
+ Debug.logWarning(new Exception("Location of database type warning"), "=-=-=-=-=-=-=-=-= Database type warning in EntityExpr =-=-=-=-=-=-=-=-= " + errMsg, module);
+             }
+        } else {
         // make sure the type matches the field Java type
-        if (!ObjectType.instanceOf(value, type.getJavaType())) {
-            String errMsg = "In entity field [" + modelEntity.getEntityName() + "." + curField.getName() + "] set the value passed in [" + value.getClass().getName() + "] is not compatible with the Java type of the field [" + type.getJavaType() + "]";
-            // eventually we should do this, but for now we'll do a "soft" failure: throw new IllegalArgumentException(errMsg);
-            Debug.logWarning(new Exception("Location of database type warning"), "=-=-=-=-=-=-=-=-= Database type warning in EntityExpr =-=-=-=-=-=-=-=-= " + errMsg, module);
+         if (!ObjectType.instanceOf(value, type.getJavaType())) {
+ String errMsg = "In entity field [" + modelEntity.getEntityName() + "." + curField.getName() + "] set the value passed in [" + value.getClass().getName() + "] is not compatible with the Java type of the field [" + type.getJavaType() + "]";
+ // eventually we should do this, but for now we'll do a "soft" failure: throw new IllegalArgumentException(errMsg);
+ Debug.logWarning(new Exception("Location of database type warning"), "=-=-=-=-=-=-=-=-= Database type warning in EntityExpr =-=-=-=-=-=-=-=-= " + errMsg, module);
+ }
         }
     }