@@ -787,7 +787,7 @@ public boolean equivalent(ModelObject compare, boolean ignoreRelatedElements) th
787787 Optional <Object > propertyValueOptional = this .getObjectPropertyValue (propertyName );
788788 if (propertyValueOptional .isPresent ()) {
789789 Object propertyValue = propertyValueOptional .get ();
790- if (isEquivalentToNull (propertyValue )) {
790+ if (isEquivalentToNull (propertyValue , propertyName )) {
791791 continue ;
792792 }
793793 lastNotEquivalentReason = new NotEquivalentReason (
@@ -805,7 +805,7 @@ public boolean equivalent(ModelObject compare, boolean ignoreRelatedElements) th
805805 continue ;
806806 }
807807 Object comparePropertyValue = comparePropertyValueOptional .get ();
808- if (isEquivalentToNull (comparePropertyValue )) {
808+ if (isEquivalentToNull (comparePropertyValue , propertyName )) {
809809 continue ;
810810 }
811811 lastNotEquivalentReason = new NotEquivalentReason (
@@ -816,12 +816,16 @@ public boolean equivalent(ModelObject compare, boolean ignoreRelatedElements) th
816816 }
817817
818818 // Some values are treated like null in comparisons - in particular empty model collections and
819- // "no assertion" values.
820- private boolean isEquivalentToNull (Object propertyValue ) {
819+ // "no assertion" values and a filesAnalyzed filed with a value of true
820+ private boolean isEquivalentToNull (Object propertyValue , String propertyName ) {
821821 if (propertyValue instanceof ModelCollection ) {
822822 return ((ModelCollection <?>) propertyValue ).size () == 0 ;
823+ } else if (isNoAssertion (propertyValue )) {
824+ return true ;
825+ } else if (SpdxConstants .PROP_PACKAGE_FILES_ANALYZED .equals (propertyName )) {
826+ return propertyValue instanceof Boolean && (Boolean )(propertyValue );
823827 } else {
824- return isNoAssertion ( propertyValue ) ;
828+ return false ;
825829 }
826830 }
827831
0 commit comments