2323
2424import org .slf4j .Logger ;
2525import org .slf4j .LoggerFactory ;
26+ import org .springframework .beans .BeanUtils ;
2627
2728import software .xdev .spring .data .eclipse .store .exceptions .MergeFailedException ;
2829import software .xdev .spring .data .eclipse .store .repository .IdSetterProvider ;
@@ -199,22 +200,23 @@ private <E> void mergeValueOfField(
199200 {
200201 // If the class is part of the java package, some fields are final and not changeable.
201202 // These special cases are properly handled through the EclipseStore Serialization.
202- // But to prevent our system to through an error when setting a final field in the java package,
203+ // But to prevent our system to throw an error when setting a final field in the java package,
203204 // we use this parameter.
204- final boolean isPartOfJavaPackage = targetObject .getClass ().getPackageName ().startsWith ("java." );
205+ final boolean targetObjectIsPartOfJavaPackage =
206+ targetObject .getClass ().getPackageName ().startsWith ("java." );
205207 // Something in the containingObject has changed
206208 changedCollector .collectChangedObject (targetObject );
207209 if (DataTypeUtil .isPrimitiveType (field .getType ()))
208210 {
209211 if (!Objects .equals (valueOfTargetObject , valueOfSourceObject ))
210212 {
211- fam .writeValueOfField (targetObject , valueOfSourceObject , !isPartOfJavaPackage );
213+ fam .writeValueOfField (targetObject , valueOfSourceObject , !targetObjectIsPartOfJavaPackage );
212214 }
213215 }
214216 else if (DataTypeUtil .isPrimitiveArray (valueOfSourceObject ))
215217 {
216218 // Copy complete Array
217- fam .writeValueOfField (targetObject , valueOfSourceObject , !isPartOfJavaPackage );
219+ fam .writeValueOfField (targetObject , valueOfSourceObject , !targetObjectIsPartOfJavaPackage );
218220 }
219221 else if (DataTypeUtil .isObjectArray (valueOfSourceObject ))
220222 {
@@ -225,7 +227,7 @@ else if(DataTypeUtil.isObjectArray(valueOfSourceObject))
225227 alreadyMergedTargets ,
226228 changedCollector
227229 );
228- fam .writeValueOfField (targetObject , newArray , !isPartOfJavaPackage );
230+ fam .writeValueOfField (targetObject , newArray , !targetObjectIsPartOfJavaPackage );
229231 }
230232 else
231233 {
@@ -240,7 +242,10 @@ else if(DataTypeUtil.isObjectArray(valueOfSourceObject))
240242 if (valueOfTargetObject != originalValueObjectOfSource )
241243 {
242244 // If the reference is new, it must be set
243- fam .writeValueOfField (targetObject , originalValueObjectOfSource , !isPartOfJavaPackage );
245+ fam .writeValueOfField (
246+ targetObject ,
247+ originalValueObjectOfSource ,
248+ !targetObjectIsPartOfJavaPackage );
244249 }
245250 // Merge after setting reference to avoid endless loops
246251 this .mergeValues (
0 commit comments