{"thread":{"id":"16988","subject":"[EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","startedAt":"2009-01-04T22:20:19Z","lastAt":"2009-01-06T00:54:55Z","messageCount":7,"participants":["Vasyl' Vavrychuk","Robin Rosenberg","Shawn O. Pearce"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"99332","messageId":"gjrcni$9q$1@ger.gmane.org","threadId":"16988","inReplyTo":null,"subject":"[EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Vasyl' Vavrychuk","fromEmail":"vvavrychuk@gmail.com","sentAt":"2009-01-04T22:20:19Z","receivedAt":"2009-01-04T22:20:19Z","isPatch":true,"sender":{"key":"vvavrychuk@gmail.com","avatar":"https://avatars.githubusercontent.com/u/152563?v=4"},"body":"Also fixed:\n1. \"The 'Eclipse-LazyStart' header is deprecated, use 'Bundle-ActivationPolicy'\" warning.\n2. Possible NullPointerException warning.\n3. Unnecessery function parameter warning.\n\nSigned-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>\n---\n org.spearce.egit.core.test/META-INF/MANIFEST.MF    |    2 +-\n org.spearce.egit.core/META-INF/MANIFEST.MF         |    2 +-\n .../egit/core/internal/storage/GitFileHistory.java |    4 +-\n .../spearce/egit/core/project/GitProjectData.java  |   18 +++----\n .../egit/core/project/RepositoryFinder.java        |    5 +-\n org.spearce.egit.ui/META-INF/MANIFEST.MF           |    2 +-\n .../egit/ui/internal/actions/RepositoryAction.java |    2 +-\n .../tst/org/spearce/jgit/lib/T0002_Tree.java       |    4 +-\n org.spearce.jgit/META-INF/MANIFEST.MF              |    2 +-\n .../jgit/errors/InvalidPatternException.java       |    2 +\n .../jgit/errors/NoClosingBracketException.java     |    1 +\n .../jgit/errors/RevisionSyntaxException.java       |    1 +\n .../src/org/spearce/jgit/lib/AnyObjectId.java      |    6 +--\n .../src/org/spearce/jgit/lib/GitIndex.java         |   29 +++++------\n .../src/org/spearce/jgit/lib/ObjectIdMap.java      |    1 -\n .../src/org/spearce/jgit/lib/ObjectWriter.java     |    1 -\n .../src/org/spearce/jgit/lib/TreeIterator.java     |    2 +-\n .../jgit/lib/TreeVisitorWithCurrentDirectory.java  |    5 +-\n .../src/org/spearce/jgit/revwalk/RevWalk.java      |    3 +-\n .../jgit/transport/DefaultSshSessionFactory.java   |    2 +-\n .../spearce/jgit/treewalk/CanonicalTreeParser.java |    5 +-\n .../src/org/spearce/jgit/util/Base64.java          |   52 ++++++++++++--------\n 22 files changed, 76 insertions(+), 75 deletions(-)\n\ndiff --git a/org.spearce.egit.core.test/META-INF/MANIFEST.MF b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\nindex ee5f277..e8bcc79 100644\n--- a/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n+++ b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n@@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime,\n  org.spearce.egit.ui,\n  org.spearce.jgit,\n  org.eclipse.core.filesystem\n-Eclipse-LazyStart: true\n+Bundle-ActivationPolicy: lazy\n Import-Package: org.eclipse.core.resources,\n  org.eclipse.jdt.core,\n  org.eclipse.jdt.junit,\ndiff --git a/org.spearce.egit.core/META-INF/MANIFEST.MF b/org.spearce.egit.core/META-INF/MANIFEST.MF\nindex 6c95084..43fc566 100644\n--- a/org.spearce.egit.core/META-INF/MANIFEST.MF\n+++ b/org.spearce.egit.core/META-INF/MANIFEST.MF\n@@ -16,5 +16,5 @@ Export-Package: org.spearce.egit.core.internal.storage;x-friends:=\"org.spearce.e\n  org.spearce.egit.core,\n  org.spearce.egit.core.op,\n  org.spearce.egit.core.project\n-Eclipse-LazyStart: true\n+Bundle-ActivationPolicy: lazy\n Bundle-RequiredExecutionEnvironment: J2SE-1.5\ndiff --git a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\nindex c01c1c3..61c32ce 100644\n--- a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n+++ b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n@@ -50,11 +50,11 @@\n \tGitFileHistory(final IResource rsrc, final int flags,\n \t\t\tfinal IProgressMonitor monitor) {\n \t\tresource = rsrc;\n-\t\twalk = buildWalk(flags);\n+\t\twalk = buildWalk(/*flags*/);\n \t\trevisions = buildRevisions(monitor, flags);\n \t}\n \n-\tprivate KidWalk buildWalk(final int flags) {\n+\tprivate KidWalk buildWalk(/*final int flags*/) {\n \t\tfinal RepositoryMapping rm = RepositoryMapping.getMapping(resource);\n \t\tif (rm == null) {\n \t\t\tActivator.logError(\"Git not attached to project \"\ndiff --git a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\nindex 04130db..db5f20b 100644\n--- a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n+++ b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n@@ -48,9 +48,9 @@\n  * a Git repository.\n  */\n public class GitProjectData {\n-\tprivate static final Map projectDataCache = new HashMap();\n+\tprivate static final Map<IProject, GitProjectData> projectDataCache = new HashMap<IProject, GitProjectData>();\n \n-\tprivate static final Map repositoryCache = new HashMap();\n+\tprivate static final Map<File, WeakReference> repositoryCache = new HashMap<File, WeakReference>();\n \n \tprivate static RepositoryChangeListener[] repositoryChangeListeners = {};\n \n@@ -193,7 +193,7 @@ private synchronized static void uncache(final IProject p) {\n \t}\n \n \tprivate synchronized static GitProjectData lookup(final IProject p) {\n-\t\treturn (GitProjectData) projectDataCache.get(p);\n+\t\treturn projectDataCache.get(p);\n \t}\n \n \tprivate synchronized static Repository lookupRepository(final File gitDir)\n@@ -206,11 +206,11 @@ private synchronized static Repository lookupRepository(final File gitDir)\n \t\t\t}\n \t\t}\n \n-\t\tfinal Reference r = (Reference) repositoryCache.get(gitDir);\n+\t\tfinal Reference r = repositoryCache.get(gitDir);\n \t\tRepository d = r != null ? (Repository) r.get() : null;\n \t\tif (d == null) {\n \t\t\td = new Repository(gitDir);\n-\t\t\trepositoryCache.put(gitDir, new WeakReference(d));\n+\t\t\trepositoryCache.put(gitDir, new WeakReference<Repository>(d));\n \t\t}\n \t\treturn d;\n \t}\n@@ -229,9 +229,9 @@ public static void reconfigureWindowCache() {\n \n \tprivate final IProject project;\n \n-\tprivate final Collection mappings;\n+\tprivate final Collection<RepositoryMapping> mappings = new ArrayList<RepositoryMapping>();\n \n-\tprivate final Set protectedResources;\n+\tprivate final Set<IResource> protectedResources = new HashSet<IResource>();\n \n \t/**\n \t * Construct a {@link GitProjectData} for the mapping\n@@ -241,8 +241,6 @@ public static void reconfigureWindowCache() {\n \t */\n \tpublic GitProjectData(final IProject p) {\n \t\tproject = p;\n-\t\tmappings = new ArrayList();\n-\t\tprotectedResources = new HashSet();\n \t}\n \n \t/**\n@@ -257,7 +255,7 @@ public IProject getProject() {\n \t *\n \t * @param newMappings\n \t */\n-\tpublic void setRepositoryMappings(final Collection newMappings) {\n+\tpublic void setRepositoryMappings(final Collection<RepositoryMapping> newMappings) {\n \t\tmappings.clear();\n \t\tmappings.addAll(newMappings);\n \t\tremapAll();\ndiff --git a/org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryFinder.java b/org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryFinder.java\nindex c33f3a0..2b4b16f 100644\n--- a/org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryFinder.java\n+++ b/org.spearce.egit.core/src/org/spearce/egit/core/project/RepositoryFinder.java\n@@ -47,7 +47,7 @@\n public class RepositoryFinder {\n \tprivate final IProject proj;\n \n-\tprivate final Collection results;\n+\tprivate final Collection<RepositoryMapping> results = new ArrayList<RepositoryMapping>();\n \n \t/**\n \t * Create a new finder to locate Git repositories for a project.\n@@ -58,7 +58,6 @@\n \t */\n \tpublic RepositoryFinder(final IProject p) {\n \t\tproj = p;\n-\t\tresults = new ArrayList();\n \t}\n \n \t/**\n@@ -72,7 +71,7 @@ public RepositoryFinder(final IProject p) {\n \t *             Eclipse was unable to access its workspace, and threw up on\n \t *             us. We're throwing it back at the caller.\n \t */\n-\tpublic Collection find(IProgressMonitor m) throws CoreException {\n+\tpublic Collection<RepositoryMapping> find(IProgressMonitor m) throws CoreException {\n \t\tif (m == null) {\n \t\t\tm = new NullProgressMonitor();\n \t\t}\ndiff --git a/org.spearce.egit.ui/META-INF/MANIFEST.MF b/org.spearce.egit.ui/META-INF/MANIFEST.MF\nindex ec1df4d..019ef6e 100644\n--- a/org.spearce.egit.ui/META-INF/MANIFEST.MF\n+++ b/org.spearce.egit.ui/META-INF/MANIFEST.MF\n@@ -20,7 +20,7 @@ Require-Bundle: org.eclipse.core.runtime,\n  org.spearce.jgit,\n  org.spearce.egit.core,\n  org.eclipse.jsch.ui;bundle-version=\"1.1.100\"\n-Eclipse-LazyStart: true\n+Bundle-ActivationPolicy: lazy\n Bundle-RequiredExecutionEnvironment: J2SE-1.5\n Import-Package: org.eclipse.jsch.core,\n  org.eclipse.jsch.internal.core\ndiff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java\nindex 8c250ca..362437e 100644\n--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java\n+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/RepositoryAction.java\n@@ -100,7 +100,7 @@ protected Repository getRepository(boolean warn) {\n \t\t\t\tmapping = repositoryMapping;\n \t\t\tif (repositoryMapping == null)\n \t\t\t\treturn null;\n-\t\t\tif (repositoryMapping != null && mapping.getRepository() != repositoryMapping.getRepository()) {\n+\t\t\tif (mapping.getRepository() != repositoryMapping.getRepository()) {\n \t\t\t\tif (warn)\n \t\t\t\t\tMessageDialog.openError(getShell(), \"Multiple Repositories Selection\", \"Cannot perform reset on multiple repositories simultaneously.\\n\\nPlease select items from only one repository.\");\n \t\t\t\treturn null;\ndiff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0002_Tree.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0002_Tree.java\nindex fcb4d96..97f299c 100644\n--- a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0002_Tree.java\n+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/T0002_Tree.java\n@@ -236,7 +236,7 @@ public void test006_addDeepTree() throws IOException {\n \n \tpublic void test007_manyFileLookup() throws IOException {\n \t\tfinal Tree t = new Tree(db);\n-\t\tfinal List files = new ArrayList(26 * 26);\n+\t\tfinal List<FileTreeEntry> files = new ArrayList<FileTreeEntry>(26 * 26);\n \t\tfor (char level1 = 'a'; level1 <= 'z'; level1++) {\n \t\t\tfor (char level2 = 'a'; level2 <= 'z'; level2++) {\n \t\t\t\tfinal String n = \".\" + level1 + level2 + \"9\";\n@@ -251,7 +251,7 @@ public void test007_manyFileLookup() throws IOException {\n \t\tassertNotNull(ents);\n \t\tassertEquals(files.size(), ents.length);\n \t\tfor (int k = 0; k < ents.length; k++) {\n-\t\t\tassertTrue(\"File \" + ((FileTreeEntry) files.get(k)).getName()\n+\t\t\tassertTrue(\"File \" + files.get(k).getName()\n \t\t\t\t\t+ \" is at \" + k + \".\", files.get(k) == ents[k]);\n \t\t}\n \t}\ndiff --git a/org.spearce.jgit/META-INF/MANIFEST.MF b/org.spearce.jgit/META-INF/MANIFEST.MF\nindex 36f92f2..459e8f3 100644\n--- a/org.spearce.jgit/META-INF/MANIFEST.MF\n+++ b/org.spearce.jgit/META-INF/MANIFEST.MF\n@@ -16,7 +16,7 @@ Export-Package: org.spearce.jgit.dircache,\n  org.spearce.jgit.treewalk,\n  org.spearce.jgit.treewalk.filter,\n  org.spearce.jgit.util\n-Eclipse-LazyStart: true\n+Bundle-ActivationPolicy: lazy\n Bundle-RequiredExecutionEnvironment: J2SE-1.5\n Bundle-ClassPath: .\n Require-Bundle: com.jcraft.jsch;visibility:=reexport\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/errors/InvalidPatternException.java b/org.spearce.jgit/src/org/spearce/jgit/errors/InvalidPatternException.java\nindex 15d159b..e7be0d6 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/errors/InvalidPatternException.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/errors/InvalidPatternException.java\n@@ -42,6 +42,8 @@\n  *\n  */\n public class InvalidPatternException extends Exception {\n+\tprivate static final long serialVersionUID = 1L;\n+\n \tprivate final String pattern;\n \n \t/**\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/errors/NoClosingBracketException.java b/org.spearce.jgit/src/org/spearce/jgit/errors/NoClosingBracketException.java\nindex 1a93906..8fe9ab1 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/errors/NoClosingBracketException.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/errors/NoClosingBracketException.java\n@@ -42,6 +42,7 @@\n  * side or a character class which is open to the right side.\n  */\n public class NoClosingBracketException extends InvalidPatternException {\n+\tprivate static final long serialVersionUID = 1L;\n \n \t/**\n \t * @param indexOfOpeningBracket\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/errors/RevisionSyntaxException.java b/org.spearce.jgit/src/org/spearce/jgit/errors/RevisionSyntaxException.java\nindex ac425bb..f943879 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/errors/RevisionSyntaxException.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/errors/RevisionSyntaxException.java\n@@ -45,6 +45,7 @@\n  * properly formatted.\n  */\n public class RevisionSyntaxException extends IOException {\n+\tprivate static final long serialVersionUID = 1L;\n \n \tprivate final String revstr;\n \ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/AnyObjectId.java b/org.spearce.jgit/src/org/spearce/jgit/lib/AnyObjectId.java\nindex a534202..f3e4534 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/lib/AnyObjectId.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/AnyObjectId.java\n@@ -52,7 +52,7 @@\n  * with this instance can alter at any time, if this instance is modified to\n  * represent a different object name.\n  */\n-public abstract class AnyObjectId implements Comparable {\n+public abstract class AnyObjectId implements Comparable<ObjectId> {\n \tstatic final int RAW_LEN = Constants.OBJECT_ID_LENGTH;\n \n \tstatic final int STR_LEN = RAW_LEN * 2;\n@@ -178,10 +178,6 @@ public int compareTo(final ObjectId other) {\n \t\treturn NB.compareUInt32(w5, other.w5);\n \t}\n \n-\tpublic int compareTo(final Object other) {\n-\t\treturn compareTo(((ObjectId) other));\n-\t}\n-\n \tint compareTo(final byte[] bs, final int p) {\n \t\tint cmp;\n \ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/GitIndex.java b/org.spearce.jgit/src/org/spearce/jgit/lib/GitIndex.java\nindex bafddef..7c3f1b4 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/lib/GitIndex.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/GitIndex.java\n@@ -107,18 +107,16 @@\n \n \tprivate final Repository db;\n \n-\tprivate Map entries = new TreeMap(new Comparator() {\n-\t\tpublic int compare(Object arg0, Object arg1) {\n-\t\t\tbyte[] a = (byte[]) arg0;\n-\t\t\tbyte[] b = (byte[]) arg1;\n-\t\t\tfor (int i = 0; i < a.length && i < b.length; ++i) {\n-\t\t\t\tint c = a[i] - b[i];\n+\tprivate Map<byte[], Entry> entries = new TreeMap<byte[], Entry>(new Comparator<byte[]>() {\n+\t\tpublic int compare(byte[] o1, byte[] o2) {\n+\t\t\tfor (int i = 0; i < o1.length && i < o2.length; ++i) {\n+\t\t\t\tint c = o1[i] - o2[i];\n \t\t\t\tif (c != 0)\n \t\t\t\t\treturn c;\n \t\t\t}\n-\t\t\tif (a.length < b.length)\n+\t\t\tif (o1.length < o2.length)\n \t\t\t\treturn -1;\n-\t\t\telse if (a.length > b.length)\n+\t\t\telse if (o1.length > o2.length)\n \t\t\t\treturn 1;\n \t\t\treturn 0;\n \t\t}\n@@ -161,7 +159,7 @@ public void rereadIfNecessary() throws IOException {\n \t */\n \tpublic Entry add(File wd, File f) throws IOException {\n \t\tbyte[] key = makeKey(wd, f);\n-\t\tEntry e = (Entry) entries.get(key);\n+\t\tEntry e = entries.get(key);\n \t\tif (e == null) {\n \t\t\te = new Entry(key, f, 0);\n \t\t\tentries.put(key, e);\n@@ -302,7 +300,7 @@ static boolean File_hasExecute() {\n \t\treturn FS.INSTANCE.supportsExecute();\n \t}\n \n-\tstatic byte[] makeKey(File wd, File f) throws IOException {\n+\tstatic byte[] makeKey(File wd, File f) {\n \t\tif (!f.getPath().startsWith(wd.getPath()))\n \t\t\tthrow new Error(\"Path is not in working dir\");\n \t\tString relName = Repository.stripWorkDir(wd, f);\n@@ -362,8 +360,7 @@ Entry(byte[] key, File f, int stage)\n \t\t\tflags = (short) ((stage << 12) | name.length); // TODO: fix flags\n \t\t}\n \n-\t\tEntry(TreeEntry f, int stage)\n-\t\t\t\tthrows UnsupportedEncodingException {\n+\t\tEntry(TreeEntry f, int stage) {\n \t\t\tctime = -1; // hmm\n \t\t\tmtime = -1;\n \t\t\tdev = -1;\n@@ -810,7 +807,7 @@ public ObjectId writeTree() throws IOException {\n \t\tcheckWriteOk();\n \t\tObjectWriter writer = new ObjectWriter(db);\n \t\tTree current = new Tree(db);\n-\t\tStack trees = new Stack();\n+\t\tStack<Tree> trees = new Stack<Tree>();\n \t\ttrees.push(current);\n \t\tString[] prevName = new String[0];\n \t\tfor (Iterator i = entries.values().iterator(); i.hasNext();) {\n@@ -844,7 +841,7 @@ public ObjectId writeTree() throws IOException {\n \t\t\tcurrent.setId(writer.writeTree(current));\n \t\t\ttrees.pop();\n \t\t\tif (!trees.isEmpty())\n-\t\t\t\tcurrent = (Tree) trees.peek();\n+\t\t\t\tcurrent = trees.peek();\n \t\t}\n \t\treturn current.getTreeId();\n \t}\n@@ -886,7 +883,7 @@ int longestCommonPath(String[] a, String[] b) {\n \t * @return The index entries sorted\n \t */\n \tpublic Entry[] getMembers() {\n-\t\treturn (Entry[]) entries.values().toArray(new Entry[entries.size()]);\n+\t\treturn entries.values().toArray(new Entry[entries.size()]);\n \t}\n \n \t/**\n@@ -897,7 +894,7 @@ int longestCommonPath(String[] a, String[] b) {\n \t * @throws UnsupportedEncodingException\n \t */\n \tpublic Entry getEntry(String path) throws UnsupportedEncodingException {\n-\t\treturn (Entry) entries.get(Repository.gitInternalSlash(Constants.encode(path)));\n+\t\treturn entries.get(Repository.gitInternalSlash(Constants.encode(path)));\n \t}\n \n \t/**\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java b/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java\nindex 600d0f4..d3c7f1d 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java\n@@ -178,7 +178,6 @@ public boolean isEmpty() {\n \t\treturn true;\n \t}\n \n-\t@SuppressWarnings(\"unchecked\")\n \tpublic V put(ObjectId key, V value) {\n \t\treturn submap(key).put(key, value);\n \t}\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectWriter.java b/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectWriter.java\nindex 6c2cd4f..e84798a 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectWriter.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectWriter.java\n@@ -289,7 +289,6 @@ public ObjectId computeBlobSha1(final long len, final InputStream is)\n \t\treturn writeObject(Constants.OBJ_BLOB, len, is, false);\n \t}\n \n-\t@SuppressWarnings(\"null\")\n \tObjectId writeObject(final int type, long len, final InputStream is,\n \t\t\tboolean store) throws IOException {\n \t\tfinal File t;\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/TreeIterator.java b/org.spearce.jgit/src/org/spearce/jgit/lib/TreeIterator.java\nindex 2344a3c..ec52078 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/lib/TreeIterator.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/TreeIterator.java\n@@ -76,7 +76,7 @@\n \t\t * Visit leaves first, then node\n \t\t */\n \t\tPOSTORDER\n-\t};\n+\t}\n \n \t/**\n \t * Construct a {@link TreeIterator} for visiting all non-tree nodes.\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/TreeVisitorWithCurrentDirectory.java b/org.spearce.jgit/src/org/spearce/jgit/lib/TreeVisitorWithCurrentDirectory.java\nindex 55854b2..e227adb 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/lib/TreeVisitorWithCurrentDirectory.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/TreeVisitorWithCurrentDirectory.java\n@@ -46,12 +46,11 @@\n  * Abstract TreeVisitor for visiting all files known by a Tree.\n  */\n public abstract class TreeVisitorWithCurrentDirectory implements TreeVisitor {\n-\tprivate final ArrayList stack;\n+\tprivate final ArrayList<File> stack = new ArrayList<File>(16);\n \n \tprivate File currentDirectory;\n \n \tprotected TreeVisitorWithCurrentDirectory(final File rootDirectory) {\n-\t\tstack = new ArrayList(16);\n \t\tcurrentDirectory = rootDirectory;\n \t}\n \n@@ -67,6 +66,6 @@ public void startVisitTree(final Tree t) throws IOException {\n \t}\n \n \tpublic void endVisitTree(final Tree t) throws IOException {\n-\t\tcurrentDirectory = (File) stack.remove(stack.size() - 1);\n+\t\tcurrentDirectory = stack.remove(stack.size() - 1);\n \t}\n }\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevWalk.java b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevWalk.java\nindex d7e4c58..8d25125 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevWalk.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/revwalk/RevWalk.java\n@@ -1014,8 +1014,7 @@ protected RevCommit createCommit(final AnyObjectId id) {\n \t\treturn new RevCommit(id);\n \t}\n \n-\tvoid carryFlagsImpl(final RevCommit c) throws MissingObjectException,\n-\t\t\tIncorrectObjectTypeException, IOException {\n+\tvoid carryFlagsImpl(final RevCommit c) {\n \t\tfinal int carry = c.flags & carryFlags;\n \t\tif (carry != 0)\n \t\t\tRevCommit.carryFlags(c, carry);\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/DefaultSshSessionFactory.java b/org.spearce.jgit/src/org/spearce/jgit/transport/DefaultSshSessionFactory.java\nindex 89beab7..0d522df 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/transport/DefaultSshSessionFactory.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/transport/DefaultSshSessionFactory.java\n@@ -153,7 +153,7 @@ private void knownHosts(final JSch sch) throws JSchException {\n \t\t}\n \t}\n \n-\tprivate void identities() throws JSchException {\n+\tprivate void identities() {\n \t\tfinal File home = FS.userHome();\n \t\tif (home == null)\n \t\t\treturn;\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\nindex dcc53cd..4700510 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n@@ -175,8 +175,9 @@ public void back(int delta) {\n \t\t\t// space so this prunes our search more quickly.\n \t\t\t//\n \t\t\tptr -= Constants.OBJECT_ID_LENGTH;\n-\t\t\twhile (raw[--ptr] != ' ')\n-\t\t\t\t/* nothing */;\n+\t\t\twhile (raw[--ptr] != ' ') {\n+\t\t\t\t/* nothing */\n+\t\t\t}\n \t\t\tif (--ptr < Constants.OBJECT_ID_LENGTH) {\n \t\t\t\tif (delta != 0)\n \t\t\t\t\tthrow new ArrayIndexOutOfBoundsException(delta);\ndiff --git a/org.spearce.jgit/src/org/spearce/jgit/util/Base64.java b/org.spearce.jgit/src/org/spearce/jgit/util/Base64.java\nindex 8c45539..d81867b 100644\n--- a/org.spearce.jgit/src/org/spearce/jgit/util/Base64.java\n+++ b/org.spearce.jgit/src/org/spearce/jgit/util/Base64.java\n@@ -7,6 +7,9 @@\n \n package org.spearce.jgit.util;\n \n+import java.io.Closeable;\n+import java.io.IOException;\n+\n \n /**\n  * Encodes and decodes to and from Base64 notation.\n@@ -175,11 +178,20 @@\n     private final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding\n     private final static byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding\n \n+    private static void closeStream(Closeable stream) {\n+        if (stream != null) {\n+            try {\n+                stream.close();\n+            } catch (IOException e) {\n+                e.printStackTrace();\n+            }\n+        }\n+    }\n \n     /** Defeats instantiation. */\n-    private Base64(){}\n-\n-\n+    private Base64() {\n+        //suppress empty block warning\n+    }\n \n /* ********  E N C O D I N G   M E T H O D S  ******** */\n \n@@ -353,10 +365,10 @@ public static String encodeObject( java.io.Serializable serializableObject, int \n         }   // end catch\n         finally\n         {\n-            try{ oos.close();   } catch( Exception e ){}\n-            try{ gzos.close();  } catch( Exception e ){}\n-            try{ b64os.close(); } catch( Exception e ){}\n-            try{ baos.close();  } catch( Exception e ){}\n+            closeStream(oos);\n+            closeStream(gzos);\n+            closeStream(b64os);\n+            closeStream(baos);\n         }   // end finally\n \n         // Return value according to relevant encoding.\n@@ -486,9 +498,9 @@ public static String encodeBytes( byte[] source, int off, int len, int options )\n             }   // end catch\n             finally\n             {\n-                try{ gzos.close();  } catch( Exception e ){}\n-                try{ b64os.close(); } catch( Exception e ){}\n-                try{ baos.close();  } catch( Exception e ){}\n+                closeStream(gzos);\n+                closeStream(b64os);\n+                closeStream(baos);\n             }   // end finally\n \n             // Return value according to relevant encoding.\n@@ -763,9 +775,9 @@ else if( source[ srcOffset + 3 ] == EQUALS_SIGN )\n                 }   // end catch\n                 finally\n                 {\n-                    try{ baos.close(); } catch( Exception e ){}\n-                    try{ gzis.close(); } catch( Exception e ){}\n-                    try{ bais.close(); } catch( Exception e ){}\n+                    closeStream(baos);\n+                    closeStream(gzis);\n+                    closeStream(bais);\n                 }   // end finally\n \n             }   // end if: gzipped\n@@ -804,17 +816,15 @@ public static Object decodeToObject( String encodedObject )\n         catch( java.io.IOException e )\n         {\n             e.printStackTrace();\n-            obj = null;\n         }   // end catch\n         catch( java.lang.ClassNotFoundException e )\n         {\n             e.printStackTrace();\n-            obj = null;\n         }   // end catch\n         finally\n         {\n-            try{ bais.close(); } catch( Exception e ){}\n-            try{ ois.close();  } catch( Exception e ){}\n+            closeStream(bais);\n+            closeStream(ois);\n         }   // end finally\n \n         return obj;\n@@ -849,7 +859,7 @@ public static boolean encodeToFile( byte[] dataToEncode, String filename )\n         }   // end catch: IOException\n         finally\n         {\n-            try{ bos.close(); } catch( Exception e ){}\n+            closeStream(bos);\n         }   // end finally\n \n         return success;\n@@ -882,7 +892,7 @@ public static boolean decodeToFile( String dataToDecode, String filename )\n         }   // end catch: IOException\n         finally\n         {\n-                try{ bos.close(); } catch( Exception e ){}\n+            closeStream(bos);\n         }   // end finally\n \n         return success;\n@@ -940,7 +950,7 @@ public static boolean decodeToFile( String dataToDecode, String filename )\n         }   // end catch: IOException\n         finally\n         {\n-            try{ bis.close(); } catch( Exception e) {}\n+            closeStream(bis);\n         }   // end finally\n \n         return decodedData;\n@@ -988,7 +998,7 @@ public static String encodeFromFile( String filename )\n         }   // end catch: IOException\n         finally\n         {\n-            try{ bis.close(); } catch( Exception e) {}\n+            closeStream(bis);\n         }   // end finally\n \n         return encodedData;\n-- \n1.5.6.1.1071.g76fb\n"},{"id":"99337","messageId":"200901050004.41531.robin.rosenberg.lists@dewire.com","threadId":"16988","inReplyTo":"gjrcni$9q$1@ger.gmane.org","subject":"Re: [EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2009-01-04T23:04:41Z","receivedAt":"2009-01-04T23:04:41Z","isPatch":true,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"\nsöndag 04 januari 2009 23:20:19 skrev Vasyl' Vavrychuk:\n> Also fixed:\n> 1. \"The 'Eclipse-LazyStart' header is deprecated, use 'Bundle-ActivationPolicy'\" warning.\n> 2. Possible NullPointerException warning.\n> 3. Unnecessery function parameter warning.\n\nThanks for your interest in the projects. Most changes from a 30 seconds review look reasonable.\nHowever we don't apply changes this way. From your comments it seems we'd require about\nfive patches since the changes are of very different types.\n\n-- robin\n\n> diff --git a/org.spearce.egit.core.test/META-INF/MANIFEST.MF b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n> index ee5f277..e8bcc79 100644\n> --- a/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n> +++ b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n> @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime,\n>   org.spearce.egit.ui,\n>   org.spearce.jgit,\n>   org.eclipse.core.filesystem\n> -Eclipse-LazyStart: true\n> +Bundle-ActivationPolicy: lazy\n\nAny pointers on this? (so I can learn)\n\n> diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n> index c01c1c3..61c32ce 100644\n> --- a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n> +++ b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n> @@ -50,11 +50,11 @@\n>  \tGitFileHistory(final IResource rsrc, final int flags,\n>  \t\t\tfinal IProgressMonitor monitor) {\n>  \t\tresource = rsrc;\n> -\t\twalk = buildWalk(flags);\n> +\t\twalk = buildWalk(/*flags*/);\n>  \t\trevisions = buildRevisions(monitor, flags);\n>  \t}\n> -\tprivate KidWalk buildWalk(final int flags) {\n> +\tprivate KidWalk buildWalk(/*final int flags*/) {\nCan't we just drop the parameter completely and wipe every trace of it?\n\n>  \t\tfinal RepositoryMapping rm = RepositoryMapping.getMapping(resource);\n>  \t\tif (rm == null) {\n>  \t\t\tActivator.logError(\"Git not attached to project \"\n> diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n> index 04130db..db5f20b 100644\n> --- a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n> +++ b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n> @@ -48,9 +48,9 @@\n>   * a Git repository.\n>   */\n>  public class GitProjectData {\n> -\tprivate static final Map projectDataCache = new HashMap();\n> +\tprivate static final Map<IProject, GitProjectData> projectDataCache = new HashMap<IProject, GitProjectData>();\n>  \n> -\tprivate static final Map repositoryCache = new HashMap();\n> +\tprivate static final Map<File, WeakReference> repositoryCache = new HashMap<File, WeakReference>();\nBeen thinking about doing this myself but always found something more interesting to do. Good.\n\n> diff --git a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n> index dcc53cd..4700510 100644\n> --- a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n> +++ b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n> @@ -175,8 +175,9 @@ public void back(int delta) {\n>  \t\t\t// space so this prunes our search more quickly.\n>  \t\t\t//\n>  \t\t\tptr -= Constants.OBJECT_ID_LENGTH;\n> -\t\t\twhile (raw[--ptr] != ' ')\n> -\t\t\t\t/* nothing */;\n> +\t\t\twhile (raw[--ptr] != ' ') {\n> +\t\t\t\t/* nothing */\n> +\t\t\t}\nNot sure if this buys us anything. I wouldn't react if original code was either way, but\nchanging it seems unnecessary.\n\n-- robin\n"},{"id":"99338","messageId":"gjrgip$al9$1@ger.gmane.org","threadId":"16988","inReplyTo":"gjrcni$9q$1@ger.gmane.org","subject":"Re: [EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Vasyl' Vavrychuk","fromEmail":"vvavrychuk@gmail.com","sentAt":"2009-01-04T23:26:02Z","receivedAt":"2009-01-04T23:26:02Z","isPatch":true,"sender":{"key":"vvavrychuk@gmail.com","avatar":"https://avatars.githubusercontent.com/u/152563?v=4"},"body":"Not sure what is right:\npublic abstract class AnyObjectId implements Comparable<ObjectId> {\nor\npublic abstract class AnyObjectId implements Comparable<AnyObjectId> {\n\nIMHO second, but class AnyObjectId contains some compareTo(ObjectId).\n\nAlso not sure if this bunch of changes is complete enough. Maybe it's better to make more fixes in this direction and then commit.\n"},{"id":"99340","messageId":"49615D8E.9020205@gmail.com","threadId":"16988","inReplyTo":"200901050004.41531.robin.rosenberg.lists@dewire.com","subject":"Re: [EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Vasyl' Vavrychuk","fromEmail":"vvavrychuk@gmail.com","sentAt":"2009-01-05T01:08:30Z","receivedAt":"2009-01-05T01:08:30Z","isPatch":true,"sender":{"key":"vvavrychuk@gmail.com","avatar":"https://avatars.githubusercontent.com/u/152563?v=4"},"body":"Robin Rosenberg wrote:\n> söndag 04 januari 2009 23:20:19 skrev Vasyl' Vavrychuk:\n>> Also fixed:\n>> 1. \"The 'Eclipse-LazyStart' header is deprecated, use 'Bundle-ActivationPolicy'\" warning.\n>> 2. Possible NullPointerException warning.\n>> 3. Unnecessery function parameter warning.\n> \n> Thanks for your interest in the projects. \n> Most changes from a 30 seconds review look reasonable.\n> However we don't apply changes this way. From your comments it seems we'd require about\n> five patches since the changes are of very different types.\n\nI thought that commit is trivial. But maybe series of patches will be better because of an ability to revert what we want.\n\n> \n> -- robin\n> \n>> diff --git a/org.spearce.egit.core.test/META-INF/MANIFEST.MF b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n>> index ee5f277..e8bcc79 100644\n>> --- a/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n>> +++ b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n>> @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime,\n>>   org.spearce.egit.ui,\n>>   org.spearce.jgit,\n>>   org.eclipse.core.filesystem\n>> -Eclipse-LazyStart: true\n>> +Bundle-ActivationPolicy: lazy\n> \n> Any pointers on this? (so I can learn)\nhttp://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/bundle_manifest.html\nThe Eclipse-AutoStart and Eclipse-LazyStart headers have been deprecated in Eclipse 3.4\n\n> \n>> diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n>> index c01c1c3..61c32ce 100644\n>> --- a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n>> +++ b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n>> @@ -50,11 +50,11 @@\n>>  \tGitFileHistory(final IResource rsrc, final int flags,\n>>  \t\t\tfinal IProgressMonitor monitor) {\n>>  \t\tresource = rsrc;\n>> -\t\twalk = buildWalk(flags);\n>> +\t\twalk = buildWalk(/*flags*/);\n>>  \t\trevisions = buildRevisions(monitor, flags);\n>>  \t}\n>> -\tprivate KidWalk buildWalk(final int flags) {\n>> +\tprivate KidWalk buildWalk(/*final int flags*/) {\n> Can't we just drop the parameter completely and wipe every trace of it?\nOK\n\n>>  \t\tfinal RepositoryMapping rm = RepositoryMapping.getMapping(resource);\n>>  \t\tif (rm == null) {\n>>  \t\t\tActivator.logError(\"Git not attached to project \"\n>> diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n>> index 04130db..db5f20b 100644\n>> --- a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n>> +++ b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n>> @@ -48,9 +48,9 @@\n>>   * a Git repository.\n>>   */\n>>  public class GitProjectData {\n>> -\tprivate static final Map projectDataCache = new HashMap();\n>> +\tprivate static final Map<IProject, GitProjectData> projectDataCache = new HashMap<IProject, GitProjectData>();\n>>  \n>> -\tprivate static final Map repositoryCache = new HashMap();\n>> +\tprivate static final Map<File, WeakReference> repositoryCache = new HashMap<File, WeakReference>();\n> Been thinking about doing this myself but always found something more interesting to do. Good.\n\nHope that we will have a generic version of SWT/JFace sometime. Because now I do not know how to handle an inter operation between generic collections and SWT, use SuppressWarning there maybe?\n\n>> diff --git a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n>> index dcc53cd..4700510 100644\n>> --- a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n>> +++ b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n>> @@ -175,8 +175,9 @@ public void back(int delta) {\n>>  \t\t\t// space so this prunes our search more quickly.\n>>  \t\t\t//\n>>  \t\t\tptr -= Constants.OBJECT_ID_LENGTH;\n>> -\t\t\twhile (raw[--ptr] != ' ')\n>> -\t\t\t\t/* nothing */;\n>> +\t\t\twhile (raw[--ptr] != ' ') {\n>> +\t\t\t\t/* nothing */\n>> +\t\t\t}\n> Not sure if this buys us anything. I wouldn't react if original code was either way, but\n> changing it seems unnecessary.\n\nWith an old version I get \"Empty control-flow statement\" warning, I've checked org.eclipse.jdt.core.prefs file, there is:\norg.eclipse.jdt.core.compiler.problem.emptyStatement=warning\n"},{"id":"99341","messageId":"49615EA9.9070706@gmail.com","threadId":"16988","inReplyTo":"200901050004.41531.robin.rosenberg.lists@dewire.com","subject":"Re: [EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Vasyl' Vavrychuk","fromEmail":"vvavrychuk@gmail.com","sentAt":"2009-01-05T01:13:13Z","receivedAt":"2009-01-05T01:13:13Z","isPatch":true,"sender":{"key":"vvavrychuk@gmail.com","avatar":"https://avatars.githubusercontent.com/u/152563?v=4"},"body":"Robin Rosenberg wrote:\n> söndag 04 januari 2009 23:20:19 skrev Vasyl' Vavrychuk:\n>> Also fixed:\n>> 1. \"The 'Eclipse-LazyStart' header is deprecated, use 'Bundle-ActivationPolicy'\" warning.\n>> 2. Possible NullPointerException warning.\n>> 3. Unnecessery function parameter warning.\n> \n> Thanks for your interest in the projects. \n> Most changes from a 30 seconds review look reasonable.\n> However we don't apply changes this way. From your comments it seems we'd require about\n> five patches since the changes are of very different types.\n\nI thought that commit is trivial. But maybe series of patches will be better because of an ability to revert what we want.\n\n> \n> -- robin\n> \n>> diff --git a/org.spearce.egit.core.test/META-INF/MANIFEST.MF b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n>> index ee5f277..e8bcc79 100644\n>> --- a/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n>> +++ b/org.spearce.egit.core.test/META-INF/MANIFEST.MF\n>> @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime,\n>>   org.spearce.egit.ui,\n>>   org.spearce.jgit,\n>>   org.eclipse.core.filesystem\n>> -Eclipse-LazyStart: true\n>> +Bundle-ActivationPolicy: lazy\n> \n> Any pointers on this? (so I can learn)\nhttp://help.eclipse.org/ganymede/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/bundle_manifest.html\nThe Eclipse-AutoStart and Eclipse-LazyStart headers have been deprecated in Eclipse 3.4\n\n> \n>> diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n>> index c01c1c3..61c32ce 100644\n>> --- a/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n>> +++ b/org.spearce.egit.core/src/org/spearce/egit/core/internal/storage/GitFileHistory.java\n>> @@ -50,11 +50,11 @@\n>>  \tGitFileHistory(final IResource rsrc, final int flags,\n>>  \t\t\tfinal IProgressMonitor monitor) {\n>>  \t\tresource = rsrc;\n>> -\t\twalk = buildWalk(flags);\n>> +\t\twalk = buildWalk(/*flags*/);\n>>  \t\trevisions = buildRevisions(monitor, flags);\n>>  \t}\n>> -\tprivate KidWalk buildWalk(final int flags) {\n>> +\tprivate KidWalk buildWalk(/*final int flags*/) {\n> Can't we just drop the parameter completely and wipe every trace of it?\nOK\n\n>>  \t\tfinal RepositoryMapping rm = RepositoryMapping.getMapping(resource);\n>>  \t\tif (rm == null) {\n>>  \t\t\tActivator.logError(\"Git not attached to project \"\n>> diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n>> index 04130db..db5f20b 100644\n>> --- a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n>> +++ b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java\n>> @@ -48,9 +48,9 @@\n>>   * a Git repository.\n>>   */\n>>  public class GitProjectData {\n>> -\tprivate static final Map projectDataCache = new HashMap();\n>> +\tprivate static final Map<IProject, GitProjectData> projectDataCache = new HashMap<IProject, GitProjectData>();\n>>  \n>> -\tprivate static final Map repositoryCache = new HashMap();\n>> +\tprivate static final Map<File, WeakReference> repositoryCache = new HashMap<File, WeakReference>();\n> Been thinking about doing this myself but always found something more interesting to do. Good.\n\nHope that we will have a generic version of SWT/JFace sometime. Because now I do not know how to handle an inter operation between generic collections and SWT, use SuppressWarning there maybe?\n\n>> diff --git a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n>> index dcc53cd..4700510 100644\n>> --- a/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n>> +++ b/org.spearce.jgit/src/org/spearce/jgit/treewalk/CanonicalTreeParser.java\n>> @@ -175,8 +175,9 @@ public void back(int delta) {\n>>  \t\t\t// space so this prunes our search more quickly.\n>>  \t\t\t//\n>>  \t\t\tptr -= Constants.OBJECT_ID_LENGTH;\n>> -\t\t\twhile (raw[--ptr] != ' ')\n>> -\t\t\t\t/* nothing */;\n>> +\t\t\twhile (raw[--ptr] != ' ') {\n>> +\t\t\t\t/* nothing */\n>> +\t\t\t}\n> Not sure if this buys us anything. I wouldn't react if original code was either way, but\n> changing it seems unnecessary.\n\nWith an old version I get \"Empty control-flow statement\" warning, I've checked org.eclipse.jdt.core.prefs file, there is:\norg.eclipse.jdt.core.compiler.problem.emptyStatement=warning\n"},{"id":"99343","messageId":"20090105021959.GB20973@spearce.org","threadId":"16988","inReplyTo":"gjrgip$al9$1@ger.gmane.org","subject":"Re: [EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2009-01-05T02:19:59Z","receivedAt":"2009-01-05T02:19:59Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Vasyl' Vavrychuk <vvavrychuk@gmail.com> wrote:\n> Not sure what is right:\n> public abstract class AnyObjectId implements Comparable<ObjectId> {\n> or\n> public abstract class AnyObjectId implements Comparable<AnyObjectId> {\n> \n> IMHO second, but class AnyObjectId contains some compareTo(ObjectId).\n \nHmmph.  That probably can be AnyObjectId.  At one point we only had\nObjectId, then AnyObjectId was introduced as a base so we can have\nthe immutable AnyObjectId and the mutable MutableObjectId subclasses.\n\ncompareTo doesn't care about the mutable state of its argument, this\nis probably left-over code that didn't get converted when we added\nthe AnyObjectId base class.\n\nSo it should be the second, and the compareTo method should be made\nto match that.\n\n-- \nShawn.\n"},{"id":"99395","messageId":"200901060154.55865.robin.rosenberg.lists@dewire.com","threadId":"16988","inReplyTo":"gjrgip$al9$1@ger.gmane.org","subject":"Re: [EGIT PATCH] Fixed trivial warnings. Mainly parametrized raw types, added serialVersionUID, removed unnecessery throws.","fromName":"Robin Rosenberg","fromEmail":"robin.rosenberg.lists@dewire.com","sentAt":"2009-01-06T00:54:55Z","receivedAt":"2009-01-06T00:54:55Z","isPatch":true,"sender":{"key":"robin.rosenberg@dewire.com","avatar":"https://avatars.githubusercontent.com/u/46357?v=4"},"body":"måndag 05 januari 2009 00:26:02 skrev Vasyl' Vavrychuk:\n> Not sure what is right:\n> public abstract class AnyObjectId implements Comparable<ObjectId> {\n> or\n> public abstract class AnyObjectId implements Comparable<AnyObjectId> {\n> \n> IMHO second, but class AnyObjectId contains some compareTo(ObjectId).\n> \n> Also not sure if this bunch of changes is complete enough. Maybe it's better to make more fixes in this direction and then commit.\n\nI broke up the patch and applied it just to be nice, with the exception of this change.\n\n-- robin\n"}]}