You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2010/01/26 12:40:45 UTC
svn commit: r903183 -
/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java
Author: bentmann
Date: Tue Jan 26 11:40:44 2010
New Revision: 903183
URL: http://svn.apache.org/viewvc?rev=903183&view=rev
Log:
o Strengthened cache key
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java?rev=903183&r1=903182&r2=903183&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java Tue Jan 26 11:40:44 2010
@@ -44,6 +44,10 @@
private final List<File> files;
+ private final List<Long> timestamps;
+
+ private final List<Long> sizes;
+
private final List<String> ids;
private final int hashCode;
@@ -51,15 +55,21 @@
public CacheKey( List<? extends Artifact> extensionArtifacts )
{
this.files = new ArrayList<File>( extensionArtifacts.size() );
+ this.timestamps = new ArrayList<Long>( extensionArtifacts.size() );
+ this.sizes = new ArrayList<Long>( extensionArtifacts.size() );
this.ids = new ArrayList<String>( extensionArtifacts.size() );
for ( Artifact artifact : extensionArtifacts )
{
- files.add( artifact.getFile() );
+ File file = artifact.getFile();
+ files.add( file );
+ timestamps.add( ( file != null ) ? Long.valueOf( file.lastModified() ) : Long.valueOf( 0 ) );
+ sizes.add( ( file != null ) ? Long.valueOf( file.length() ) : Long.valueOf( 0 ) );
ids.add( artifact.getVersion() );
}
- this.hashCode = files.hashCode() * 31 + ids.hashCode();
+ this.hashCode =
+ 31 * files.hashCode() + 31 * ids.hashCode() + 31 * timestamps.hashCode() + 31 * sizes.hashCode();
}
@Override
@@ -83,7 +93,8 @@
CacheKey other = (CacheKey) o;
- return files.equals( other.files ) && ids.equals( other.ids );
+ return ids.equals( other.ids ) && files.equals( other.files ) && timestamps.equals( other.timestamps )
+ && sizes.equals( other.sizes );
}
}