diff options
Diffstat (limited to 'bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal')
45 files changed, 216 insertions, 222 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java index 00a84652b..5c3674b5e 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java @@ -60,12 +60,12 @@ public class CVSCompareSubscriber extends CVSSyncTreeSubscriber implements ISubs */ public void resetRoots(IResource[] resources, CVSTag[] tags) { if (this.resources != null) { - List removed = new ArrayList(); + List<ISubscriberChangeEvent> removed = new ArrayList<>(); for (IResource resource : this.resources) { removed.add(new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_REMOVED, resource)); } this.resources = new IResource[0]; - fireTeamResourceChange((ISubscriberChangeEvent[]) removed.toArray(new ISubscriberChangeEvent[removed.size()])); + fireTeamResourceChange(removed.toArray(new ISubscriberChangeEvent[removed.size()])); if (tree != null) { tree.dispose(); tree = null; @@ -116,7 +116,7 @@ public class CVSCompareSubscriber extends CVSSyncTreeSubscriber implements ISubs @Override public void subscriberResourceChanged(ISubscriberChangeEvent[] deltas) { - List outgoingDeltas = new ArrayList(deltas.length); + List<ISubscriberChangeEvent> outgoingDeltas = new ArrayList<>(deltas.length); for (ISubscriberChangeEvent delta : deltas) { if ((delta.getFlags() & ISubscriberChangeEvent.ROOT_REMOVED) != 0) { IResource resource = delta.getResource(); @@ -134,12 +134,12 @@ public class CVSCompareSubscriber extends CVSSyncTreeSubscriber implements ISubs } } - fireTeamResourceChange((SubscriberChangeEvent[]) outgoingDeltas.toArray(new SubscriberChangeEvent[outgoingDeltas.size()])); + fireTeamResourceChange(outgoingDeltas.toArray(new SubscriberChangeEvent[outgoingDeltas.size()])); } private SubscriberChangeEvent[] handleRemovedRoot(IResource removedRoot) { // Determine if any of the roots of the compare are affected - List removals = new ArrayList(resources.length); + List<IResource> removals = new ArrayList<>(resources.length); for (IResource root : resources) { if (removedRoot.getFullPath().isPrefixOf(root.getFullPath())) { // The root is no longer managed by CVS @@ -156,15 +156,15 @@ public class CVSCompareSubscriber extends CVSSyncTreeSubscriber implements ISubs } // Adjust the roots of the subscriber - List newRoots = new ArrayList(resources.length); + List<IResource> newRoots = new ArrayList<>(resources.length); newRoots.addAll(Arrays.asList(resources)); newRoots.removeAll(removals); - resources = (IResource[]) newRoots.toArray(new IResource[newRoots.size()]); + resources = newRoots.toArray(new IResource[newRoots.size()]); // Create the deltas for the removals SubscriberChangeEvent[] deltas = new SubscriberChangeEvent[removals.size()]; for (int i = 0; i < deltas.length; i++) { - deltas[i] = new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_REMOVED, (IResource)removals.get(i)); + deltas[i] = new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_REMOVED, removals.get(i)); } return deltas; } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java index 70568ab3b..f20bc522f 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java @@ -97,7 +97,7 @@ public class CVSProviderPlugin extends Plugin { private static final String REPOSITORIES_STATE_FILE = ".cvsProviderState"; //$NON-NLS-1$ // version numbers for the state file (a positive number indicates version 1) private static final int REPOSITORIES_STATE_FILE_VERSION_2 = -1; - private static List decoratorEnablementListeners = new ArrayList(); + private static List<ICVSDecoratorEnablementListener> decoratorEnablementListeners = new ArrayList<>(); private CVSWorkspaceSubscriber cvsWorkspaceSubscriber; @@ -290,7 +290,7 @@ public class CVSProviderPlugin extends Plugin { 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); @@ -312,7 +312,7 @@ public class CVSProviderPlugin extends Plugin { // Must load the change set manager on startup since it listens to deltas getChangeSetManager(); - tracker = new ServiceTracker(getBundle().getBundleContext(), IJSchService.class.getName(), null); + tracker = new ServiceTracker<>(getBundle().getBundleContext(), IJSchService.class.getName(), null); tracker.open(); } @@ -427,7 +427,7 @@ public class CVSProviderPlugin extends Plugin { public static void broadcastDecoratorEnablementChanged(final boolean enabled) { ICVSDecoratorEnablementListener[] listeners; synchronized(decoratorEnablementListeners) { - listeners = (ICVSDecoratorEnablementListener[]) decoratorEnablementListeners.toArray(new ICVSDecoratorEnablementListener[decoratorEnablementListeners.size()]); + listeners = decoratorEnablementListeners.toArray(new ICVSDecoratorEnablementListener[decoratorEnablementListeners.size()]); } for (ICVSDecoratorEnablementListener listener : listeners) { ISafeRunnable code = new ISafeRunnable() { @@ -507,9 +507,9 @@ public class CVSProviderPlugin extends Plugin { File file = pluginStateLocation.toFile(); if (file.exists()) { try { - DataInputStream dis = new DataInputStream(new FileInputStream(file)); - readOldState(dis); - dis.close(); + try (DataInputStream dis = new DataInputStream(new FileInputStream(file))) { + readOldState(dis); + } // The file is no longer needed as the state is // persisted in the user settings file.delete(); @@ -704,16 +704,16 @@ public class CVSProviderPlugin extends Plugin { return pass==null ? "" : (String) pass; //$NON-NLS-1$ } - private Map getAuthInfo() { + private Map<String,String> getAuthInfo() { // Retrieve username and password from keyring. - Map authInfo = Platform.getAuthorizationInfo(FAKE_URL, "proxy", ""); //$NON-NLS-1$ //$NON-NLS-2$ - return authInfo!=null ? authInfo : Collections.EMPTY_MAP; + Map<String,String> authInfo = Platform.getAuthorizationInfo(FAKE_URL, "proxy", ""); //$NON-NLS-1$ //$NON-NLS-2$ + return authInfo!=null ? authInfo : Collections.emptyMap(); } public void setProxyAuth(String proxyUser, String proxyPass) { - Map authInfo = getAuthInfo(); + Map<String,String> authInfo = getAuthInfo(); if (authInfo.isEmpty()) { - authInfo = new java.util.HashMap(4); + authInfo = new java.util.HashMap<>(4); } if (proxyUser != null) { authInfo.put(INFO_PROXY_USER, proxyUser); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRepositoryLocationMatcher.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRepositoryLocationMatcher.java index d46978bd0..3a5f41f86 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRepositoryLocationMatcher.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRepositoryLocationMatcher.java @@ -25,31 +25,25 @@ public class CVSRepositoryLocationMatcher { private static final String PSERVER = "pserver"; //$NON-NLS-1$ private static final String EXT = "ext"; //$NON-NLS-1$ - private static Comparator COMPATIBLE_LOCATIONS_COMPARATOR = (o1, o2) -> { - if (o1 instanceof ICVSRepositoryLocation - && o2 instanceof ICVSRepositoryLocation) { - ICVSRepositoryLocation rl1 = (ICVSRepositoryLocation) o1; - ICVSRepositoryLocation rl2 = (ICVSRepositoryLocation) o2; - String name1 = rl1.getMethod().getName(); - String name2 = rl2.getMethod().getName(); - - if (!name1.equals(name2) && isCompatible(rl1, rl2, false)) { - if (name1.equals(EXTSSH)) - return -1; - if (name2.equals(EXTSSH)) - return 1; - if (name1.equals(PSERVER)) - return -1; - if (name2.equals(PSERVER)) - return 1; - if (name1.equals(EXT)) - return -1; - if (name2.equals(EXT)) - return 1; - } - return name1.compareTo(name2); + private static Comparator<ICVSRepositoryLocation> COMPATIBLE_LOCATIONS_COMPARATOR = (rl1, rl2) -> { + String name1 = rl1.getMethod().getName(); + String name2 = rl2.getMethod().getName(); + + if (!name1.equals(name2) && isCompatible(rl1, rl2, false)) { + if (name1.equals(EXTSSH)) + return -1; + if (name2.equals(EXTSSH)) + return 1; + if (name1.equals(PSERVER)) + return -1; + if (name2.equals(PSERVER)) + return 1; + if (name1.equals(EXT)) + return -1; + if (name2.equals(EXT)) + return 1; } - return 0; + return name1.compareTo(name2); }; public static Map<IProject, List<ICVSRepositoryLocation>> prepareSuggestedRepositoryLocations( @@ -98,9 +92,9 @@ public class CVSRepositoryLocationMatcher { ICVSRepositoryLocation projectSetRepositoryLocation = (ICVSRepositoryLocation) i .next(); - List matching = new ArrayList(); - List compatible = new ArrayList(); - List list = new ArrayList(); + List<ICVSRepositoryLocation> matching = new ArrayList<>(); + List<ICVSRepositoryLocation> compatible = new ArrayList<>(); + List<ICVSRepositoryLocation> list = new ArrayList<>(); for (Iterator j = knownRepositories.iterator(); j.hasNext();) { ICVSRepositoryLocation knownRepositoryLocation = (ICVSRepositoryLocation) j .next(); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java index 7400f582e..95b9088e6 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java @@ -135,7 +135,7 @@ public class CVSTag implements ITag { public static IStatus validateTagName(String tagName) { if (tagName == null) return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_nullName); - if (tagName.equals("")) //$NON-NLS-1$ + if (tagName.isEmpty()) return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_emptyName); if (!Character. isLetter(tagName.charAt(0))) return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_beginName); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java index 417b222d9..3cfce1ef2 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java @@ -195,7 +195,7 @@ public class CVSTeamProvider extends RepositoryProvider { * Get the arguments to be passed to a commit or update */ private String[] getValidArguments(IResource[] resources, LocalOption[] options) throws CVSException { - List arguments = new ArrayList(resources.length); + List<String> arguments = new ArrayList<>(resources.length); for (IResource resource : resources) { checkIsChild(resource); IPath cvsPath = resource.getFullPath().removeFirstSegments(1); @@ -205,7 +205,7 @@ public class CVSTeamProvider extends RepositoryProvider { arguments.add(cvsPath.toString()); } } - return (String[])arguments.toArray(new String[arguments.size()]); + return arguments.toArray(new String[arguments.size()]); } private ICVSResource[] getCVSArguments(IResource[] resources) { @@ -272,7 +272,8 @@ public class CVSTeamProvider extends RepositoryProvider { /** * Sets the keyword substitution mode for the specified resources. * <p> - * Applies the following rules in order:<br> + * Applies the following rules in order: + * </p> * <ul> * <li>If a file is not managed, skips it.</li> * <li>If a file is not changing modes, skips it.</li> @@ -285,7 +286,6 @@ public class CVSTeamProvider extends RepositoryProvider { * casually trying to commit pending changes to the repository without first checking out * a new copy. This is not a perfect solution, as they could just as easily do an UPDATE * and not obtain the new keyword sync info. - * </p> * * @param changeSet a map from IFile to KSubstOption * @param monitor the progress monitor @@ -299,7 +299,7 @@ public class CVSTeamProvider extends RepositoryProvider { final IStatus[] result = new IStatus[] { ICommandOutputListener.OK }; workspaceRoot.getLocalRoot().run(monitor1 -> { final Map /* from KSubstOption to List of String */ filesToAdmin = new HashMap(); - final Collection /* of ICVSFile */ filesToCommitAsText = new HashSet(); // need fast lookup + final Collection<ICVSFile> filesToCommitAsText = new HashSet<>(); // need fast lookup final boolean useCRLF = IS_CRLF_PLATFORM && (CVSProviderPlugin.getPlugin().isUsePlatformLineend()); /*** determine the resources to be committed and/or admin'd ***/ @@ -369,7 +369,7 @@ public class CVSTeamProvider extends RepositoryProvider { Command.NO_GLOBAL_OPTIONS, new LocalOption[] { Command.DO_NOT_RECURSE, Commit.FORCE, Command.makeArgumentOption(Command.MESSAGE_OPTION, keywordChangeComment) }, - (ICVSResource[]) filesToCommitAsText.toArray(new ICVSResource[filesToCommitAsText.size()]), + filesToCommitAsText.toArray(new ICVSResource[filesToCommitAsText.size()]), filesToCommitAsText, null, Policy.subMonitorFor(monitor1, filesToCommitAsText.size())); @@ -419,7 +419,7 @@ public class CVSTeamProvider extends RepositoryProvider { /** * This method translates the contents of a file from binary into text (ASCII). * Fixes the line delimiters in the local file to reflect the platform's - * native encoding. Performs CR/LF -> LF or LF -> CR/LF conversion + * native encoding. Performs CR/LF -> LF or LF -> CR/LF conversion * depending on the platform but does not affect delimiters that are * already correctly encoded. */ diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java index dfbabc211..c0afe7c57 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java @@ -83,7 +83,7 @@ public class CVSWorkspaceSubscriber extends CVSSyncTreeSubscriber implements IRe * @see org.eclipse.team.core.sync.ISyncTreeSubscriber#roots() */ public IResource[] roots() { - List result = new ArrayList(); + List<IProject> result = new ArrayList<>(); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : projects) { if(project.isOpen()) { @@ -93,7 +93,7 @@ public class CVSWorkspaceSubscriber extends CVSSyncTreeSubscriber implements IRe } } } - return (IProject[]) result.toArray(new IProject[result.size()]); + return result.toArray(new IProject[result.size()]); } @Override diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java index 17964ed15..4cb4afe15 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java @@ -107,7 +107,7 @@ public interface ICVSFile extends ICVSResource, ICVSStorage { /** * Answers whether the file is executable or not. * - * @returns <code>false</code> if the platform doesn't support the executable flag. + * @return <code>false</code> if the platform doesn't support the executable flag. */ public boolean isExecutable() throws CVSException; diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java index 460ae70e9..535d3b524 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java @@ -21,9 +21,9 @@ import org.eclipse.core.runtime.IStatus; * @author Administrator * * To change this generated comment edit the template variable "typecomment": - * Window>Preferences>Java>Templates. + * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to - * Window>Preferences>Java>Code Generation. + * Window>Preferences>Java>Code Generation. */ public interface ICVSFileModificationValidator { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java index 10313ce9a..0f1eae70d 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java @@ -88,7 +88,7 @@ public interface IUserAuthenticator { /** * Prompts the user for a number values using text fields. The labels are provided in - * the <core>prompt</code> array. Implementors will return the entered values, or null if + * the <code>prompt</code> array. Implementors will return the entered values, or null if * the user cancel the prompt. * * @param location The repository location to authenticate the user for or <code>null</code> diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java index d2a8af7fa..ea892ca1e 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java @@ -23,14 +23,14 @@ import org.eclipse.team.internal.ccvs.core.util.Util; * Handles a "Checked-in" response from the CVS server. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Checked-in ??? \n * [...] * </pre> - * Then - * </p> + * Then */ class CheckedInHandler extends ResponseHandler { public String getResponseID() { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java index 9571b6cd8..0f098d3bb 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java @@ -84,14 +84,14 @@ public class Checkout extends Command { Assert.isTrue(session.getLocalRoot().isFolder()); // Send the information about the local workspace resources to the server - List resourcesToSend = new ArrayList(resources.length); + List<ICVSResource> resourcesToSend = new ArrayList<>(resources.length); for (ICVSResource resource : resources) { if (resource.exists() && resource.isFolder() && ((ICVSFolder)resource).isCVSFolder()) { resourcesToSend.add(resource); } } if ( ! resourcesToSend.isEmpty()) { - resources = (ICVSResource[]) resourcesToSend.toArray(new ICVSResource[resourcesToSend.size()]); + resources = resourcesToSend.toArray(new ICVSResource[resourcesToSend.size()]); new FileStructureVisitor(session, localOptions, true, true).visit(session, resources, monitor); } else { monitor.beginTask(null, 100); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java index 36471692c..e800d790b 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java @@ -88,7 +88,7 @@ public abstract class Command extends Request { /*** Local options: keyword substitution mode ***/ // valid for: add admin checkout export import update - private static final Map ksubstOptionMap = new HashMap(); + private static final Map<String, KSubstOption> ksubstOptionMap = new HashMap<>(); public static final KSubstOption KSUBST_BINARY = new KSubstOption("-kb"); //$NON-NLS-1$ public static final KSubstOption KSUBST_TEXT = new KSubstOption("-ko"); //$NON-NLS-1$ public static final KSubstOption KSUBST_TEXT_EXPAND = new KSubstOption("-kkv"); //$NON-NLS-1$ @@ -573,13 +573,13 @@ public abstract class Command extends Request { if (!this.isElementOf(options)) { return options; } - List result = new ArrayList(); + List<LocalOption> result = new ArrayList<>(); for (LocalOption option : options) { if (!option.equals(this)) { result.add(option); } } - return (LocalOption[]) result.toArray(new LocalOption[result.size()]); + return result.toArray(new LocalOption[result.size()]); } } /** @@ -603,7 +603,7 @@ public abstract class Command extends Request { */ public static KSubstOption fromMode(String mode) { if (mode.length() == 0) mode = "-kkv"; // use default //$NON-NLS-1$ - KSubstOption option = (KSubstOption) ksubstOptionMap.get(mode); + KSubstOption option = ksubstOptionMap.get(mode); if (option == null) option = new KSubstOption(mode, true); return option; } @@ -622,7 +622,7 @@ public abstract class Command extends Request { * Returns an array of all valid modes. */ public static KSubstOption[] getAllKSubstOptions() { - return (KSubstOption[]) ksubstOptionMap.values().toArray(new KSubstOption[ksubstOptionMap.size()]); + return ksubstOptionMap.values().toArray(new KSubstOption[ksubstOptionMap.size()]); } /** * Returns the entry line mode string for this instance. Note that it might return blank strings @@ -745,13 +745,13 @@ public abstract class Command extends Request { * @return an array of all arguments of belonging to matching options */ protected static String[] collectOptionArguments(Option[] array, String option) { - List /* of String */ list = new ArrayList(); + List<String> list = new ArrayList<>(); for (int i = 0; i < array.length; ++i) { if (array[i].getOption().equals(option)) { list.add(array[i].argument); } } - return (String[]) list.toArray(new String[list.size()]); + return list.toArray(new String[list.size()]); } /** @@ -785,7 +785,7 @@ public abstract class Command extends Request { * Execute a CVS command on an array of ICVSResource. This method simply converts * the ICVSResource to String paths relative to the local root of the session and * invokes <code>execute(Session, GlobalOption[], LocalOption[], String[], ICommandOutputListener, IProgressMonitor)</code>. - * </p> + * * @param session the open CVS session * @param globalOptions the array of global options, or NO_GLOBAL_OPTIONS * @param localOptions the array of local options, or NO_LOCAL_OPTIONS @@ -806,11 +806,11 @@ public abstract class Command extends Request { protected String[] convertArgumentsForOpenSession(ICVSResource[] arguments, Session openSession) throws CVSException { // Convert arguments - List stringArguments = new ArrayList(arguments.length); + List<String> stringArguments = new ArrayList<>(arguments.length); for (ICVSResource argument : arguments) { stringArguments.add(argument.getRelativePath(openSession.getLocalRoot())); } - return (String[]) stringArguments.toArray(new String[stringArguments.size()]); + return stringArguments.toArray(new String[stringArguments.size()]); } /** diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java index 793bc37a1..0923ced79 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java @@ -22,7 +22,8 @@ import org.eclipse.team.internal.ccvs.core.*; * Handles a "Copy-file" response from the CVS server. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Copy-file myproject/ \n @@ -33,7 +34,6 @@ import org.eclipse.team.internal.ccvs.core.*; * Then we copy (or optionally rename) the local file "oldfile.txt" in * folder "myproject" to "newfile.txt". This response is used to create * a backup copy of an existing file before merging in new changes. - * </p> */ class CopyHandler extends ResponseHandler { public String getResponseID() { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java index 307f18842..4d9957cb3 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java @@ -26,7 +26,8 @@ import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter; * Handles a "Mod-time" response from the CVS server. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Mod-time 18 Oct 2001 20:21:13 -0330\n @@ -34,7 +35,6 @@ import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter; * </pre> * Then we parse and remember the date for use in subsequent * file transfer responses such as Updated. - * </p> */ class ModTimeHandler extends ResponseHandler { public String getResponseID() { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java index 6df20e6e4..d87423d45 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java @@ -23,9 +23,9 @@ import org.eclipse.team.internal.ccvs.core.ICVSFolder; * @author Administrator * * To change this generated comment edit the template variable "typecomment": - * Window>Preferences>Java>Templates. + * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to - * Window>Preferences>Java>Code Generation. + * Window>Preferences>Java>Code Generation. */ public class NotifiedHandler extends ResponseHandler { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java index b0857c4a0..e75d8dbfb 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java @@ -30,13 +30,14 @@ public class RLog extends RemoteCommand { /** * Makes a -r option for rlog. Here are the currently supported options: * - * tag1 tag2 result - * ==== ==== ================================= - * date date date<date (all revisions between date and later) - * tag tag tag:tag (all revisions between tag and tag, must be on same branch) - * branch date >date (all revisions of date or later) - * branch tag tag: (all revisions from tag to the end of branchs tip) - * + * <pre>{@code + * tag1 tag2 result + * ====== ==== ================================= + * date date date<date (all revisions between date and later) + * tag tag tag:tag (all revisions between tag and tag, must be on same branch) + * branch date >date (all revisions of date or later) + * branch tag tag: (all revisions from tag to the end of branchs tip) + * }</pre> * Valid for: rlog */ public static LocalOption makeTagOption(CVSTag tag1, CVSTag tag2) { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java index 8e68dff51..e756fc111 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java @@ -69,7 +69,7 @@ public class RTag extends RemoteCommand { } // Add the source tag to the local options - List modifiedLocalOptions = new ArrayList(localOptions.length + 1); + List<LocalOption> modifiedLocalOptions = new ArrayList<>(localOptions.length + 1); if (sourceTag==null) sourceTag = CVSTag.DEFAULT; modifiedLocalOptions.addAll(Arrays.asList(localOptions)); modifiedLocalOptions.add(makeTagOption(sourceTag)); @@ -87,7 +87,7 @@ public class RTag extends RemoteCommand { System.arraycopy(arguments, 0, newArguments, 1, arguments.length); return execute(session, globalOptions, - (LocalOption[]) modifiedLocalOptions.toArray(new LocalOption[modifiedLocalOptions.size()]), + modifiedLocalOptions.toArray(new LocalOption[modifiedLocalOptions.size()]), newArguments, null, monitor); } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java index 8ca5978dc..8bfe95c9e 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java @@ -52,7 +52,7 @@ public abstract class RemoteCommand extends Command { throws CVSException { // Convert arguments - List stringArguments = new ArrayList(arguments.length); + List<String> stringArguments = new ArrayList<>(arguments.length); for (ICVSResource resource : arguments) { String remotePath; if (isDefinedModule(resource)) { @@ -63,7 +63,7 @@ public abstract class RemoteCommand extends Command { } stringArguments.add(remotePath); } - return (String[]) stringArguments.toArray(new String[stringArguments.size()]); + return stringArguments.toArray(new String[stringArguments.size()]); } private boolean isDefinedModule(ICVSResource resource) { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java index b2eddd6fa..b74e099e4 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java @@ -30,7 +30,7 @@ public abstract class Request { public static final ValidRequests VALID_REQUESTS = new ValidRequests(); /*** Response handler map ***/ - private static final Map responseHandlers = new HashMap(); + private static final Map<String,ResponseHandler> responseHandlers = new HashMap<>(); private static void initializeHandlerCache() { synchronized(responseHandlers) { @@ -67,16 +67,15 @@ public abstract class Request { * * @return a map of response handlers */ - protected static Map getReponseHandlerMap() { + protected static Map<String,ResponseHandler> getReponseHandlerMap() { synchronized(responseHandlers) { if (responseHandlers.isEmpty()) { initializeHandlerCache(); } - Map copy = new HashMap(); + Map<String,ResponseHandler> copy = new HashMap<>(); for (Iterator iter = responseHandlers.values().iterator(); iter.hasNext();) { ResponseHandler handler = (ResponseHandler) iter.next(); copy.put(handler.getResponseID(), handler.getInstance()); - } return copy; } @@ -154,7 +153,7 @@ public abstract class Request { // handle completion responses if (response.equals("ok")) { //$NON-NLS-1$ break; - } else if (response.equals("error") || (isCVSNT && response.equals(""))) { //$NON-NLS-1$ //$NON-NLS-2$ + } else if (response.equals("error") || (isCVSNT && response.isEmpty())) { //$NON-NLS-1$ argument = argument.trim(); boolean serious = false; if (argument.length() == 0) { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java index 6a1827aba..b6d940dfd 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java @@ -37,7 +37,8 @@ public abstract class ResponseHandler { * Handles a server response. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Clear-sticky myDirectory \n @@ -48,8 +49,7 @@ public abstract class ResponseHandler { * for <em>Clear-sticky</em> will be invoked with <code>argument</code> * set to <em>"myDirectory"</em>. It must then read the remaining * response data from the connection (<em>"/u/cvsroot/myDirectory"</em> - * including the newline) and take any necessary action. - * </p><p> + * including the newline) and take any necessary action.<p> * Note: The type and quantity of additional data that must be read * from the connection varies on a per-response basis. * </p> diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java index 9840e92ce..aabc321dc 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java @@ -83,7 +83,7 @@ public class Session { private boolean noLocalChanges = false; private boolean createBackups = true; private int compressionLevel = 0; - private List expansions; + private List<String> expansions; private Collection /* of ICVSFile */ textTransferOverrideSet = null; // state need to indicate whether @@ -91,10 +91,10 @@ public class Session { // The resource bundle key that provides the file sending message private String sendFileTitleMessage; - private Map responseHandlers; + private Map<String,ResponseHandler> responseHandlers; // List of errors accumulated while the command is executing - private List errors = new ArrayList(); + private List<IStatus> errors = new ArrayList<>(); private Command currentCommand; @@ -136,7 +136,7 @@ public class Session { */ protected void resetModuleExpansion() { if (expansions == null) - expansions = new ArrayList(); + expansions = new ArrayList<>(); else expansions.clear(); } @@ -268,7 +268,7 @@ public class Session { */ public String[] getModuleExpansions() { if (expansions == null) return new String[0]; - return (String[]) expansions.toArray(new String[expansions.size()]); + return expansions.toArray(new String[expansions.size()]); } /** @@ -313,12 +313,12 @@ public class Session { /** * Sends an argument to the server. - * <p>e.g. sendArgument("Hello\nWorld\n Hello World") sends: + * <p>e.g. sendArgument("Hello\nWorld\n Hello World") sends:</p> * <pre> * Argument Hello \n * Argumentx World \n * Argumentx Hello World \n - * </pre></p> + * </pre> * * @param arg the argument to send */ @@ -357,10 +357,10 @@ public class Session { /** * Sends an Is-modified request to the server without the file contents. - * <p>e.g. if a file called "local_file" was modified, sends: + * <p>e.g. if a file called "local_file" was modified, sends:</p> * <pre> * Is-modified local_file \n - * </pre></p><p> + * </pre><p> * This request is an optimized form of the Modified request and may not * be supported by all servers. Hence, if it is not supported, a Modified * request is sent instead along with the file's contents. According to @@ -420,11 +420,11 @@ public class Session { /** * Sends a Directory request to the server. - * <p>e.g. sendDirectory("local_dir", "remote_dir") sends: + * <p>e.g. sendDirectory("local_dir", "remote_dir") sends:</p> * <pre> * Directory local_dir * repository_root/remote_dir - * </pre></p> + * </pre> * * @param localDir the path of the local directory relative to localRoot * @param remoteDir the path of the remote directory relative to repositoryRoot @@ -492,10 +492,10 @@ public class Session { /** * Sends a global options to the server. - * <p>e.g. sendGlobalOption("-n") sends: + * <p>e.g. sendGlobalOption("-n") sends:</p> * <pre> * Global_option -n \n - * </pre></p> + * </pre> * * @param option the global option to send */ @@ -563,13 +563,13 @@ public class Session { /** * Sends a Modified request to the server along with the file contents. - * <p>e.g. if a file called "local_file" was modified, sends: + * <p>e.g. if a file called "local_file" was modified, sends:</p> * <pre> * Modified local_file \n * file_permissions \n * file_size \n * [... file_contents ...] - * </pre></p><p> + * </pre><p> * Under some circumstances, Is-modified may be used in place of this request.<br> * Do not use with history, init, import, rdiff, release, rtag, or update. * </p><p> @@ -960,7 +960,7 @@ public class Session { * Get the response handler map to be used for this session. The map is created by making a copy of the global * reponse handler map. */ - protected Map getReponseHandlers() { + protected Map<String,ResponseHandler> getReponseHandlers() { if (responseHandlers == null) { responseHandlers = Request.getReponseHandlerMap(); } @@ -990,7 +990,7 @@ public class Session { } public ResponseHandler getResponseHandler(String responseID) { - return (ResponseHandler)getReponseHandlers().get(responseID); + return getReponseHandlers().get(responseID); } /** @@ -1008,7 +1008,7 @@ public class Session { } public IStatus[] getErrors() { - return (IStatus[]) errors.toArray(new IStatus[errors.size()]); + return errors.toArray(new IStatus[errors.size()]); } public void clearErrors() { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java index 59c21d149..c831b408f 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java @@ -26,7 +26,8 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo; * from the CVS server. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Set-static-directory myproject/ \n @@ -35,7 +36,6 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo; * </pre> * Then we set or clear the static flag of the folder "myproject", * automatically creating it if it does not exist locally, - * </p> */ class StaticHandler extends ResponseHandler { private final boolean setStaticDirectory; diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java index 48fe582ff..b03786434 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java @@ -25,7 +25,8 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo; * Handles any "Set-sticky" and "Clear-stick" responses from the CVS server. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Set-sticky myproject/ \n @@ -35,7 +36,6 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo; * </pre> * Then we set or clear the sticky tag property of the folder "myproject", * automatically creating it if it does not exist locally, - * </p> */ class StickyHandler extends ResponseHandler { private final boolean setSticky; diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java index dd7783fac..4b1d8d18c 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java @@ -26,9 +26,9 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter; * @author Administrator * * To change this generated comment edit the template variable "typecomment": - * Window>Preferences>Java>Templates. + * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to - * Window>Preferences>Java>Code Generation. + * Window>Preferences>Java>Code Generation. */ public class TemplateHandler extends ResponseHandler { @@ -66,18 +66,13 @@ public class TemplateHandler extends ResponseHandler { IProgressMonitor monitor) throws CVSException { - try { - // Transfer the contents - OutputStream out = new ByteArrayOutputStream(); - try { - byte[] buffer = new byte[1024]; - int read; - while ((read = stream.read(buffer)) >= 0) { - Policy.checkCanceled(monitor); - out.write(buffer, 0, read); - } - } finally { - out.close(); + try ( // Transfer the contents + OutputStream out = new ByteArrayOutputStream()) { + byte[] buffer = new byte[1024]; + int read; + while ((read = stream.read(buffer)) >= 0) { + Policy.checkCanceled(monitor); + out.write(buffer, 0, read); } } catch (IOException e) { throw CVSException.wrapException(e); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java index 6e8ee42e8..be034d839 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java @@ -16,13 +16,13 @@ package org.eclipse.team.internal.ccvs.core.client; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.team.internal.ccvs.core.CVSException; -import org.eclipse.team.internal.ccvs.core.client.Session; /** * Handles a "Valid-requests" response from the CVS server. * <p> * Suppose as a result of performing a command the CVS server responds - * as follows:<br> + * as follows: + * </p> * <pre> * [...] * Valid-requests ci co update Root Directory Valid-responses Argument ...\n @@ -30,7 +30,6 @@ import org.eclipse.team.internal.ccvs.core.client.Session; * </pre> * Then we remember the set of valid requests for this session in * preparation for isValidRequests queries. - * </p> */ class ValidRequestsHandler extends ResponseHandler { public String getResponseID() { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java index b9408f4b7..5e6a1dc55 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java @@ -28,7 +28,7 @@ public class AnnotateListener extends CommandOutputListener { * Handle output from the CVS Annotate command. */ ByteArrayOutputStream aStream = new ByteArrayOutputStream(); - List blocks = new ArrayList(); + List<CVSAnnotateBlock> blocks = new ArrayList<>(); int lineNumber; public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) { @@ -72,7 +72,7 @@ public class AnnotateListener extends CommandOutputListener { if (size == 0) { blocks.add(aBlock); } else { - CVSAnnotateBlock lastBlock = (CVSAnnotateBlock) blocks.get(size - 1); + CVSAnnotateBlock lastBlock = blocks.get(size - 1); if (lastBlock.getRevision().equals(aBlock.getRevision())) { lastBlock.setEndLine(aBlock.getStartLine()); } else { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java index 73a6ebaa0..f469198fc 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java @@ -38,7 +38,7 @@ public class EditorsListener extends CommandOutputListener { /** * List to store the EditorsInfos */ - private List infos = new LinkedList(); + private List<EditorsInfo> infos = new LinkedList<>(); /** * Name of the current file @@ -99,7 +99,7 @@ public class EditorsListener extends CommandOutputListener { * @return IEditorsInfo[] */ public EditorsInfo[] getEditorsInfos() { - return (EditorsInfo[]) infos.toArray(new EditorsInfo[infos.size()]); + return infos.toArray(new EditorsInfo[infos.size()]); } } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java index f1fe64e41..810d9cc01 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java @@ -22,6 +22,7 @@ import java.util.*; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.osgi.util.NLS; +import org.eclipse.team.core.history.ITag; import org.eclipse.team.internal.ccvs.core.*; import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener; import org.eclipse.team.internal.ccvs.core.resources.RemoteFile; @@ -67,8 +68,8 @@ public class LogListener extends CommandOutputListener { private String revision; private String author; private Date creationDate; - private List versions = new ArrayList(); - private Map internedStrings = new HashMap(); + private List<VersionInfo> versions = new ArrayList<>(); + private Map<String,String> internedStrings = new HashMap<>(); private final ILogEntryListener listener; /** @@ -195,10 +196,10 @@ public class LogListener extends CommandOutputListener { } if (state == DONE) { // we are only interested in tag names for this revision, remove all others. - List thisRevisionTags = versions.isEmpty() ? Collections.EMPTY_LIST : new ArrayList(3); - List thisRevisionBranches = new ArrayList(1); + List<ITag> thisRevisionTags = versions.isEmpty() ? Collections.emptyList() : new ArrayList<>(3); + List<ITag> thisRevisionBranches = new ArrayList<>(1); //a parallel lists for revision tags (used only for branches with no commits on them) - List revisionVersions = versions.isEmpty() ? Collections.EMPTY_LIST : new ArrayList(3); + List<String> revisionVersions = versions.isEmpty() ? Collections.emptyList() : new ArrayList<>(3); String branchRevision = this.getBranchRevision(revision); for (Iterator i = versions.iterator(); i.hasNext();) { VersionInfo version = (VersionInfo) i.next(); @@ -307,7 +308,7 @@ public class LogListener extends CommandOutputListener { } private String internAndCopyString(String string) { - String internedString = (String) internedStrings.get(string); + String internedString = internedStrings.get(string); if (internedString == null) { internedString = new String(string); internedStrings.put(internedString, internedString); @@ -316,7 +317,7 @@ public class LogListener extends CommandOutputListener { } private String internString(String string) { - String internedString = (String) internedStrings.get(string); + String internedString = internedStrings.get(string); if (internedString == null) { internedString = string; internedStrings.put(internedString, internedString); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java index 1d7440a2a..023e24213 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java @@ -32,7 +32,7 @@ public class ModuleDefinitionsListener extends CommandOutputListener { // the last line read from the context (used to accumulate multi-line definitions) private String lastLine = ""; //$NON-NLS-1$ - private Map moduleMap; + private Map<String,String> moduleMap; public ModuleDefinitionsListener() { reset(); @@ -63,10 +63,10 @@ public class ModuleDefinitionsListener extends CommandOutputListener { } public String[] getModuleExpansions() { - return (String[])moduleMap.values().toArray(new String[moduleMap.size()]); + return moduleMap.values().toArray(new String[moduleMap.size()]); } public void reset() { - this.moduleMap = new HashMap(); + this.moduleMap = new HashMap<>(); } } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java index 305a2c8e8..c7b12f939 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java @@ -41,7 +41,7 @@ public class ServerMessageLineMatcher { public ServerMessageLineMatcher(String template, String[] expectedVariables) throws CVSException { // Extract the variable names from the template Matcher matcher = VARIABLE_MATCHING_PATTERN.matcher(template); - List variables = new ArrayList(); + List<String> variables = new ArrayList<>(); while (matcher.find()) { if (matcher.groupCount() != 2) { IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.ServerMessageLineMatcher_5, new String[] { template })); @@ -50,7 +50,7 @@ public class ServerMessageLineMatcher { variables.add(matcher.group(2)); } ensureMatches(template, variables, expectedVariables); - this.variables = (String[]) variables.toArray(new String[variables.size()]); + this.variables = variables.toArray(new String[variables.size()]); // Modify the template so it can be used to match message lines from the server // (i.e. remove the variable markup) @@ -91,7 +91,7 @@ public class ServerMessageLineMatcher { Matcher matcher = pattern.matcher(line); if (!matcher.find()) return null; Assert.isTrue(matcher.groupCount() == variables.length); - Map result = new HashMap(); + Map<String,String> result = new HashMap<>(); for (int i = 1; i <= matcher.groupCount(); i++) { result.put(variables[i - 1], matcher.group(i)); } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java index 4af630c88..83c5e2d7f 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java @@ -71,8 +71,8 @@ public class StatusListener extends CommandOutputListener { * If the status returns that the file is in the Attic, then remove the * Attic segment. This is because files added to a branch that are not in * the main trunk (HEAD) are added to the Attic but cvs does magic on - * updateto put them in the correct location. - * (e.g. /project/Attic/file.txt -> /project/file.txt) + * update to put them in the correct location. + * (e.g. /project/Attic/file.txt -> /project/file.txt) */ private String removeAtticSegment(String path) { return Util.removeAtticSegment(path); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java index b9b1dd980..8a3e9d92f 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java @@ -266,7 +266,7 @@ public class CVSRepositoryLocation extends PlatformObject implements ICVSReposit * The status of the exception indicates success or failure. The status * of the exception contains a specific message suitable for displaying * to a user who has knowledge of the provided location string. - * @see CVSRepositoryLocation.fromString(String) + * @see CVSRepositoryLocation#fromString(String) */ public static CVSRepositoryLocation fromString(String location, boolean validateOnly) throws CVSException { String errorMessage = null; @@ -421,7 +421,7 @@ public class CVSRepositoryLocation extends PlatformObject implements ICVSReposit */ public static IConnectionMethod[] getPluggedInConnectionMethods() { if(pluggedInConnectionMethods==null) { - List<Object> connectionMethods = new ArrayList<Object>(); + List<Object> connectionMethods = new ArrayList<>(); if (STANDALONE_MODE) { connectionMethods.add(new PServerConnectionMethod()); @@ -641,7 +641,7 @@ public class CVSRepositoryLocation extends PlatformObject implements ICVSReposit ICVSRemoteResource[] resources = root.members(progress); // There is the off chance that there is a file in the root of the repository. // This is not supported by cvs so we need to make sure there are no files - List<ICVSRemoteResource> folders = new ArrayList<ICVSRemoteResource>(resources.length); + List<ICVSRemoteResource> folders = new ArrayList<>(resources.length); for (ICVSRemoteResource remoteResource : resources) { if (remoteResource.isContainer()) { folders.add(remoteResource); @@ -1085,7 +1085,7 @@ public class CVSRepositoryLocation extends PlatformObject implements ICVSReposit CVS_RSH_PARAMETERS = stringReplace(CVS_RSH_PARAMETERS, PORT_VARIABLE, Integer.valueOf(port).toString()); // Build the command list to be sent to the OS. - List<String> commands = new ArrayList<String>(); + List<String> commands = new ArrayList<>(); commands.add(CVS_RSH); StringTokenizer tokenizer = new StringTokenizer(CVS_RSH_PARAMETERS); while (tokenizer.hasMoreTokens()) { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java index 5e33e784f..7b2992532 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java @@ -89,7 +89,7 @@ public class ExtConnection implements IServerConnection { /** * Opens the connection and invokes cvs in server mode. * - * @see Connection.open() + * @see Connection#open() */ public void open(IProgressMonitor monitor) throws IOException { String[] command = ((CVSRepositoryLocation)location).getExtCommand(password); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java index 2d1832567..827098b25 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java @@ -46,9 +46,9 @@ public class CVSURI { * note, that URIs with the pipe separator are currently not supported. * * <ul> - * <li>cvs://[:]method:user[:password]@host:[port]/root/path#project/path[,tagName]</li> - * <li>cvs://_method_user[_password]~host_[port]!root!path/project/path[?<version,branch,date,revision>=tagName]</li> - * <li>scm:cvs<delimiter>method<delimiter>[user[<delimiter>password]@]host[<delimiter>port]<delimiter>/root/path<delimiter>project/path[;project="projectName"][;tag=tagName]</li> + * <li>{@literal cvs://[:]method:user[:password]@host:[port]/root/path#project/path[,tagName]}</li> + * <li>{@literal cvs://_method_user[_password]~host_[port]!root!path/project/path[?<version,branch,date,revision>=tagName]}</li> + * <li>{@literal scm:cvs<delimiter>method<delimiter>[user[<delimiter>password]@]host[<delimiter>port]<delimiter>/root/path<delimiter>project/path[;project="projectName"][;tag=tagName]}</li> * </ul> * @param uri the URI * @return a CVS URI @@ -181,7 +181,7 @@ public class CVSURI { int i = f.lastIndexOf(','); if (i != -1) { String s = f.substring(i + 1); - if (!s.equals("")) //$NON-NLS-1$ + if (!s.isEmpty()) return s; } } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java index e837d78d3..9dd8b3ef1 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java @@ -44,7 +44,7 @@ class LogEntryCache implements ILogEntryListener { */ public ILogEntry[] getLogEntries(String path) { Map map = internalGetLogEntries(path); - return (ILogEntry[]) map.values().toArray(new ILogEntry[map.values().size()]); + return (ILogEntry[]) map.values().toArray(new ILogEntry[map.size()]); } ILogEntry internalGetLogEntry(String path, String revision) { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java index fc79e9783..06963d815 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java @@ -13,7 +13,7 @@ *******************************************************************************/ package org.eclipse.team.internal.ccvs.core.mapping; -import com.ibm.icu.text.DateFormat; +import java.text.DateFormat; import java.util.Date; import org.eclipse.team.internal.ccvs.core.ILogEntry; diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java index aaf674188..748593022 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java @@ -40,12 +40,12 @@ public class ChangeSetResourceMapping extends ResourceMapping { } public IProject[] getProjects() { - Set result = new HashSet(); + Set<IProject> result = new HashSet<>(); IResource[] resources = changeSet.getResources(); for (IResource resource : resources) { result.add(resource.getProject()); } - return (IProject[]) result.toArray(new IProject[result.size()]); + return result.toArray(new IProject[result.size()]); } public ResourceTraversal[] getTraversals(ResourceMappingContext context, diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java index 7546634f8..21e20cb93 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java @@ -101,7 +101,8 @@ public class EclipseSynchronizer implements IFlushOperation { * * @param folder the folder * @param info the folder sync info, must not be null - * @see #getFolderSync, #deleteFolderSync + * @see #getFolderSync + * @see #deleteFolderSync */ public void setFolderSync(IContainer folder, FolderSyncInfo info) throws CVSException { Assert.isNotNull(info); // enforce the use of deleteFolderSync @@ -144,7 +145,8 @@ public class EclipseSynchronizer implements IFlushOperation { * * @param folder the folder * @return the folder sync info associated with the folder, or null if none. - * @see #setFolderSync, #deleteFolderSync + * @see #setFolderSync + * @see #deleteFolderSync */ public FolderSyncInfo getFolderSync(IContainer folder) throws CVSException { if (folder.getType() == IResource.ROOT || !isValid(folder)) return null; @@ -166,7 +168,8 @@ public class EclipseSynchronizer implements IFlushOperation { * for all of its children. Does not recurse. * * @param folder the folder - * @see #getFolderSync, #setFolderSync + * @see #getFolderSync + * @see #setFolderSync */ public void deleteFolderSync(IContainer folder) throws CVSException { if (folder.getType() == IResource.ROOT || !isValid(folder)) return; @@ -211,7 +214,8 @@ public class EclipseSynchronizer implements IFlushOperation { * * @param resource the resource * @param info the resource sync info, must not be null - * @see #getResourceSync, #deleteResourceSync + * @see #getResourceSync + * @see #deleteResourceSync */ public void setResourceSync(IResource resource, ResourceSyncInfo info) throws CVSException { Assert.isNotNull(info); // enforce the use of deleteResourceSync @@ -243,7 +247,8 @@ public class EclipseSynchronizer implements IFlushOperation { * * @param resource the resource * @return the resource sync info associated with the resource, or null if none. - * @see #setResourceSync, #deleteResourceSync + * @see #setResourceSync + * @see #deleteResourceSync */ public ResourceSyncInfo getResourceSync(IResource resource) throws CVSException { byte[] info = getSyncBytes(resource); @@ -256,7 +261,8 @@ public class EclipseSynchronizer implements IFlushOperation { * * @param resource the resource * @return the resource sync info associated with the resource, or null if none. - * @see #setResourceSync, #deleteResourceSync + * @see #setResourceSync + * @see #deleteResourceSync */ public byte[] getSyncBytes(IResource resource) throws CVSException { IContainer parent = resource.getParent(); @@ -294,7 +300,8 @@ public class EclipseSynchronizer implements IFlushOperation { * * @param resource the resource * @param info the resource sync info, must not be null - * @see #getResourceSync, #deleteResourceSync + * @see #getResourceSync + * @see #deleteResourceSync */ public void setSyncBytes(IResource resource, byte[] syncBytes) throws CVSException { Assert.isNotNull(syncBytes); // enforce the use of deleteResourceSync @@ -325,7 +332,8 @@ public class EclipseSynchronizer implements IFlushOperation { * Deletes the resource sync info for the specified resource, if it exists. * * @param resource the resource - * @see #getResourceSync, #setResourceSync + * @see #getResourceSync + * @see #setResourceSync */ public void deleteResourceSync(IResource resource) throws CVSException { IContainer parent = resource.getParent(); diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java index 97b65a345..cdd92b1ad 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java @@ -44,7 +44,7 @@ public class RemoteFolderTreeBuilder { private static final int MAX_REVISION_FETCHES_PER_CONNECTION = 1024; - private Map<String, Map> fileDeltas; + private Map<String, Map<String, DeltaNode>> fileDeltas; private List<String> changedFiles; private Map<String, RemoteFolderTree> remoteFolderTable; @@ -96,9 +96,9 @@ public class RemoteFolderTreeBuilder { this.repository = repository; this.root = root; this.tag = tag; - this.fileDeltas = new HashMap<String, Map>(); - this.changedFiles = new ArrayList<String>(); - this.remoteFolderTable = new HashMap<String, RemoteFolderTree>(); + this.fileDeltas = new HashMap<>(); + this.changedFiles = new ArrayList<>(); + this.remoteFolderTable = new HashMap<>(); // Build the local options List<LocalOption> localOptions = new ArrayList<>(); @@ -563,7 +563,7 @@ public class RemoteFolderTreeBuilder { // Prune any empty child folders if (isPruneEmptyDirectories() && !emptyChildren.isEmpty()) { - List<ICVSRemoteResource> newChildren = new ArrayList<ICVSRemoteResource>(); + List<ICVSRemoteResource> newChildren = new ArrayList<>(); newChildren.addAll(Arrays.asList(remote.getChildren())); newChildren.removeAll(emptyChildren); remote.setChildren(newChildren.toArray(new ICVSRemoteResource[newChildren.size()])); @@ -709,7 +709,7 @@ public class RemoteFolderTreeBuilder { private void fetchFileRevisions(Session session, String[] fileNames, final IProgressMonitor monitor) throws CVSException { // Create a listener for receiving the revision info - final List<CVSException> exceptions = new ArrayList<CVSException>(); + final List<CVSException> exceptions = new ArrayList<>(); IStatusListener listener = new IStatusListener() { public void fileStatus(ICVSFolder root, String path, String remoteRevision) { try { diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java index dc0dfc496..1cdfe6f28 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2020 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -65,9 +65,9 @@ public class RemoteModule extends RemoteFolder { */ public static RemoteModule[] createRemoteModules(String[] moduleDefinitionStrings, ICVSRepositoryLocation repository, CVSTag tag) { - Map modules = new HashMap(); - Map referencedModulesTable = new HashMap(); - Map moduleAliases = new HashMap(); + Map<String, RemoteModule> modules = new HashMap<>(); + Map<String, String[]> referencedModulesTable = new HashMap<>(); + Map<String,String[]> moduleAliases = new HashMap<>(); // First pass: Create the remote module instances based on remote mapping for (String moduleDefinitionString : moduleDefinitionStrings) { @@ -119,7 +119,7 @@ public class RemoteModule extends RemoteFolder { } // An alias expands to one or more modules or paths - List expansions = new ArrayList(10); + List<String> expansions = new ArrayList<>(10); expansions.add(next); while (tokenizer.hasMoreTokens()) expansions.add(tokenizer.nextToken()); @@ -132,7 +132,7 @@ public class RemoteModule extends RemoteFolder { // The module definition may have a leading directory which can be followed by some files if (!(next.charAt(0) == '&')) { String directory = next; - List files = new ArrayList(); + List<String> files = new ArrayList<>(); while (tokenizer.hasMoreTokens() && (next.charAt(0) != '&')) { next = tokenizer.nextToken() ; if ((next.charAt(0) != '&')) @@ -143,7 +143,7 @@ public class RemoteModule extends RemoteFolder { if ( ! files.isEmpty()) { ICVSRemoteResource[] children = new ICVSRemoteResource[files.size()]; for (int j = 0; j < children.length; j++) { - children[j] = new RemoteFile(remoteModule, Update.STATE_NONE, (String)files.get(j), null, null, tag); + children[j] = new RemoteFile(remoteModule, Update.STATE_NONE, files.get(j), null, null, tag); remoteModule.setChildren(children); } } @@ -167,9 +167,9 @@ public class RemoteModule extends RemoteFolder { Iterator iter = moduleAliases.keySet().iterator(); while (iter.hasNext()) { String moduleName = (String)iter.next(); - RemoteModule module = (RemoteModule)modules.get(moduleName); - String[] expansion = (String[])moduleAliases.get(moduleName); - List referencedFolders = new ArrayList(); + RemoteModule module = modules.get(moduleName); + String[] expansion = moduleAliases.get(moduleName); + List<ICVSRemoteResource> referencedFolders = new ArrayList<>(); boolean expandable = true; for (String e : expansion) { if (e.charAt(0) == '!') { @@ -181,7 +181,7 @@ public class RemoteModule extends RemoteFolder { // XXX Unsupported for now expandable = false; } else { - RemoteModule child = (RemoteModule) modules.get(e); + RemoteModule child = modules.get(e); if (child == null) { referencedFolders.add(new RemoteFolder(null, repository, path.toString(), tag)); } else { @@ -198,7 +198,7 @@ public class RemoteModule extends RemoteFolder { } if (expandable) { //TODO: Make module static?? - module.setChildren((ICVSRemoteResource[]) referencedFolders.toArray(new ICVSRemoteResource[referencedFolders.size()])); + module.setChildren(referencedFolders.toArray(new ICVSRemoteResource[referencedFolders.size()])); } else { module.setExpandable(false); } @@ -208,13 +208,13 @@ public class RemoteModule extends RemoteFolder { iter = modules.keySet().iterator(); while (iter.hasNext()) { String moduleName = (String)iter.next(); - String[] children = (String[])referencedModulesTable.get(moduleName); + String[] children = referencedModulesTable.get(moduleName); if (children != null) { - RemoteModule module = (RemoteModule)modules.get(moduleName); + RemoteModule module = modules.get(moduleName); List<RemoteModule> referencedFolders = new ArrayList<>(); boolean expandable = true; for (String c : children) { - RemoteModule child = (RemoteModule) modules.get(c.substring(1)); + RemoteModule child = modules.get(c.substring(1)); if (child == null) { // invalid module definition expandable = false; @@ -239,7 +239,7 @@ public class RemoteModule extends RemoteFolder { } } - return (RemoteModule[])modules.values().toArray(new RemoteModule[modules.size()]); + return modules.values().toArray(new RemoteModule[modules.size()]); } public RemoteModule(String label, RemoteFolder parent, ICVSRepositoryLocation repository, String repositoryRelativePath, LocalOption[] localOptions, CVSTag tag, boolean isStatic) { @@ -277,12 +277,8 @@ public class RemoteModule extends RemoteFolder { } else { // Combine two sets of children allChildren = new ICVSRemoteResource[physicalChildren.length + referencedModules.length]; - for (int i = 0; i < physicalChildren.length; i++) { - allChildren[i] = physicalChildren[i]; - } - for (int i = 0; i < referencedModules.length; i++) { - allChildren[i + physicalChildren.length] = referencedModules[i]; - } + System.arraycopy(physicalChildren, 0, allChildren, 0, physicalChildren.length); + System.arraycopy(referencedModules, 0, allChildren, physicalChildren.length, referencedModules.length); } } else if (physicalChildren != null) { allChildren = physicalChildren; @@ -314,20 +310,20 @@ public class RemoteModule extends RemoteFolder { if (folderInfo.getIsStatic()) { ICVSRemoteResource[] children = getChildren(); if (children != null) { - List taggedChildren = new ArrayList(children.length); + List<ICVSRemoteResource> taggedChildren = new ArrayList<>(children.length); for (ICVSRemoteResource resource : children) { taggedChildren.add(((RemoteResource)resource).forTag(r, tagName)); } - r.setChildren((ICVSRemoteResource[]) taggedChildren.toArray(new ICVSRemoteResource[taggedChildren.size()])); + r.setChildren(taggedChildren.toArray(new ICVSRemoteResource[taggedChildren.size()])); } } if (referencedModules != null) { - List taggedModules = new ArrayList(referencedModules.length); + List<ICVSRemoteResource> taggedModules = new ArrayList<>(referencedModules.length); for (ICVSRemoteResource referencedModule : referencedModules) { RemoteModule module = (RemoteModule) referencedModule; taggedModules.add(module.forTag(r, tagName)); } - r.setReferencedModules((ICVSRemoteResource[]) taggedModules.toArray(new ICVSRemoteResource[taggedModules.size()])); + r.setReferencedModules(taggedModules.toArray(new ICVSRemoteResource[taggedModules.size()])); } return r; } diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java index 5d78afc5b..e0df6c7d9 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java @@ -247,12 +247,16 @@ import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter; byte [] diBytes = ResourcesPlugin.getWorkspace().getSynchronizer().getSyncInfo(FOLDER_DIRTY_STATE_KEY, container); if(diBytes != null && !CVSProviderPlugin.getPlugin().crashOnLastRun()) { di = new String(diBytes); - if(di.equals(NOT_DIRTY_INDICATOR)) { + switch (di) { + case NOT_DIRTY_INDICATOR: di = NOT_DIRTY_INDICATOR; - } else if(di.equals(IS_DIRTY_INDICATOR)) { + break; + case IS_DIRTY_INDICATOR: di = IS_DIRTY_INDICATOR; - } else { + break; + default: di = RECOMPUTE_INDICATOR; + break; } } else { di = RECOMPUTE_INDICATOR; diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java index d58011df4..28d3ab039 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java @@ -106,7 +106,7 @@ public class FolderSyncInfo { return true; } /** - * Gets the root, cannot be <code>null. + * Gets the root, cannot be <code>null</code>. * * @return Returns a String */ diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java index 14f23c3ce..9817e5e7f 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java @@ -691,7 +691,7 @@ public class ResourceSyncInfo { } /** * Method startOfSlot returns the index of the slash that occurs before the - * given slot index. The provided index should be >= 1 which assumes that + * given slot index. The provided index should be >= 1 which assumes that * slot zero occurs before the first slash. * * @param syncBytes diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java index 5bdbdcce3..a6f8c2814 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java @@ -491,13 +491,10 @@ public class SyncFileWriter { try { InputStream in = getInputStream(file); if (in != null) { - BufferedReader reader = new BufferedReader(new InputStreamReader(in), 512); - try { + try (BufferedReader reader = new BufferedReader(new InputStreamReader(in), 512)) { String line = reader.readLine(); if (line == null) return ""; //$NON-NLS-1$ return line; - } finally { - reader.close(); } } return null; diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java index 71f680f27..58404355d 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java @@ -536,7 +536,7 @@ public class Util { * Attic segment. This is because files added to a branch that are not in * the main trunk (HEAD) are added to the Attic but cvs does magic on * update to put them in the correct location. - * (e.g. /project/Attic/file.txt -> /project/file.txt) + * (e.g. /project/Attic/file.txt -> /project/file.txt) */ public static String removeAtticSegment(String path) { int lastSeparator = path.lastIndexOf(Session.SERVER_SEPARATOR); |