diff options
author | Alexander Kurtakov | 2017-07-25 15:01:13 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2017-07-25 15:05:06 +0000 |
commit | 3734ce46345e063654bf3bdc0ff6a3096bc0d501 (patch) | |
tree | 8116dfe1bce4bf55085edda12f867920aa0c8e5f /bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core | |
parent | 6a433070e2339a9bb564565a873f54c697ec1feb (diff) | |
download | eclipse.platform.team-3734ce46345e063654bf3bdc0ff6a3096bc0d501.tar.gz eclipse.platform.team-3734ce46345e063654bf3bdc0ff6a3096bc0d501.tar.xz eclipse.platform.team-3734ce46345e063654bf3bdc0ff6a3096bc0d501.zip |
Bug 520159 - Modernize o.e.team.core
* Generify.
* Replace non-javadoc with @Override
* Convert to lambdas
Change-Id: I8cd3bc81ce83b53bb9c80f5f928a963baa82b872
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Diffstat (limited to 'bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core')
29 files changed, 347 insertions, 469 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/AdapterFactory.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/AdapterFactory.java index f9177ad19..9b5ca39cb 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/AdapterFactory.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/AdapterFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -17,21 +17,18 @@ import org.eclipse.team.internal.core.mapping.ModelProviderResourceMapping; public class AdapterFactory implements IAdapterFactory { - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class) - */ - public Object getAdapter(Object adaptableObject, Class adapterType) { + @Override + @SuppressWarnings("unchecked") + public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) { if (adaptableObject instanceof ModelProvider && adapterType == ResourceMapping.class) { ModelProvider mp = (ModelProvider) adaptableObject; - return new ModelProviderResourceMapping(mp); + return (T) new ModelProviderResourceMapping(mp); } return null; } - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList() - */ - public Class[] getAdapterList() { + @Override + public Class<?>[] getAdapterList() { return new Class[] { ResourceMapping.class}; } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/BackgroundEventHandler.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/BackgroundEventHandler.java index 82b522361..82eb1c4a5 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/BackgroundEventHandler.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/BackgroundEventHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -101,6 +101,7 @@ public abstract class BackgroundEventHandler { public int getType() { return type; } + @Override public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("Background Event: "); //$NON-NLS-1$ @@ -129,9 +130,11 @@ public abstract class BackgroundEventHandler { public int getDepth() { return depth; } + @Override public IResource getResource() { return resource; } + @Override public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("resource: "); //$NON-NLS-1$ @@ -199,20 +202,25 @@ public abstract class BackgroundEventHandler { */ protected void createEventHandlingJob() { eventHandlerJob = new Job(getName()) { + @Override public IStatus run(IProgressMonitor monitor) { return processEvents(monitor); } + @Override public boolean shouldRun() { return ! isQueueEmpty(); } + @Override public boolean shouldSchedule() { return ! isQueueEmpty(); } + @Override public boolean belongsTo(Object family) { return BackgroundEventHandler.this.belongsTo(family); } }; eventHandlerJob.addJobChangeListener(new JobChangeAdapter() { + @Override public void done(IJobChangeEvent event) { jobDone(event); } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/Cache.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/Cache.java index e578f4cf6..b01abf667 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/Cache.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/Cache.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -27,28 +27,25 @@ import org.eclipse.team.core.ICacheListener; */ public class Cache implements ICache { - Map properties; - ListenerList listeners; + Map<String, Object> properties; + ListenerList<ICacheListener> listeners; - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.ISynchronizeOperationContext#addProperty(java.lang.String, java.lang.Object) - */ + @Override public synchronized void put(String name, Object value) { if (properties == null) { - properties = new HashMap(); + properties = new HashMap<>(); } properties.put(name, value); } + @Override public synchronized Object get(String name) { if (properties == null) return null; return properties.get(name); } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.ISynchronizeOperationContext#removeProperty(java.lang.String) - */ + @Override public synchronized void remove(String name) { if (properties != null) properties.remove(name); @@ -58,43 +55,34 @@ public class Cache implements ICache { } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.ISynchronizeOperationContext#addDisposeListener(org.eclipse.team.ui.mapping.IDisposeListener) - */ + @Override public synchronized void addCacheListener(ICacheListener listener) { if (listeners == null) - listeners = new ListenerList(ListenerList.IDENTITY); + listeners = new ListenerList<>(ListenerList.IDENTITY); listeners.add(listener); } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.ISynchronizeOperationContext#removeDisposeListener(org.eclipse.team.ui.mapping.IDisposeListener) - */ + @Override public synchronized void removeDisposeListener(ICacheListener listener) { removeCacheListener(listener); } - /* (non-Javadoc) - * @see org.eclipse.team.core.ICache#removeCacheListener(org.eclipse.team.core.ICacheListener) - */ + @Override public synchronized void removeCacheListener(ICacheListener listener) { if (listeners != null) listeners.remove(listener); } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.ISynchronizationContext#dispose() - */ public void dispose() { if (listeners != null) { - Object[] allListeners = listeners.getListeners(); - for (int i = 0; i < allListeners.length; i++) { - final Object listener = allListeners[i]; + for (ICacheListener listener : listeners) { SafeRunner.run(new ISafeRunnable(){ + @Override public void run() throws Exception { - ((ICacheListener)listener).cacheDisposed(Cache.this); + listener.cacheDisposed(Cache.this); } + @Override public void handleException(Throwable exception) { // Ignore since the platform logs the error diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultMoveDeleteHook.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultMoveDeleteHook.java index 033ba299d..a14410124 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultMoveDeleteHook.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/DefaultMoveDeleteHook.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -26,9 +26,7 @@ import org.eclipse.core.runtime.IProgressMonitor; public class DefaultMoveDeleteHook implements IMoveDeleteHook { - /** - * @see IMoveDeleteHook#deleteFile(IResourceTree, IFile, int, IProgressMonitor) - */ + @Override public boolean deleteFile( IResourceTree tree, IFile file, @@ -37,9 +35,7 @@ public class DefaultMoveDeleteHook implements IMoveDeleteHook { return false; } - /** - * @see IMoveDeleteHook#deleteFolder(IResourceTree, IFolder, int, IProgressMonitor) - */ + @Override public boolean deleteFolder( IResourceTree tree, IFolder folder, @@ -48,9 +44,7 @@ public class DefaultMoveDeleteHook implements IMoveDeleteHook { return false; } - /** - * @see IMoveDeleteHook#deleteProject(IResourceTree, IProject, int, IProgressMonitor) - */ + @Override public boolean deleteProject( IResourceTree tree, IProject project, @@ -59,9 +53,7 @@ public class DefaultMoveDeleteHook implements IMoveDeleteHook { return false; } - /** - * @see IMoveDeleteHook#moveFile(IResourceTree, IFile, IFile, int, IProgressMonitor) - */ + @Override public boolean moveFile( IResourceTree tree, IFile source, @@ -71,9 +63,7 @@ public class DefaultMoveDeleteHook implements IMoveDeleteHook { return false; } - /** - * @see IMoveDeleteHook#moveFolder(IResourceTree, IFolder, IFolder, int, IProgressMonitor) - */ + @Override public boolean moveFolder( IResourceTree tree, IFolder source, @@ -83,9 +73,7 @@ public class DefaultMoveDeleteHook implements IMoveDeleteHook { return false; } - /** - * @see IMoveDeleteHook#moveProject(IResourceTree, IProject, IProjectDescription, int, IProgressMonitor) - */ + @Override public boolean moveProject( IResourceTree tree, IProject source, diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/FileModificationValidatorManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/FileModificationValidatorManager.java index 07a511564..b62b49bab 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/FileModificationValidatorManager.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/FileModificationValidatorManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -29,11 +29,12 @@ public class FileModificationValidatorManager extends FileModificationValidator * Ask each provider once for its files. * Collect the resulting status' and return a MultiStatus. */ + @Override public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) { - ArrayList returnStati = new ArrayList(); + ArrayList<IStatus> returnStati = new ArrayList<>(); //map provider to the files under that provider's control - Map providersToFiles = new HashMap(files.length); + Map<RepositoryProvider, List<IFile>> providersToFiles = new HashMap<>(files.length); //for each file, determine which provider, map providers to files for (int i = 0; i < files.length; i++) { @@ -41,21 +42,21 @@ public class FileModificationValidatorManager extends FileModificationValidator RepositoryProvider provider = RepositoryProvider.getProvider(file.getProject()); if (!providersToFiles.containsKey(provider)) { - providersToFiles.put(provider, new ArrayList()); + providersToFiles.put(provider, new ArrayList<>()); } - ((ArrayList)providersToFiles.get(provider)).add(file); + providersToFiles.get(provider).add(file); } - Iterator providersIterator = providersToFiles.keySet().iterator(); + Iterator<RepositoryProvider> providersIterator = providersToFiles.keySet().iterator(); boolean allOK = true; //for each provider, validate its files while(providersIterator.hasNext()) { - RepositoryProvider provider = (RepositoryProvider)providersIterator.next(); - ArrayList filesList = (ArrayList)providersToFiles.get(provider); - IFile[] filesArray = (IFile[])filesList.toArray(new IFile[filesList.size()]); + RepositoryProvider provider = providersIterator.next(); + List<IFile> filesList = providersToFiles.get(provider); + IFile[] filesArray = filesList.toArray(new IFile[filesList.size()]); FileModificationValidator validator = getDefaultValidator(); //if no provider or no validator use the default validator @@ -72,21 +73,14 @@ public class FileModificationValidatorManager extends FileModificationValidator } if (returnStati.size() == 1) { - return (IStatus)returnStati.get(0); + return returnStati.get(0); } - return new MultiStatus(TeamPlugin.ID, - 0, - (IStatus[])returnStati.toArray(new IStatus[returnStati.size()]), - allOK - ? Messages.ok - : Messages.FileModificationValidator_editFailed, - null); + return new MultiStatus(TeamPlugin.ID, 0, returnStati.toArray(new IStatus[returnStati.size()]), + allOK ? Messages.ok : Messages.FileModificationValidator_editFailed, null); } - /* - * @see IFileModificationValidator#validateSave(IFile) - */ + @Override public IStatus validateSave(IFile file) { RepositoryProvider provider = RepositoryProvider.getProvider(file.getProject()); FileModificationValidator validator = getDefaultValidator(); diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/NullSubProgressMonitor.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/NullSubProgressMonitor.java index 882620548..17f99cb2a 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/NullSubProgressMonitor.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/NullSubProgressMonitor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -31,33 +31,23 @@ public class NullSubProgressMonitor extends SubProgressMonitor { super(monitor, 0, 0); } - /** - * @see IProgressMonitor#beginTask(String, int) - */ + @Override public void beginTask(String name, int totalWork) { } - /** - * @see IProgressMonitor#done() - */ + @Override public void done() { } - /** - * @see IProgressMonitor#internalWorked(double) - */ + @Override public void internalWorked(double work) { } - /** - * @see IProgressMonitor#subTask(String) - */ + @Override public void subTask(String name) { } - /** - * @see IProgressMonitor#worked(int) - */ + @Override public void worked(int work) { } } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/PessimisticResourceRuleFactory.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/PessimisticResourceRuleFactory.java index 68bf8e7f8..e7a3d8028 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/PessimisticResourceRuleFactory.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/PessimisticResourceRuleFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -23,52 +23,36 @@ public class PessimisticResourceRuleFactory extends ResourceRuleFactory { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#copyRule(org.eclipse.core.resources.IResource, org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule copyRule(IResource source, IResource destination) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#createRule(org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule createRule(IResource resource) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#deleteRule(org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule deleteRule(IResource resource) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#modifyRule(org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule modifyRule(IResource resource) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#moveRule(org.eclipse.core.resources.IResource, org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule moveRule(IResource source, IResource destination) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#refreshRule(org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule refreshRule(IResource resource) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.IResourceRuleFactory#validateEditRule(org.eclipse.core.resources.IResource[]) - */ + @Override public ISchedulingRule validateEditRule(IResource[] resources) { return root; } - /* (non-Javadoc) - * @see org.eclipse.core.resources.team.ResourceRuleFactory#charsetRule(org.eclipse.core.resources.IResource) - */ + @Override public ISchedulingRule charsetRule(IResource resource) { return root; } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamPlugin.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamPlugin.java index 8795d504c..3d45864f5 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamPlugin.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamPlugin.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2014 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -76,23 +76,19 @@ final public class TeamPlugin extends Plugin { plugin = this; } - /** - * @see Plugin#start(BundleContext) - */ + @Override public void start(BundleContext context) throws Exception { super.start(context); // register debug options listener - Hashtable properties = new Hashtable(2); + Hashtable<String, String> properties = new Hashtable<>(2); properties.put(DebugOptions.LISTENER_SYMBOLICNAME, ID); debugRegistration = context.registerService(DebugOptionsListener.class, Policy.DEBUG_OPTIONS_LISTENER, properties); Team.startup(); } - /** - * @see Plugin#stop(BundleContext) - */ + @Override public void stop(BundleContext context) throws Exception { try { // unregister debug options listener @@ -202,14 +198,14 @@ final public class TeamPlugin extends Plugin { } private static IPath[] getPaths(String metaFilePaths) { - List result = new ArrayList(); + List<IPath> result = new ArrayList<>(); StringTokenizer t = new StringTokenizer(metaFilePaths, ","); //$NON-NLS-1$ while (t.hasMoreTokens()) { String next = t.nextToken(); IPath path = new Path(null, next); result.add(path); } - return (IPath[]) result.toArray(new IPath[result.size()]); + return result.toArray(new IPath[result.size()]); } /** diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamResourceChangeListener.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamResourceChangeListener.java index f93a0163d..613189dc4 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamResourceChangeListener.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/TeamResourceChangeListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. + * Copyright (c) 2004, 2017 IBM Corporation and others. * 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 @@ -8,12 +8,6 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -/* - * Created on Jan 17, 2005 - * - * TODO To change the template for this generated file go to - * Window - Preferences - Java - Code Style - Code Templates - */ package org.eclipse.team.internal.core; import java.util.*; @@ -29,10 +23,10 @@ import org.eclipse.team.core.RepositoryProviderType; */ public final class TeamResourceChangeListener implements IResourceChangeListener { - private static final Map metaFilePaths; // Map of String (repository id) -> IPath[] + private static final Map<String, IPath[]> metaFilePaths; // Map of String (repository id) -> IPath[] static { - metaFilePaths = new HashMap(); + metaFilePaths = new HashMap<>(); String[] ids = RepositoryProvider.getAllProviderTypeIds(); for (int i = 0; i < ids.length; i++) { String id = ids[i]; @@ -43,6 +37,7 @@ public final class TeamResourceChangeListener implements IResourceChangeListener } } + @Override public void resourceChanged(IResourceChangeEvent event) { IResourceDelta[] projectDeltas = event.getDelta().getAffectedChildren(); for (int i = 0; i < projectDeltas.length; i++) { @@ -70,8 +65,8 @@ public final class TeamResourceChangeListener implements IResourceChangeListener private void handleUnsharedProjectChanges(IProject project, IResourceDelta delta) { String repositoryId = null; - Set metaFileContainers = new HashSet(); - Set badIds = new HashSet(); + Set<IContainer> metaFileContainers = new HashSet<>(); + Set<String> badIds = new HashSet<>(); IFile[] files = getAddedFiles(delta); for (int i = 0; i < files.length; i++) { IFile file = files[i]; @@ -92,12 +87,12 @@ public final class TeamResourceChangeListener implements IResourceChangeListener } if (repositoryId != null) { RepositoryProviderType type = RepositoryProviderType.getProviderType(repositoryId); - type.metaFilesDetected(project, (IContainer[]) metaFileContainers.toArray(new IContainer[metaFileContainers.size()])); + type.metaFilesDetected(project, metaFileContainers.toArray(new IContainer[metaFileContainers.size()])); } } private IContainer getContainer(String typeId, IFile file) { - IPath[] paths = (IPath[])metaFilePaths.get(typeId); + IPath[] paths = metaFilePaths.get(typeId); IPath foundPath = null; IPath projectRelativePath = file.getProjectRelativePath(); for (int i = 0; i < paths.length; i++) { @@ -119,9 +114,9 @@ public final class TeamResourceChangeListener implements IResourceChangeListener } private String getMetaFileType(IFile file) { - for (Iterator iter = metaFilePaths.keySet().iterator(); iter.hasNext();) { - String id = (String) iter.next(); - IPath[] paths = (IPath[])metaFilePaths.get(id); + for (Iterator<String> iter = metaFilePaths.keySet().iterator(); iter.hasNext();) { + String id = iter.next(); + IPath[] paths = metaFilePaths.get(id); for (int i = 0; i < paths.length; i++) { IPath path = paths[i]; if (isSuffix(file.getProjectRelativePath(), path)) { @@ -144,20 +139,18 @@ public final class TeamResourceChangeListener implements IResourceChangeListener } private IFile[] getAddedFiles(IResourceDelta delta) { - final List result = new ArrayList(); + final List<IFile> result = new ArrayList<>(); try { - delta.accept(new IResourceDeltaVisitor() { - public boolean visit(IResourceDelta delta) throws CoreException { - if ((delta.getKind() & IResourceDelta.ADDED) != 0 - && delta.getResource().getType() == IResource.FILE) { - result.add(delta.getResource()); - } - return true; + delta.accept(delta1 -> { + if ((delta1.getKind() & IResourceDelta.ADDED) != 0 + && delta1.getResource().getType() == IResource.FILE) { + result.add((IFile) delta1.getResource()); } + return true; }); } catch (CoreException e) { TeamPlugin.log(IStatus.ERROR, "An error occurred while scanning for meta-file changes", e); //$NON-NLS-1$ } - return (IFile[]) result.toArray(new IFile[result.size()]); + return result.toArray(new IFile[result.size()]); } }
\ No newline at end of file diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/history/LocalFileRevision.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/history/LocalFileRevision.java index 4b6895b59..1274e0c65 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/history/LocalFileRevision.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/history/LocalFileRevision.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -62,41 +62,31 @@ public class LocalFileRevision extends FileRevision { this.state = null; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.FileRevision#getContentIdentifier() - */ + @Override public String getContentIdentifier() { if (file != null) return baseRevision == null ? NLS.bind(Messages.LocalFileRevision_currentVersion, "") : NLS.bind(Messages.LocalFileRevision_currentVersion, baseRevision.getContentIdentifier()); //$NON-NLS-1$ return ""; //$NON-NLS-1$ } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.FileRevision#getAuthor() - */ + @Override public String getAuthor() { return ""; //$NON-NLS-1$ } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.FileRevision#getComment() - */ + @Override public String getComment() { if (file != null) return Messages.LocalFileRevision_currentVersionTag; return null; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.FileRevision#getTags() - */ + @Override public ITag[] getTags() { return new ITag[0]; } - /* (non-Javadoc) - * @see org.eclipse.team.core.history.IFileState#getStorage(org.eclipse.core.runtime.IProgressMonitor) - */ + @Override public IStorage getStorage(IProgressMonitor monitor) throws CoreException { if (file != null) { return file; @@ -104,9 +94,7 @@ public class LocalFileRevision extends FileRevision { return state; } - /* (non-Javadoc) - * @see org.eclipse.team.core.history.IFileState#getName() - */ + @Override public String getName() { if (file != null) { return file.getName(); @@ -115,9 +103,7 @@ public class LocalFileRevision extends FileRevision { return state.getName(); } - /* (non-Javadoc) - * @see org.eclipse.team.core.variants.FileState#getTimestamp() - */ + @Override public long getTimestamp() { if (file != null) { return file.getLocalTimeStamp(); @@ -131,6 +117,7 @@ public class LocalFileRevision extends FileRevision { * A LocalFileRevision generally should exist, but if it doesn't, this * method should tell the truth. */ + @Override public boolean exists() { if (file != null) { return file.exists(); @@ -147,11 +134,13 @@ public class LocalFileRevision extends FileRevision { this.baseRevision = baseRevision; } + @Override public boolean isPropertyMissing() { return true; } + @Override public IFileRevision withAllProperties(IProgressMonitor monitor) { return this; } @@ -166,6 +155,7 @@ public class LocalFileRevision extends FileRevision { return (this.getTimestamp() > compareRevisionTime); } + @Override public URI getURI() { if (file != null) return file.getLocationURI(); @@ -185,6 +175,7 @@ public class LocalFileRevision extends FileRevision { return file != null; } + @Override public boolean equals(Object obj) { if (obj == this) return true; @@ -202,6 +193,7 @@ public class LocalFileRevision extends FileRevision { return (s1.getFullPath().equals(s2.getFullPath()) && s1.getModificationTime() == s2.getModificationTime()); } + @Override public int hashCode() { if (file != null) return file.hashCode(); diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/importing/BundleImporterExtension.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/importing/BundleImporterExtension.java index 4f133c782..196fe5039 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/importing/BundleImporterExtension.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/importing/BundleImporterExtension.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 IBM Corporation and others. + * Copyright (c) 2011, 2017 IBM Corporation and others. * 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 @@ -38,9 +38,7 @@ public class BundleImporterExtension implements IBundleImporter { this.element = element; } - /* (non-Javadoc) - * @see org.eclipse.pde.core.project.IBundleImporterDelegate#validateImport(java.util.Map[]) - */ + @Override public ScmUrlImportDescription[] validateImport(Map[] manifests) { try { return getDelegate().validateImport(manifests); @@ -59,18 +57,20 @@ public class BundleImporterExtension implements IBundleImporter { private synchronized IBundleImporterDelegate getDelegate() throws CoreException { if (delegate == null) { delegate = new BundleImporterDelegate() { - private Set supportedValues; + private Set<String> supportedValues; private RepositoryProviderType providerType; + @Override protected Set getSupportedValues() { if (supportedValues == null) { IConfigurationElement[] supported = element.getChildren("supports"); //$NON-NLS-1$ - supportedValues = new HashSet(supported.length); + supportedValues = new HashSet<>(supported.length); for (int i = 0; i < supported.length; i++) { supportedValues.add(supported[i].getAttribute("prefix")); //$NON-NLS-1$ } } return supportedValues; } + @Override protected RepositoryProviderType getProviderType() { if (providerType == null) providerType = RepositoryProviderType.getProviderType(element.getAttribute("repository")); //$NON-NLS-1$ @@ -81,30 +81,22 @@ public class BundleImporterExtension implements IBundleImporter { return delegate; } - /* (non-Javadoc) - * @see org.eclipse.pde.core.importing.IBundleImporterDelegate#performImport(org.eclipse.pde.core.importing.BundleImportDescription[], org.eclipse.core.runtime.IProgressMonitor) - */ + @Override public IProject[] performImport(ScmUrlImportDescription[] descriptions, IProgressMonitor monitor) throws CoreException { return getDelegate().performImport(descriptions, monitor); } - /* (non-Javadoc) - * @see org.eclipse.pde.core.project.IBundleImporter#getId() - */ + @Override public String getId() { return element.getAttribute("id"); //$NON-NLS-1$ } - /* (non-Javadoc) - * @see org.eclipse.pde.core.project.IBundleImporter#getDescription() - */ + @Override public String getDescription() { return element.getAttribute("description"); //$NON-NLS-1$ } - /* (non-Javadoc) - * @see org.eclipse.pde.core.project.IBundleImporter#getName() - */ + @Override public String getName() { return element.getAttribute("name"); //$NON-NLS-1$ } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/LineComparator.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/LineComparator.java index e601c04c4..21e1ff04c 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/LineComparator.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/LineComparator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2012 IBM Corporation and others. + * Copyright (c) 2004, 2017 IBM Corporation and others. * 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 @@ -38,6 +38,7 @@ class LineComparator implements IRangeComparator { super(in); } + @Override public int read() throws IOException { int c = super.read(); trailingLF = isLineFeed(c); @@ -49,6 +50,7 @@ class LineComparator implements IRangeComparator { * FilterInputStream states that it will call read(byte[] buffer, int * off, int len) */ + @Override public int read(byte[] buffer, int off, int len) throws IOException { int length = super.read(buffer, off, len); if (length != -1) { @@ -103,7 +105,7 @@ class LineComparator implements IRangeComparator { try (BufferedReader br = new BufferedReader(new InputStreamReader( trailingLineFeedDetector, encoding))) { String line; - ArrayList ar = new ArrayList(); + ArrayList<String> ar = new ArrayList<>(); while ((line = br.readLine()) != null) { ar.add(line); } @@ -114,7 +116,7 @@ class LineComparator implements IRangeComparator { if (trailingLineFeedDetector.hadTrailingLineFeed()) { ar.add(""); //$NON-NLS-1$ } - fLines = (String[]) ar.toArray(new String[ar.size()]); + fLines = ar.toArray(new String[ar.size()]); } } @@ -122,23 +124,12 @@ class LineComparator implements IRangeComparator { return fLines[ix]; } - /* - * (non-Javadoc) - * - * @see - * org.eclipse.compare.rangedifferencer.IRangeComparator#getRangeCount() - */ + @Override public int getRangeCount() { return fLines.length; } - /* - * (non-Javadoc) - * - * @see - * org.eclipse.compare.rangedifferencer.IRangeComparator#rangesEqual(int, - * org.eclipse.compare.rangedifferencer.IRangeComparator, int) - */ + @Override public boolean rangesEqual(int thisIndex, IRangeComparator other, int otherIndex) { String s1 = fLines[thisIndex]; @@ -146,13 +137,7 @@ class LineComparator implements IRangeComparator { return s1.equals(s2); } - /* - * (non-Javadoc) - * - * @see - * org.eclipse.compare.rangedifferencer.IRangeComparator#skipRangeComparison - * (int, int, org.eclipse.compare.rangedifferencer.IRangeComparator) - */ + @Override public boolean skipRangeComparison(int length, int maxLength, IRangeComparator other) { return false; diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceMappingScope.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceMappingScope.java index 6e832a4b5..d94e4b535 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceMappingScope.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceMappingScope.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -30,7 +30,7 @@ import org.eclipse.team.core.mapping.provider.SynchronizationScopeManager; public class ResourceMappingScope extends AbstractResourceMappingScope { private ResourceMapping[] inputMappings; - private final Map mappingsToTraversals = Collections.synchronizedMap(new HashMap()); + private final Map<ResourceMapping, ResourceTraversal[]> mappingsToTraversals = Collections.synchronizedMap(new HashMap<>()); private boolean hasAdditionalMappings; private boolean hasAdditionalResources; private final CompoundResourceTraversal compoundTraversal = new CompoundResourceTraversal(); @@ -55,39 +55,29 @@ public class ResourceMappingScope extends AbstractResourceMappingScope { return newTraversals; } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.IResourceMappingOperationScope#getInputMappings() - */ + @Override public ResourceMapping[] getInputMappings() { return inputMappings; } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.IResourceMappingOperationScope#getMappings() - */ + @Override public ResourceMapping[] getMappings() { if (mappingsToTraversals.isEmpty()) return inputMappings; - return (ResourceMapping[]) mappingsToTraversals.keySet().toArray(new ResourceMapping[mappingsToTraversals.size()]); + return mappingsToTraversals.keySet().toArray(new ResourceMapping[mappingsToTraversals.size()]); } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.IResourceMappingOperationScope#getTraversals() - */ + @Override public ResourceTraversal[] getTraversals() { return compoundTraversal.asTraversals(); } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.IResourceMappingOperationScope#getTraversals(org.eclipse.core.resources.mapping.ResourceMapping) - */ + @Override public ResourceTraversal[] getTraversals(ResourceMapping mapping) { - return (ResourceTraversal[])mappingsToTraversals.get(mapping); + return mappingsToTraversals.get(mapping); } - /* (non-Javadoc) - * @see org.eclipse.team.ui.mapping.IResourceMappingOperationScope#hasAdditionalMappings() - */ + @Override public boolean hasAdditionalMappings() { return hasAdditionalMappings; } @@ -110,9 +100,7 @@ public class ResourceMappingScope extends AbstractResourceMappingScope { this.hasAdditionalResources = hasAdditionalResources; } - /* (non-Javadoc) - * @see org.eclipse.team.core.mapping.IResourceMappingScope#hasAdditonalResources() - */ + @Override public boolean hasAdditonalResources() { return hasAdditionalResources; } @@ -121,16 +109,12 @@ public class ResourceMappingScope extends AbstractResourceMappingScope { return compoundTraversal; } - /* (non-Javadoc) - * @see org.eclipse.team.core.mapping.IResourceMappingScope#asInputScope() - */ + @Override public ISynchronizationScope asInputScope() { return new ResourceMappingInputScope(this); } - /* (non-Javadoc) - * @see org.eclipse.team.core.mapping.ISynchronizationScope#getProjects() - */ + @Override public IProject[] getProjects() { ResourceMappingContext context = getContext(); if (context instanceof RemoteResourceMappingContext) { @@ -140,13 +124,12 @@ public class ResourceMappingScope extends AbstractResourceMappingScope { return ResourcesPlugin.getWorkspace().getRoot().getProjects(); } - /* (non-Javadoc) - * @see org.eclipse.team.core.mapping.ISynchronizationScope#getContext() - */ + @Override public ResourceMappingContext getContext() { return manager.getContext(); } + @Override public void refresh(ResourceMapping[] mappings) { manager.refresh(mappings); } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceVariantFileRevision.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceVariantFileRevision.java index b199f8704..3f1ebf227 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceVariantFileRevision.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ResourceVariantFileRevision.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -23,14 +23,17 @@ public class ResourceVariantFileRevision extends FileRevision implements IAdapta this.variant = variant; } + @Override public IStorage getStorage(IProgressMonitor monitor) throws CoreException { return variant.getStorage(monitor); } + @Override public String getName() { return variant.getName(); } + @Override public String getContentIdentifier() { return variant.getContentIdentifier(); } @@ -39,20 +42,24 @@ public class ResourceVariantFileRevision extends FileRevision implements IAdapta return variant; } + @Override public boolean isPropertyMissing() { return false; } + @Override public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException { return this; } - public Object getAdapter(Class adapter) { + @Override + @SuppressWarnings("unchecked") + public <T> T getAdapter(Class<T> adapter) { if (adapter == IResourceVariant.class) - return variant; + return (T) variant; Object object = Platform.getAdapterManager().getAdapter(this, adapter); if (object != null) - return object; + return (T) object; if (variant instanceof IAdaptable ) { IAdaptable adaptable = (IAdaptable ) variant; return adaptable.getAdapter(adapter); @@ -60,6 +67,7 @@ public class ResourceVariantFileRevision extends FileRevision implements IAdapta return null; } + @Override public boolean equals(Object obj) { if (obj instanceof ResourceVariantFileRevision) { ResourceVariantFileRevision fileRevision = (ResourceVariantFileRevision) obj; @@ -68,6 +76,7 @@ public class ResourceVariantFileRevision extends FileRevision implements IAdapta return false; } + @Override public int hashCode() { return getVariant().hashCode(); } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ScopeManagerEventHandler.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ScopeManagerEventHandler.java index 059fabddf..3fdc4906d 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ScopeManagerEventHandler.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/mapping/ScopeManagerEventHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -26,7 +26,7 @@ import org.eclipse.team.internal.core.Messages; public class ScopeManagerEventHandler extends BackgroundEventHandler { public static final int REFRESH = 10; - private Set toRefresh = new HashSet(); + private Set<ResourceMapping> toRefresh = new HashSet<>(); private ISynchronizationScopeManager manager; class ResourceMappingEvent extends Event { @@ -42,9 +42,10 @@ public class ScopeManagerEventHandler extends BackgroundEventHandler { this.manager = manager; } + @Override protected boolean doDispatchEvents(IProgressMonitor monitor) throws TeamException { - ResourceMapping[] mappings = (ResourceMapping[]) toRefresh.toArray(new ResourceMapping[toRefresh.size()]); + ResourceMapping[] mappings = toRefresh.toArray(new ResourceMapping[toRefresh.size()]); toRefresh.clear(); if (mappings.length > 0) { try { @@ -56,6 +57,7 @@ public class ScopeManagerEventHandler extends BackgroundEventHandler { return mappings.length > 0; } + @Override protected void processEvent(Event event, IProgressMonitor monitor) throws CoreException { if (event instanceof ResourceMappingEvent) { @@ -72,6 +74,7 @@ public class ScopeManagerEventHandler extends BackgroundEventHandler { queueEvent(new ResourceMappingEvent(mappings), false); } + @Override protected Object getJobFamiliy() { return manager; } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSetManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSetManager.java index 4f12c624b..17a7584e4 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSetManager.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ActiveChangeSetManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -53,28 +53,22 @@ public abstract class ActiveChangeSetManager extends ChangeSetManager implements return null; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.ChangeSetManager#add(org.eclipse.team.internal.core.subscribers.ChangeSet) - */ - public void add(ChangeSet set) { + @Override + public void add(ChangeSet set) { Assert.isTrue(set instanceof ActiveChangeSet); super.add(set); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.AbstractChangeSetCollector#handleSetAdded(org.eclipse.team.internal.core.subscribers.ChangeSet) - */ - protected void handleSetAdded(ChangeSet set) { + @Override + protected void handleSetAdded(ChangeSet set) { Assert.isTrue(set instanceof ActiveChangeSet); ((DiffChangeSet)set).getDiffTree().addDiffChangeListener(getDiffTreeListener()); super.handleSetAdded(set); handleAddedResources(set, ((ActiveChangeSet)set).internalGetDiffTree().getDiffs()); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.AbstractChangeSetCollector#handleSetRemoved(org.eclipse.team.internal.core.subscribers.ChangeSet) - */ - protected void handleSetRemoved(ChangeSet set) { + @Override + protected void handleSetRemoved(ChangeSet set) { ((DiffChangeSet)set).getDiffTree().removeDiffChangeListener(getDiffTreeListener()); super.handleSetRemoved(set); } @@ -89,21 +83,18 @@ public abstract class ActiveChangeSetManager extends ChangeSetManager implements return this; } - /* (non-Javadoc) - * @see org.eclipse.team.core.diff.IDiffChangeListener#diffsChanged(org.eclipse.team.core.diff.IDiffChangeEvent, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override public void diffsChanged(IDiffChangeEvent event, IProgressMonitor monitor) { IResourceDiffTree tree = (IResourceDiffTree)event.getTree(); handleSyncSetChange(tree, event.getAdditions(), getAllResources(event)); } - /* (non-Javadoc) - * @see org.eclipse.team.core.diff.IDiffChangeListener#propertyChanged(org.eclipse.team.core.diff.IDiffTree, int, org.eclipse.core.runtime.IPath[]) - */ + @Override public void propertyChanged(IDiffTree tree, int property, IPath[] paths) { // ignore } + @Override public boolean isModified(IFile file) throws CoreException { IDiff diff = getDiff(file); if (diff != null) @@ -437,10 +428,8 @@ public abstract class ActiveChangeSetManager extends ChangeSetManager implements return changeSet; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.IChangeGroupingRequestor#ensureChangesGrouped(org.eclipse.core.resources.IProject, org.eclipse.core.resources.IFile[], java.lang.String) - */ - public void ensureChangesGrouped(IProject project, IFile[] files, + @Override + public void ensureChangesGrouped(IProject project, IFile[] files, String name) throws CoreException { ActiveChangeSet set = getSet(name); if (set == null) { diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/BatchingChangeSetManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/BatchingChangeSetManager.java index c52cc1ae8..7a07c6dc6 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/BatchingChangeSetManager.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/BatchingChangeSetManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -26,9 +26,9 @@ public class BatchingChangeSetManager extends ChangeSetManager { public static class CollectorChangeEvent { - Set added = new HashSet(); - Set removed = new HashSet(); - Map changed = new HashMap(); + Set<ChangeSet> added = new HashSet<>(); + Set<ChangeSet> removed = new HashSet<>(); + Map<ChangeSet, IPath[]> changed = new HashMap<>(); private final BatchingChangeSetManager collector; public CollectorChangeEvent(BatchingChangeSetManager collector) { @@ -50,11 +50,11 @@ public class BatchingChangeSetManager extends ChangeSetManager { private void changed(ChangeSet changeSet, IPath[] allAffectedResources) { if (added.contains(changeSet)) return; - IPath[] paths = (IPath[])changed.get(changeSet); + IPath[] paths = changed.get(changeSet); if (paths == null) { changed.put(changeSet, allAffectedResources); } else { - Set allPaths = new HashSet(); + Set<IPath> allPaths = new HashSet<>(); for (int i = 0; i < paths.length; i++) { IPath path = paths[i]; allPaths.add(path); @@ -63,7 +63,7 @@ public class BatchingChangeSetManager extends ChangeSetManager { IPath path = allAffectedResources[i]; allPaths.add(path); } - changed.put(changeSet, (IPath[]) allPaths.toArray(new IPath[allPaths.size()])); + changed.put(changeSet, allPaths.toArray(new IPath[allPaths.size()])); } } @@ -72,19 +72,19 @@ public class BatchingChangeSetManager extends ChangeSetManager { } public ChangeSet[] getAddedSets() { - return (ChangeSet[]) added.toArray(new ChangeSet[added.size()]); + return added.toArray(new ChangeSet[added.size()]); } public ChangeSet[] getRemovedSets() { - return (ChangeSet[]) removed.toArray(new ChangeSet[removed.size()]); + return removed.toArray(new ChangeSet[removed.size()]); } public ChangeSet[] getChangedSets() { - return (ChangeSet[]) changed.keySet().toArray(new ChangeSet[changed.size()]); + return changed.keySet().toArray(new ChangeSet[changed.size()]); } public IPath[] getChangesFor(ChangeSet set) { - return (IPath[])changed.get(set); + return changed.get(set); } public BatchingChangeSetManager getSource() { @@ -126,9 +126,11 @@ public class BatchingChangeSetManager extends ChangeSetManager { if (listener instanceof IChangeSetCollectorChangeListener) { final IChangeSetCollectorChangeListener csccl = (IChangeSetCollectorChangeListener) listener; SafeRunner.run(new ISafeRunnable() { + @Override public void handleException(Throwable exception) { // Exceptions are logged by the platform } + @Override public void run() throws Exception { csccl.changeSetChanges(event, monitor); } @@ -137,7 +139,8 @@ public class BatchingChangeSetManager extends ChangeSetManager { } } - public void add(ChangeSet set) { + @Override + public void add(ChangeSet set) { try { beginInput(); super.add(set); @@ -147,7 +150,8 @@ public class BatchingChangeSetManager extends ChangeSetManager { } } - public void remove(ChangeSet set) { + @Override + public void remove(ChangeSet set) { try { beginInput(); super.remove(set); @@ -157,7 +161,8 @@ public class BatchingChangeSetManager extends ChangeSetManager { } } - protected void fireResourcesChangedEvent(ChangeSet changeSet, IPath[] allAffectedResources) { + @Override + protected void fireResourcesChangedEvent(ChangeSet changeSet, IPath[] allAffectedResources) { super.fireResourcesChangedEvent(changeSet, allAffectedResources); try { beginInput(); @@ -167,7 +172,8 @@ public class BatchingChangeSetManager extends ChangeSetManager { } } - protected void initializeSets() { + @Override + protected void initializeSets() { // Nothing to do } } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSetManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSetManager.java index 6164daae2..f72362c6a 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSetManager.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ChangeSetManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -19,8 +19,8 @@ import org.eclipse.core.runtime.*; */ public abstract class ChangeSetManager { - private ListenerList listeners = new ListenerList(ListenerList.IDENTITY); - private Set sets; + private ListenerList<IChangeSetChangeListener> listeners = new ListenerList<IChangeSetChangeListener>(ListenerList.IDENTITY); + private Set<ChangeSet> sets; private boolean initializing; /** @@ -44,10 +44,12 @@ public abstract class ChangeSetManager { for (int i = 0; i < listeners.length; i++) { final IChangeSetChangeListener listener = (IChangeSetChangeListener)listeners[i]; SafeRunner.run(new ISafeRunnable() { - public void handleException(Throwable exception) { + @Override + public void handleException(Throwable exception) { // Exceptions are logged by the platform } - public void run() throws Exception { + @Override + public void run() throws Exception { listener.nameChanged(set); } }); @@ -68,10 +70,12 @@ public abstract class ChangeSetManager { for (int i = 0; i < listeners.length; i++) { final IChangeSetChangeListener listener = (IChangeSetChangeListener)listeners[i]; SafeRunner.run(new ISafeRunnable() { - public void handleException(Throwable exception) { + @Override + public void handleException(Throwable exception) { // Exceptions are logged by the platform } - public void run() throws Exception { + @Override + public void run() throws Exception { listener.defaultSetChanged(oldSet, defaultSet); } }); @@ -100,10 +104,12 @@ public abstract class ChangeSetManager { for (int i = 0; i < listeners.length; i++) { final IChangeSetChangeListener listener = (IChangeSetChangeListener)listeners[i]; SafeRunner.run(new ISafeRunnable() { - public void handleException(Throwable exception) { + @Override + public void handleException(Throwable exception) { // Exceptions are logged by the platform } - public void run() throws Exception { + @Override + public void run() throws Exception { listener.setAdded(set); } }); @@ -132,10 +138,12 @@ public abstract class ChangeSetManager { for (int i = 0; i < listeners.length; i++) { final IChangeSetChangeListener listener = (IChangeSetChangeListener)listeners[i]; SafeRunner.run(new ISafeRunnable() { - public void handleException(Throwable exception) { + @Override + public void handleException(Throwable exception) { // Exceptions are logged by the platform } - public void run() throws Exception { + @Override + public void run() throws Exception { listener.setRemoved(set); } }); @@ -172,8 +180,8 @@ public abstract class ChangeSetManager { * @return the list of active commit sets */ public ChangeSet[] getSets() { - Set sets = internalGetSets(); - return (ChangeSet[]) sets.toArray(new ChangeSet[sets.size()]); + Set<ChangeSet> sets = internalGetSets(); + return sets.toArray(new ChangeSet[sets.size()]); } /** @@ -195,19 +203,21 @@ public abstract class ChangeSetManager { for (int i = 0; i < listeners.length; i++) { final IChangeSetChangeListener listener = (IChangeSetChangeListener)listeners[i]; SafeRunner.run(new ISafeRunnable() { - public void handleException(Throwable exception) { + @Override + public void handleException(Throwable exception) { // Exceptions are logged by the platform } - public void run() throws Exception { + @Override + public void run() throws Exception { listener.resourcesChanged(changeSet, allAffectedResources); } }); } } - private Set internalGetSets() { + private Set<ChangeSet> internalGetSets() { if (sets == null) { - sets = Collections.synchronizedSet(new HashSet()); + sets = Collections.synchronizedSet(new HashSet<>()); try { initializing = true; initializeSets(); diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/CheckedInChangeSet.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/CheckedInChangeSet.java index 473238e35..bbabf4a6b 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/CheckedInChangeSet.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/CheckedInChangeSet.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -48,7 +48,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { * Return the resources that are contained in this set. * @return the resources that are contained in this set */ - public IResource[] getResources() { + @Override + public IResource[] getResources() { return set.getResources(); } @@ -56,7 +57,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { * Return whether the set contains any files. * @return whether the set contains any files */ - public boolean isEmpty() { + @Override + public boolean isEmpty() { return set.isEmpty(); } @@ -65,7 +67,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { * @param local a local file * @return true if the given file is included in this set */ - public boolean contains(IResource local) { + @Override + public boolean contains(IResource local) { return set.getSyncInfo(local) != null; } @@ -112,7 +115,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { * Remove the resource from the set. * @param resource the resource to be removed */ - public void remove(IResource resource) { + @Override + public void remove(IResource resource) { if (contains(resource)) { set.remove(resource); } @@ -122,7 +126,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { * Remove the resources from the set. * @param resources the resources to be removed */ - public void remove(IResource[] resources) { + @Override + public void remove(IResource[] resources) { for (int i = 0; i < resources.length; i++) { IResource resource = resources[i]; remove(resource); @@ -135,7 +140,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { * @param depth the depth of the removal (one of * <code>IResource.DEPTH_ZERO, IResource.DEPTH_ONE, IResource.DEPTH_INFINITE)</code> */ - public void rootRemoved(IResource resource, int depth) { + @Override + public void rootRemoved(IResource resource, int depth) { SyncInfo[] infos = set.getSyncInfos(resource, depth); if (infos.length > 0) { IResource[] resources = new IResource[infos.length]; @@ -146,7 +152,8 @@ public abstract class CheckedInChangeSet extends ChangeSet { } } - public boolean containsChildren(IResource resource, int depth) { + @Override + public boolean containsChildren(IResource resource, int depth) { return set.getSyncInfos(resource, depth).length > 0; } } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffChangeSet.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffChangeSet.java index d29fd15b3..fa5c9f4a1 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffChangeSet.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffChangeSet.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -44,7 +44,8 @@ public class DiffChangeSet extends ChangeSet { * Return the resources that are contained in this set. * @return the resources that are contained in this set */ - public IResource[] getResources() { + @Override + public IResource[] getResources() { return tree.getAffectedResources(); } @@ -52,7 +53,8 @@ public class DiffChangeSet extends ChangeSet { * Return whether the set contains any files. * @return whether the set contains any files */ - public boolean isEmpty() { + @Override + public boolean isEmpty() { return tree.isEmpty(); } @@ -61,7 +63,8 @@ public class DiffChangeSet extends ChangeSet { * @param local a local file * @return true if the given file is included in this set */ - public boolean contains(IResource local) { + @Override + public boolean contains(IResource local) { return tree.getDiff(local) != null; } @@ -108,7 +111,8 @@ public class DiffChangeSet extends ChangeSet { * Remove the resource from the set. * @param resource the resource to be removed */ - public void remove(IResource resource) { + @Override + public void remove(IResource resource) { if (contains(resource)) { tree.remove(resource); } @@ -120,7 +124,8 @@ public class DiffChangeSet extends ChangeSet { * @param depth the depth of the removal (one of * <code>IResource.DEPTH_ZERO, IResource.DEPTH_ONE, IResource.DEPTH_INFINITE)</code> */ - public void rootRemoved(IResource resource, int depth) { + @Override + public void rootRemoved(IResource resource, int depth) { IDiff[] diffs = tree.getDiffs(resource, depth); if (diffs.length > 0) { try { @@ -141,6 +146,7 @@ public class DiffChangeSet extends ChangeSet { return getDiffTree().getDiff(path) != null; } + @Override public boolean containsChildren(IResource resource, int depth) { return getDiffTree().getDiffs(resource, depth).length > 0; } @@ -157,6 +163,7 @@ public class DiffChangeSet extends ChangeSet { } } + @Override public void remove(IResource[] resources) { try { tree.beginInput(); @@ -169,6 +176,7 @@ public class DiffChangeSet extends ChangeSet { } } + @Override public String getComment() { return null; } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffTreeStatistics.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffTreeStatistics.java index 13706b9c6..6ff14004c 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffTreeStatistics.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/DiffTreeStatistics.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 IBM Corporation and others. + * Copyright (c) 2006, 2017 IBM Corporation and others. * 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 @@ -20,7 +20,7 @@ public class DiffTreeStatistics { /** * {Integer sync kind -> Long number of infos with that sync kind in this sync set} */ - protected Map stats = Collections.synchronizedMap(new HashMap()); + protected Map<Integer, Long> stats = Collections.synchronizedMap(new HashMap<>()); /** * Count this sync state. @@ -28,7 +28,7 @@ public class DiffTreeStatistics { */ public void add(int state) { // update statistics - Long count = (Long)stats.get(new Integer(state)); + Long count = stats.get(new Integer(state)); if(count == null) { count = new Long(0); } @@ -42,7 +42,7 @@ public class DiffTreeStatistics { public void remove(int state) { // update stats Integer kind = new Integer(state); - Long count = (Long)stats.get(kind); + Long count = stats.get(kind); if(count == null) { // error condition, shouldn't be removing if we haven't added yet // programmer error calling remove before add. @@ -68,7 +68,7 @@ public class DiffTreeStatistics { */ public long countFor(int state, int mask) { if(mask == 0) { - Long count = (Long)stats.get(new Integer(state)); + Long count = stats.get(new Integer(state)); return count == null ? 0 : count.longValue(); } else { Set keySet = stats.keySet(); @@ -78,7 +78,7 @@ public class DiffTreeStatistics { while (it.hasNext()) { Integer key = (Integer) it.next(); if((key.intValue() & mask) == state) { - count += ((Long)stats.get(key)).intValue(); + count += stats.get(key).intValue(); } } } @@ -97,6 +97,7 @@ public class DiffTreeStatistics { /** * For debugging */ + @Override public String toString() { StringBuffer out = new StringBuffer(); Iterator it = stats.keySet().iterator(); diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetManager.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetManager.java index 2d7466c62..a499a32b2 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetManager.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -42,26 +42,22 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { */ private class EventHandler extends BackgroundEventHandler { - private List dispatchEvents = new ArrayList(); + private List<Event> dispatchEvents = new ArrayList<>(); protected EventHandler(String jobName, String errorTitle) { super(jobName, errorTitle); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.BackgroundEventHandler#processEvent(org.eclipse.team.internal.core.BackgroundEventHandler.Event, org.eclipse.core.runtime.IProgressMonitor) - */ - protected void processEvent(Event event, IProgressMonitor monitor) throws CoreException { + @Override + protected void processEvent(Event event, IProgressMonitor monitor) throws CoreException { // Handle everything in the dispatch if (isShutdown()) throw new OperationCanceledException(); dispatchEvents.add(event); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.BackgroundEventHandler#doDispatchEvents(org.eclipse.core.runtime.IProgressMonitor) - */ - protected boolean doDispatchEvents(IProgressMonitor monitor) throws TeamException { + @Override + protected boolean doDispatchEvents(IProgressMonitor monitor) throws TeamException { if (dispatchEvents.isEmpty()) { return false; } @@ -104,7 +100,7 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { */ private ResourceDiffTree[] beginDispath() { ChangeSet[] sets = getSets(); - List lockedSets = new ArrayList(); + List<ResourceDiffTree> lockedSets = new ArrayList<>(); try { for (int i = 0; i < sets.length; i++) { ActiveChangeSet set = (ActiveChangeSet)sets[i]; @@ -112,7 +108,7 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { lockedSets.add(tree); tree.beginInput(); } - return (ResourceDiffTree[]) lockedSets.toArray(new ResourceDiffTree[lockedSets.size()]); + return lockedSets.toArray(new ResourceDiffTree[lockedSets.size()]); } catch (RuntimeException e) { try { for (Iterator iter = lockedSets.iterator(); iter.hasNext();) { @@ -150,10 +146,8 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { monitor.done(); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.BackgroundEventHandler#queueEvent(org.eclipse.team.internal.core.BackgroundEventHandler.Event, boolean) - */ - protected synchronized void queueEvent(Event event, boolean front) { + @Override + protected synchronized void queueEvent(Event event, boolean front) { // Override to allow access from enclosing class super.queueEvent(event, front); } @@ -209,7 +203,7 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { } private void removeFromAllSets(IResource resource) { - List toRemove = new ArrayList(); + List<ChangeSet> toRemove = new ArrayList<>(); ChangeSet[] sets = getSets(); for (int i = 0; i < sets.length; i++) { ChangeSet set = sets[i]; @@ -220,22 +214,22 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { } } } - for (Iterator iter = toRemove.iterator(); iter.hasNext();) { - ActiveChangeSet set = (ActiveChangeSet) iter.next(); + for (Object element : toRemove) { + ActiveChangeSet set = (ActiveChangeSet) element; remove(set); } } private ActiveChangeSet[] getContainingSets(IResource resource) { - Set result = new HashSet(); + Set<ActiveChangeSet> result = new HashSet<>(); ChangeSet[] sets = getSets(); for (int i = 0; i < sets.length; i++) { ChangeSet set = sets[i]; if (set.contains(resource)) { - result.add(set); + result.add((ActiveChangeSet) set); } } - return (ActiveChangeSet[]) result.toArray(new ActiveChangeSet[result.size()]); + return result.toArray(new ActiveChangeSet[result.size()]); } } @@ -245,23 +239,20 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { super(subscriber); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector#remove(org.eclipse.core.resources.IResource) - */ - protected void remove(IResource resource) { + @Override + protected void remove(IResource resource) { if (handler != null) handler.queueEvent(new BackgroundEventHandler.ResourceEvent(resource, RESOURCE_REMOVAL, IResource.DEPTH_INFINITE), false); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector#change(org.eclipse.core.resources.IResource, int) - */ - protected void change(IResource resource, int depth) { + @Override + protected void change(IResource resource, int depth) { if (handler != null) handler.queueEvent(new BackgroundEventHandler.ResourceEvent(resource, RESOURCE_CHANGE, depth), false); } - protected boolean hasMembers(IResource resource) { + @Override + protected boolean hasMembers(IResource resource) { return SubscriberChangeSetManager.this.hasMembers(resource); } } @@ -271,10 +262,8 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { handler = new EventHandler(NLS.bind(Messages.SubscriberChangeSetCollector_1, new String[] { subscriber.getName() }), NLS.bind(Messages.SubscriberChangeSetCollector_2, new String[] { subscriber.getName() })); // } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.ChangeSetManager#initializeSets() - */ - protected void initializeSets() { + @Override + protected void initializeSets() { load(getPreferences()); } @@ -297,7 +286,8 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { * @return the sync info for the resource * @throws CoreException */ - public IDiff getDiff(IResource resource) throws CoreException { + @Override + public IDiff getDiff(IResource resource) throws CoreException { Subscriber subscriber = getSubscriber(); return subscriber.getDiff(resource); } @@ -310,10 +300,8 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { return collector.getSubscriber(); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector#dispose() - */ - public void dispose() { + @Override + public void dispose() { handler.shutdown(); collector.dispose(); super.dispose(); @@ -360,9 +348,7 @@ public class SubscriberChangeSetManager extends ActiveChangeSetManager { monitor.worked(1); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager#getName() - */ + @Override protected String getName() { return getSubscriber().getName(); } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberEventHandler.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberEventHandler.java index 3a183527a..04ac32b72 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberEventHandler.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberEventHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -15,7 +15,6 @@ import java.util.List; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRunnable; -import org.eclipse.core.resources.mapping.ResourceMapping; import org.eclipse.core.resources.mapping.ResourceTraversal; import org.eclipse.core.runtime.*; import org.eclipse.core.runtime.jobs.IJobChangeEvent; @@ -38,7 +37,7 @@ import org.eclipse.team.internal.core.*; public abstract class SubscriberEventHandler extends BackgroundEventHandler { // Changes accumulated by the event handler - private List resultCache = new ArrayList(); + private List<Event> resultCache = new ArrayList<>(); private boolean started = false; private boolean initializing = true; @@ -63,6 +62,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { SubscriberEvent(IResource resource, int type, int depth) { super(resource, type, depth); } + @Override protected String getTypeString() { switch (getType()) { case REMOVAL : @@ -92,13 +92,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { NLS.bind(Messages.SubscriberEventHandler_errors, new String[] { subscriber.getName() })); this.subscriber = subscriber; this.scope = scope; - scopeChangeListener = new ISynchronizationScopeChangeListener() { - public void scopeChanged(ISynchronizationScope scope, - ResourceMapping[] newMappings, - ResourceTraversal[] newTraversals) { - reset(new ResourceTraversal[0], scope.getTraversals()); - } - }; + scopeChangeListener = (scope1, newMappings, newTraversals) -> reset(new ResourceTraversal[0], scope1.getTraversals()); this.scope.addScopeChangeListener(scopeChangeListener); } @@ -124,6 +118,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { initializing = false; } + @Override protected synchronized void queueEvent(Event event, boolean front) { // Only post events if the handler is started if (started) { @@ -133,6 +128,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { /** * Schedule the job or process the events now. */ + @Override public void schedule() { Job job = getEventHandlerJob(); if (job.getState() == Job.NONE) { @@ -151,9 +147,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.BackgroundEventHandler#jobDone(org.eclipse.core.runtime.jobs.IJobChangeEvent) - */ + @Override protected void jobDone(IJobChangeEvent event) { super.jobDone(event); progressGroup = null; @@ -294,6 +288,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { } } + @Override protected void processEvent(Event event, IProgressMonitor monitor) { try { // Cancellation is dangerous because this will leave the sync info in a bad state. @@ -367,12 +362,10 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { } } - /* (non-Javadoc) - * @see org.eclipse.team.core.subscribers.BackgroundEventHandler#dispatchEvents() - */ + @Override protected boolean doDispatchEvents(IProgressMonitor monitor) { if (!resultCache.isEmpty()) { - dispatchEvents((SubscriberEvent[]) resultCache.toArray(new SubscriberEvent[resultCache.size()]), monitor); + dispatchEvents(resultCache.toArray(new SubscriberEvent[resultCache.size()]), monitor); resultCache.clear(); return true; } @@ -414,9 +407,7 @@ public abstract class SubscriberEventHandler extends BackgroundEventHandler { return scope; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.BackgroundEventHandler#shutdown() - */ + @Override public void shutdown() { super.shutdown(); scope.removeScopeChangeListener(scopeChangeListener); diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoCollector.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoCollector.java index 8a49a57cd..ba554f3cc 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoCollector.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoCollector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -51,6 +51,7 @@ public final class SubscriberSyncInfoCollector extends SubscriberResourceCollect this.subscriberInput = eventHandler.getSyncSetInput(); filteredInput = new SyncSetInputFromSyncSet(subscriberInput.getSyncSet(), getEventHandler()); filteredInput.setFilter(new SyncInfoFilter() { + @Override public boolean select(SyncInfo info, IProgressMonitor monitor) { return true; } @@ -112,6 +113,7 @@ public final class SubscriberSyncInfoCollector extends SubscriberResourceCollect * all it's listeners. This method must be called when the collector is no longer * referenced and could be garbage collected. */ + @Override public void dispose() { eventHandler.shutdown(); subscriberInput.disconnect(); @@ -127,6 +129,7 @@ public final class SubscriberSyncInfoCollector extends SubscriberResourceCollect * subscriber. However, the set can be reduced using {@link #setRoots(IResource[])}. * @return the roots */ + @Override public IResource[] getRoots() { if (roots == null) { return super.getRoots(); @@ -141,6 +144,7 @@ public final class SubscriberSyncInfoCollector extends SubscriberResourceCollect * @return <code>true</code> if the collector is considering all * roots of the subscriber and <code>false</code> otherwise */ + @Override public boolean isAllRootsIncluded() { return roots == null; } @@ -186,24 +190,18 @@ public final class SubscriberSyncInfoCollector extends SubscriberResourceCollect reset(); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector#hasMembers(org.eclipse.core.resources.IResource) - */ - protected boolean hasMembers(IResource resource) { + @Override + protected boolean hasMembers(IResource resource) { return getSubscriberSyncInfoSet().hasMembers(resource); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector#remove(org.eclipse.core.resources.IResource) - */ - protected void remove(IResource resource) { + @Override + protected void remove(IResource resource) { eventHandler.remove(resource); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberResourceCollector#change(org.eclipse.core.resources.IResource, int) - */ - protected void change(IResource resource, int depth) { + @Override + protected void change(IResource resource, int depth) { eventHandler.change(resource, depth); } } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoEventHandler.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoEventHandler.java index cc5ed5b17..2a4a0c63a 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoEventHandler.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberSyncInfoEventHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -58,17 +58,13 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { this.syncSetInput = new SyncSetInputFromSubscriber(subscriber, this); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberEventHandler#handleException(org.eclipse.core.runtime.CoreException, org.eclipse.core.resources.IResource, int, java.lang.String) - */ + @Override protected void handleException(CoreException e, IResource resource, int code, String message) { super.handleException(e, resource, code, message); syncSetInput.handleError(new TeamStatus(IStatus.ERROR, TeamPlugin.ID, code, message, e, resource)); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberEventHandler#handleCancel(org.eclipse.core.runtime.OperationCanceledException) - */ + @Override protected void handleCancel(OperationCanceledException e) { super.handleCancel(e); syncSetInput.handleError(new TeamStatus(IStatus.ERROR, TeamPlugin.ID, ITeamStatus.SYNC_INFO_SET_CANCELLATION, Messages.SubscriberEventHandler_12, e, ResourcesPlugin.getWorkspace().getRoot())); @@ -82,9 +78,7 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { return syncSetInput; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberEventHandler#handleChange(org.eclipse.core.resources.IResource) - */ + @Override protected void handleChange(IResource resource) throws TeamException { SyncInfo info = syncSetInput.getSubscriber().getSyncInfo(resource); // resource is no longer under the subscriber control @@ -97,9 +91,7 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { } } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberEventHandler#collectAll(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override protected void collectAll( IResource resource, int depth, @@ -111,6 +103,7 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { // Create a monitor that will handle preemption and dispatch if required IProgressMonitor collectionMonitor = new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN) { boolean dispatching = false; + @Override public void subTask(String name) { dispatch(); super.subTask(name); @@ -125,6 +118,7 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { dispatching = false; } } + @Override public void worked(int work) { dispatch(); super.worked(work); @@ -133,11 +127,13 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { // Create a sync set that queues up resources and errors for dispatch SyncInfoSet collectionSet = new SyncInfoSet() { + @Override public void add(SyncInfo info) { super.add(info); queueDispatchEvent( new SubscriberSyncInfoEvent(info.getLocal(), SubscriberEvent.CHANGE, IResource.DEPTH_ZERO, info)); } + @Override public void addError(ITeamStatus status) { if (status instanceof TeamStatus) { TeamStatus ts = (TeamStatus) status; @@ -152,6 +148,7 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { TeamPlugin.getPlugin().getLog().log(status); syncSetInput.handleError(status); } + @Override public void remove(IResource resource) { super.remove(resource); queueDispatchEvent( @@ -166,9 +163,7 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { } } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberEventHandler#dispatchEvents(org.eclipse.team.internal.core.subscribers.SubscriberEventHandler.SubscriberEvent[], org.eclipse.core.runtime.IProgressMonitor) - */ + @Override protected void dispatchEvents(SubscriberEvent[] events, IProgressMonitor monitor) { // this will batch the following set changes until endInput is called. SubscriberSyncInfoSet syncSet = syncSetInput.getSyncSet(); @@ -212,16 +207,10 @@ public class SubscriberSyncInfoEventHandler extends SubscriberEventHandler { scope.setRoots(roots); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.SubscriberEventHandler#reset(org.eclipse.core.resources.mapping.ResourceTraversal[], org.eclipse.core.resources.mapping.ResourceTraversal[]) - */ + @Override protected synchronized void reset(ResourceTraversal[] oldTraversals, ResourceTraversal[] newTraversals) { // First, reset the sync set input to clear the sync set - run(new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - syncSetInput.reset(monitor); - } - }, false /* keep ordering the same */); + run(monitor -> syncSetInput.reset(monitor), false /* keep ordering the same */); // Then, prime the set from the subscriber super.reset(oldTraversals, newTraversals); } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncInfoTreeChangeEvent.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncInfoTreeChangeEvent.java index 5a4d9ec5a..5ec9951db 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncInfoTreeChangeEvent.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncInfoTreeChangeEvent.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -17,8 +17,8 @@ import org.eclipse.team.core.synchronize.*; public class SyncInfoTreeChangeEvent extends SyncInfoSetChangeEvent implements ISyncInfoTreeChangeEvent { - private Set removedSubtrees = new HashSet(); - private Set addedSubtrees = new HashSet(); + private Set<IResource> removedSubtrees = new HashSet<>(); + private Set<IResource> addedSubtrees = new HashSet<>(); public SyncInfoTreeChangeEvent(SyncInfoSet set) { super(set); @@ -35,8 +35,8 @@ public class SyncInfoTreeChangeEvent extends SyncInfoSetChangeEvent implements I // (in which case it need not be added). // Also, remove any exisiting roots that are children // of the new root - for (Iterator iter = removedSubtrees.iterator(); iter.hasNext();) { - IResource element = (IResource) iter.next(); + for (Iterator<IResource> iter = removedSubtrees.iterator(); iter.hasNext();) { + IResource element = iter.next(); // check if the root is already in the list if (root.equals(element)) return; if (isParent(root, element)) { @@ -80,14 +80,17 @@ public class SyncInfoTreeChangeEvent extends SyncInfoSetChangeEvent implements I return false; } + @Override public IResource[] getAddedSubtreeRoots() { - return (IResource[]) addedSubtrees.toArray(new IResource[addedSubtrees.size()]); + return addedSubtrees.toArray(new IResource[addedSubtrees.size()]); } + @Override public IResource[] getRemovedSubtreeRoots() { - return (IResource[]) removedSubtrees.toArray(new IResource[removedSubtrees.size()]); + return removedSubtrees.toArray(new IResource[removedSubtrees.size()]); } + @Override public boolean isEmpty() { return super.isEmpty() && removedSubtrees.isEmpty() && addedSubtrees.isEmpty(); } diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSubscriber.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSubscriber.java index 09f7d7b59..24baae3ec 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSubscriber.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSubscriber.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -28,6 +28,7 @@ public class SyncSetInputFromSubscriber extends SyncSetInput { this.subscriber = subscriber; } + @Override public void disconnect() { } @@ -35,9 +36,7 @@ public class SyncSetInputFromSubscriber extends SyncSetInput { return subscriber; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.ui.sync.views.SyncSetInput#fetchInput(org.eclipse.core.runtime.IProgressMonitor) - */ + @Override protected void fetchInput(IProgressMonitor monitor) throws TeamException { // don't calculate changes. The SubscriberEventHandler will fetch the // input in a job and update this sync set when the changes are diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSyncSet.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSyncSet.java index 87da1959b..57c1044fe 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSyncSet.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SyncSetInputFromSyncSet.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -29,15 +29,14 @@ public class SyncSetInputFromSyncSet extends SyncSetInput implements ISyncInfoSe inputSyncSet.addSyncSetChangedListener(this); } + @Override public void disconnect() { if (inputSyncSet == null) return; inputSyncSet.removeSyncSetChangedListener(this); inputSyncSet = null; } - /* (non-Javadoc) - * @see org.eclipse.team.ccvs.syncviews.views.AbstractSyncSet#initialize(java.lang.String, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override protected void fetchInput(IProgressMonitor monitor) { if (inputSyncSet == null) return; SyncInfo[] infos = inputSyncSet.getSyncInfos(); @@ -46,9 +45,7 @@ public class SyncSetInputFromSyncSet extends SyncSetInput implements ISyncInfoSe } } - /* (non-Javadoc) - * @see org.eclipse.team.ccvs.syncviews.views.ISyncSetChangedListener#syncSetChanged(org.eclipse.team.ccvs.syncviews.views.SyncSetChangedEvent) - */ + @Override public void syncInfoChanged(ISyncInfoSetChangeEvent event, IProgressMonitor monitor) { SyncInfoSet syncSet = getSyncSet(); try { @@ -78,9 +75,7 @@ public class SyncSetInputFromSyncSet extends SyncSetInput implements ISyncInfoSe inputSyncSet.connect(this); } - /* (non-Javadoc) - * @see org.eclipse.team.core.subscribers.ISyncInfoSetChangeListener#syncInfoSetReset(org.eclipse.team.core.subscribers.SyncInfoSet, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override public void syncInfoSetReset(SyncInfoSet set, IProgressMonitor monitor) { if(inputSyncSet == null) { set.removeSyncSetChangedListener(this); @@ -98,9 +93,7 @@ public class SyncSetInputFromSyncSet extends SyncSetInput implements ISyncInfoSe } } - /* (non-Javadoc) - * @see org.eclipse.team.core.subscribers.ISyncInfoSetChangeListener#syncInfoSetError(org.eclipse.team.core.subscribers.SyncInfoSet, org.eclipse.team.core.ITeamStatus[], org.eclipse.core.runtime.IProgressMonitor) - */ + @Override public void syncInfoSetErrors(SyncInfoSet set, ITeamStatus[] errors, IProgressMonitor monitor) { SubscriberSyncInfoSet syncSet = getSyncSet(); try { diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ThreeWayBaseTree.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ThreeWayBaseTree.java index c4a1a20cd..7b1ec07de 100644 --- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ThreeWayBaseTree.java +++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/ThreeWayBaseTree.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * 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 @@ -36,24 +36,30 @@ public final class ThreeWayBaseTree extends ResourceVariantTree { public BaseResourceVariantByteStore(ThreeWaySubscriber subscriber) { this.subscriber = subscriber; } + @Override public void dispose() { // Nothing to do } + @Override public byte[] getBytes(IResource resource) throws TeamException { return subscriber.getSynchronizer().getBaseBytes(resource); } + @Override public boolean setBytes(IResource resource, byte[] bytes) throws TeamException { // Base bytes are set directly in the synchronizer return false; } + @Override public boolean flushBytes(IResource resource, int depth) throws TeamException { // Base bytes are flushed directly in the synchronizer return false; } + @Override public boolean deleteBytes(IResource resource) throws TeamException { // Base bytes are deleted directly in the synchronizer return false; } + @Override public IResource[] members(IResource resource) throws TeamException { return subscriber.getSynchronizer().members(resource); } @@ -69,39 +75,29 @@ public final class ThreeWayBaseTree extends ResourceVariantTree { this.subscriber = subscriber; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.caches.AbstractResourceVariantTree#refresh(org.eclipse.core.resources.IResource[], int, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override public IResource[] refresh(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException { return new IResource[0]; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.caches.AbstractResourceVariantTree#fetchMembers(org.eclipse.team.core.synchronize.IResourceVariant, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override protected IResourceVariant[] fetchMembers(IResourceVariant variant, IProgressMonitor progress) throws TeamException { // Refresh not supported return new IResourceVariant[0]; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.caches.AbstractResourceVariantTree#fetchVariant(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IProgressMonitor) - */ + @Override protected IResourceVariant fetchVariant(IResource resource, int depth, IProgressMonitor monitor) throws TeamException { // Refresh not supported return null; } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.caches.IResourceVariantTree#roots() - */ + @Override public IResource[] roots() { return getSubscriber().roots(); } - /* (non-Javadoc) - * @see org.eclipse.team.internal.core.subscribers.caches.IResourceVariantTree#getResourceVariant(org.eclipse.core.resources.IResource) - */ + @Override public IResourceVariant getResourceVariant(IResource resource) throws TeamException { return getSubscriber().getResourceVariant(resource, getByteStore().getBytes(resource)); } |