From ae0e87daa1d11798cdcfc4e4aaccdb3c4b104712 Mon Sep 17 00:00:00 2001 From: Brian Remedios Date: Wed, 3 Mar 2010 16:03:02 +0000 Subject: [PATCH] + missing utility class for repository access git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7085 51baf565-9d33-0410-a72c-fc3788e3496d --- .../pmd/eclipse/ui/model/FileRecord.java | 1 - .../pmd/eclipse/ui/model/RepositoryUtil.java | 45 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100755 pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/RepositoryUtil.java diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/FileRecord.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/FileRecord.java index a2b0a1cbd1..88cfbdcdf9 100644 --- a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/FileRecord.java +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/FileRecord.java @@ -53,7 +53,6 @@ import net.sourceforge.pmd.eclipse.runtime.PMDRuntimeConstants; import net.sourceforge.pmd.eclipse.runtime.builder.MarkerUtil; import net.sourceforge.pmd.eclipse.ui.PMDUiConstants; import net.sourceforge.pmd.eclipse.ui.nls.StringKeys; -import net.sourceforge.pmd.eclipse.ui.views.br.RepositoryUtil; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; diff --git a/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/RepositoryUtil.java b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/RepositoryUtil.java new file mode 100755 index 0000000000..dc52134851 --- /dev/null +++ b/pmd-eclipse-plugin/plugins/net.sourceforge.pmd.eclipse.plugin/src/net/sourceforge/pmd/eclipse/ui/model/RepositoryUtil.java @@ -0,0 +1,45 @@ +package net.sourceforge.pmd.eclipse.ui.model; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.team.core.RepositoryProvider; +import org.eclipse.team.core.history.IFileRevision; + +/** + * + * @author Brian Remedios + */ +public class RepositoryUtil { + + private static Boolean hasRepositoryAccess; + + private RepositoryUtil() { } + + public static boolean hasRepositoryAccess() { + + if (hasRepositoryAccess != null) return hasRepositoryAccess; + + try { + Object cls = Class.forName("org.eclipse.team.core.RepositoryProvider"); + hasRepositoryAccess = Boolean.TRUE; + } catch (ClassNotFoundException e) { + hasRepositoryAccess = Boolean.FALSE; + } + + return hasRepositoryAccess; + } + + public static String authorNameFor(IResource resource) { + + IProject project = resource.getProject(); + String authorName = null; + try { + RepositoryProvider provider = RepositoryProvider.getProvider(project); + IFileRevision revision = provider.getFileHistoryProvider().getWorkspaceFileRevision(resource); + authorName = revision.getAuthor(); + } catch (Exception ex) { + ex.printStackTrace(); + } + return authorName; + } +}