Ensure Copyright Checker/Updater works with Git

bug: 345669
Change-Id: Ibae99faa39158315a02a80d3f188ff720552fbf3
diff --git a/org.eclipse.egit.relengtools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.egit.relengtools/.settings/org.eclipse.jdt.core.prefs
index 23a3bc1..fa6d37d 100644
--- a/org.eclipse.egit.relengtools/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.egit.relengtools/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Thu Oct 14 11:01:27 CEST 2010

+#Fri Mar 02 13:17:33 CET 2012

 eclipse.preferences.version=1

 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled

 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

@@ -84,9 +84,12 @@
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true

 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false

 org.eclipse.jdt.core.formatter.indentation.size=4

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert

-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert

+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert

 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert

 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert

diff --git a/org.eclipse.egit.relengtools/plugin.xml b/org.eclipse.egit.relengtools/plugin.xml
index 3bd3349..5e89307 100644
--- a/org.eclipse.egit.relengtools/plugin.xml
+++ b/org.eclipse.egit.relengtools/plugin.xml
Binary files differ
diff --git a/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapter.java b/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapter.java
index dfce499..caf807b 100644
--- a/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapter.java
+++ b/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapter.java
@@ -19,6 +19,8 @@
 import org.eclipse.core.resources.IResource;

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.core.runtime.IProgressMonitor;

+import org.eclipse.core.runtime.IStatus;

+import org.eclipse.core.runtime.Status;

 import org.eclipse.egit.core.project.RepositoryMapping;

 import org.eclipse.jgit.lib.Constants;

 import org.eclipse.jgit.lib.ObjectId;

@@ -26,6 +28,7 @@
 import org.eclipse.jgit.revwalk.RevCommit;

 import org.eclipse.jgit.revwalk.RevWalk;

 import org.eclipse.jgit.treewalk.filter.PathFilter;

+import org.eclipse.osgi.util.NLS;

 import org.eclipse.releng.tools.RepositoryProviderCopyrightAdapter;

 

 public class GitCopyrightAdapter extends RepositoryProviderCopyrightAdapter {

@@ -36,22 +39,24 @@
 		super(resources);

 	}

 

+	@Override

 	public int getLastModifiedYear(IFile file, IProgressMonitor monitor)

 			throws CoreException {

 		try {

 			monitor.beginTask("Fetching logs from Git", 100); //$NON-NLS-1$

-			RepositoryMapping mapping = RepositoryMapping.getMapping(file);

+			final RepositoryMapping mapping = RepositoryMapping

+					.getMapping(file);

 			if (mapping != null) {

-				Repository repo = mapping.getRepository();

+				final Repository repo = mapping.getRepository();

 				if (repo != null) {

 					RevWalk walk = null;

 					try {

-						ObjectId start = repo.resolve(Constants.HEAD);

+						final ObjectId start = repo.resolve(Constants.HEAD);

 						walk = new RevWalk(repo);

 						walk.setTreeFilter(PathFilter.create(mapping

 								.getRepoRelativePath(file)));

 						walk.markStart(walk.lookupCommit(start));

-						RevCommit commit = walk.next();

+						final RevCommit commit = walk.next();

 						if (commit != null) {

 							if (filterString != null

 									&& commit.getFullMessage().toLowerCase()

@@ -60,13 +65,17 @@
 								// ignore

 								return 0;

 							}

-							Calendar calendar = Calendar.getInstance();

-							calendar.setTimeInMillis(commit.getCommitTime() * 1000);

+							final Calendar calendar = Calendar.getInstance();

+							calendar.setTimeInMillis(0);

+							calendar.add(Calendar.SECOND,

+									commit.getCommitTime());

 							return calendar.get(Calendar.YEAR);

 						}

-					} catch (IOException e) {

-						// TODO Auto-generated catch block

-						e.printStackTrace();

+					} catch (final IOException e) {

+						throw new CoreException(new Status(IStatus.ERROR,

+								"org.eclipse.egit.relengtools", 0, NLS.bind(

+										"An error occured when processing {0}",

+										file.getName()), e));

 					} finally {

 						if (walk != null)

 							walk.release();

@@ -80,6 +89,7 @@
 		return -1;

 	}

 

+	@Override

 	public void initialize(IProgressMonitor monitor) throws CoreException {

 		// TODO We should perform a bulk "log" command to get the last modified

 		// year

diff --git a/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapterFactory.java b/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapterFactory.java
index cbab564..dc9ac38 100644
--- a/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapterFactory.java
+++ b/org.eclipse.egit.relengtools/src/org/eclipse/egit/internal/relengtools/GitCopyrightAdapterFactory.java
@@ -27,12 +27,12 @@
 	public Object getAdapter(Object adaptableObject, Class adapterType) {

 		if (IRepositoryProviderCopyrightAdapterFactory.class

 				.equals(adapterType)) {

-			return getCvsCopyrightAdapter(adaptableObject);

+			return getGitCopyrightAdapter(adaptableObject);

 		}

 		return null;

 	}

 

-	private Object getCvsCopyrightAdapter(Object adaptableObject) {

+	private Object getGitCopyrightAdapter(Object adaptableObject) {

 		if (!(adaptableObject instanceof RepositoryProviderType))

 			return null;

 		return this;

@@ -48,5 +48,4 @@
 			IResource[] resources) {

 		return new GitCopyrightAdapter(resources);

 	}

-

 }