public static boolean recalculateMinHash ( final Topic topic , final List < MinHashXOR > minHashXORs ) { boolean retValue = false ; final Set < MinHash > existingMinHashes = topic . getMinHashes ( ) ; final Map < Integer , Integer > minHashes = getMinHashes ( topic . getTopicXML ( ) , minHashXORs ) ; for ( final Integer funcId : minHashes . keySet ( ) ) { boolean found = false ; for ( final MinHash minHash : existingMinHashes ) { if ( minHash . getMinHashFuncID ( ) . equals ( funcId ) ) { if ( ! minHash . getMinHash ( ) . equals ( minHashes . get ( funcId ) ) ) { minHash . setMinHash ( minHashes . get ( funcId ) ) ; retValue = true ; } found = true ; break ; } } if ( ! found ) { retValue = true ; final MinHash minHash = new MinHash ( ) ; minHash . setMinHashFuncID ( funcId ) ; minHash . setMinHash ( minHashes . get ( funcId ) ) ; topic . addMinHash ( minHash ) ; } } return retValue ; }
Recalculate the min hash signature for a topic .