Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitBlobMapping.java')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitBlobMapping.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitBlobMapping.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitBlobMapping.java
new file mode 100644
index 0000000000..e8c59d9d64
--- /dev/null
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/mapping/GitBlobMapping.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (C) 2010, Dariusz Luksza <dariusz@luksza.org>
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+package org.eclipse.egit.ui.internal.synchronize.mapping;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.resources.mapping.ResourceMappingContext;
+import org.eclipse.core.resources.mapping.ResourceTraversal;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.egit.ui.internal.synchronize.model.GitModelBlob;
+
+class GitBlobMapping extends GitObjectMapping {
+
+ private final GitModelBlob gitBlob;
+
+ private final static IWorkspaceRoot workspaceRoot = ResourcesPlugin
+ .getWorkspace().getRoot();
+
+ GitBlobMapping(GitModelBlob gitBlob) {
+ super(gitBlob);
+ this.gitBlob = gitBlob;
+ }
+
+ @Override
+ public ResourceTraversal[] getTraversals(ResourceMappingContext context,
+ IProgressMonitor monitor) throws CoreException {
+ IPath path = gitBlob.getLocation();
+ IResource file = workspaceRoot.getFileForLocation(path);
+
+ if (file != null)
+ return new ResourceTraversal[] { new ResourceTraversal(
+ new IResource[] { file }, IResource.DEPTH_ZERO,
+ IResource.ALLOW_MISSING_LOCAL) };
+
+ return new ResourceTraversal[0];
+ }
+
+}

Back to the top