in lightning-core/src/main/java/org/apache/directmemory/lightning/internal/InternalSerializer.java [184:221]
private void consistencyCheckClassChecksums( ClassDefinitionContainer oldClassDefinitionContainer,
ClassDefinitionContainer classDefinitionContainer )
{
for ( ClassDefinition classDefinition : classDefinitionContainer.getClassDefinitions() )
{
ClassDefinition oldClassDefinition =
oldClassDefinitionContainer.getClassDefinitionByCanonicalName( classDefinition.getCanonicalName() );
if ( oldClassDefinition == null )
{
throw new ClassDefinitionInconsistentException( "No ClassDefinition for type "
+ classDefinition.getCanonicalName() + " was found" );
}
if ( classComparisonStrategy != ClassComparisonStrategy.SkipComparison )
{
if ( classComparisonStrategy == ClassComparisonStrategy.SerialVersionUID )
{
long serialVersionUID = classDefinition.getSerialVersionUID();
long oldSerialVersionUID = oldClassDefinition.getSerialVersionUID();
if ( serialVersionUID != oldSerialVersionUID )
{
throw new ClassDefinitionInconsistentException( "SerialVersionUID of type "
+ classDefinition.getCanonicalName() + " is not constistent" );
}
}
else
{
byte[] checksum = classDefinition.getChecksum();
byte[] oldChecksum = oldClassDefinition.getChecksum();
if ( !Arrays.equals( checksum, oldChecksum ) )
{
throw new ClassDefinitionInconsistentException( "Signature checksum of type "
+ classDefinition.getCanonicalName() + " is not constistent" );
}
}
}
}
}