public ScmArtifact getArtifact(IResource resource) throws CoreException { return getArtifact(resource, null); }
@Override public IFileRevision getFileRevision(IProgressMonitor monitor) { return getFileHistory(monitor).getFileRevision(getId()); }
/** * Returns the UI connector that corresponds to <code>coreConnector</code>. * * @return the connector instance or null if no UI connector is registered for <code>coreConnector</code> */ public static ScmConnectorUi getUiConnector(ScmConnector coreConnector) { return getScmUiConnectorById(coreConnector.getProviderId()); }
public ScmResourceArtifact(ScmConnector connector, IResource resource, String id, String path) { super(id, path); this.connector = connector; this.resource = resource; setProjectName(resource.getProject().getName()); setProjectRelativePath(resource.getProjectRelativePath().toPortableString()); }
/** * Return all handles to Resource files for the given URI (in absolute form) * * @param filePathURI * - Absolute URI to the file * @return - File handles to resource files within the workspace */ public static IFile[] getWorkSpaceFiles(URI filePathURI) { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IFile[] files = null; if (filePathURI != null) { files = filterNonExistentFiles(root.findFilesForLocationURI(filePathURI)); } return files; }
/** * Find the workspace file identified by the absolute URI which is associated to the given project * * @param aFilePathURI * - URI in absolute format * @param aProject * - workspace project where is expected * @return - null if no file found */ public static IFile getWorkSpaceFile(URI aFilePathURI, IProject aProject) { IFile[] files = getWorkSpaceFiles(aFilePathURI); for (IFile iFile : files) { if (iFile.getProject().equals(aProject)) { // found return iFile; } } // not found return null; }
@Override public IFileRevision[] getContributors(IProgressMonitor monitor) { IFileHistory history = getFileHistory(monitor); IFileRevision fileRevision = history.getFileRevision(getId()); return (fileRevision != null) ? history.getContributors(fileRevision) : null; }
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { ScmArtifact rightArtifact = connector.getArtifact(resource, revision); right.set(rightArtifact.getFileRevision(monitor)); if (prevRevision != null) { ScmArtifact leftArtifact = connector.getArtifact(resource, prevRevision); left.set(leftArtifact.getFileRevision(monitor)); } if (left.get() == null) { try { IFileRevision[] contributors = rightArtifact.getContributors(monitor); if (contributors != null && contributors.length > 0) { left.set(contributors[0]); } } catch (UnsupportedOperationException e) { // ignore } } } catch (CoreException e) { throw new InvocationTargetException(e); } } });
public IFileHistory getFileHistory(IProgressMonitor monitor) { RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), connector.getProviderId()); IFileHistory history = provider.getFileHistoryProvider().getFileHistoryFor(resource, IFileHistoryProvider.NONE, monitor); return history; }
@Override public IFileRevision[] getTargets(IProgressMonitor monitor) { IFileHistory history = getFileHistory(monitor); IFileRevision fileRevision = history.getFileRevision(getId()); return (fileRevision != null) ? history.getTargets(fileRevision) : null; }