Skip to content

Commit 55dc033

Browse files
committed
Warning fixes and cleanup in related vcs file history code.
javac fixes, dead code removal, language updates and other minor improvements.
1 parent ec64f26 commit 55dc033

File tree

10 files changed

+155
-306
lines changed

10 files changed

+155
-306
lines changed

ide/git/src/org/netbeans/modules/git/HistoryProvider.java

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
*/
5454
public class HistoryProvider implements VCSHistoryProvider {
5555

56-
private final List<VCSHistoryProvider.HistoryChangeListener> listeners = new LinkedList<VCSHistoryProvider.HistoryChangeListener>();
56+
private final List<VCSHistoryProvider.HistoryChangeListener> listeners = new LinkedList<>();
5757
private static final Logger LOG = Logger.getLogger(HistoryProvider.class.getName());
5858
private Action[] actions;
5959

@@ -80,9 +80,9 @@ public synchronized HistoryEntry[] getHistory(File[] files, Date fromDate) {
8080
return null;
8181
}
8282

83-
List<HistoryEntry> ret = new LinkedList<HistoryEntry>();
84-
Map<String, Set<File>> rev2FileMap = new HashMap<String, Set<File>>();
85-
Map<String, GitRevisionInfo> rev2LMMap = new LinkedHashMap<String, GitRevisionInfo>();
83+
List<HistoryEntry> ret = new LinkedList<>();
84+
Map<String, Set<File>> rev2FileMap = new HashMap<>();
85+
Map<String, GitRevisionInfo> rev2LMMap = new LinkedHashMap<>();
8686

8787
File repositoryRoot = repositories.iterator().next();
8888
for (File file : files) {
@@ -96,12 +96,8 @@ public synchronized HistoryEntry[] getHistory(File[] files, Date fromDate) {
9696
for (GitRevisionInfo h : history) {
9797
String r = h.getRevision();
9898
rev2LMMap.put(r, h);
99-
Set<File> s = rev2FileMap.get(r);
100-
if(s == null) {
101-
s = new HashSet<File>();
102-
rev2FileMap.put(r, s);
103-
}
104-
s.add(file);
99+
rev2FileMap.computeIfAbsent(r, k -> new HashSet<File>())
100+
.add(file);
105101
}
106102
} catch (GitException ex) {
107103
LOG.log(Level.INFO, null, ex);
@@ -110,12 +106,12 @@ public synchronized HistoryEntry[] getHistory(File[] files, Date fromDate) {
110106

111107
for (GitRevisionInfo h : rev2LMMap.values()) {
112108
Set<File> s = rev2FileMap.get(h.getRevision());
113-
File[] involvedFiles = s.toArray(new File[0]);
109+
File[] involvedFiles = s.toArray(File[]::new);
114110

115111
HistoryEntry e = createHistoryEntry(h, involvedFiles, repositoryRoot);
116112
ret.add(e);
117113
}
118-
return ret.toArray(new HistoryEntry[0]);
114+
return ret.toArray(HistoryEntry[]::new);
119115
}
120116

121117
private HistoryEntry createHistoryEntry (GitRevisionInfo h, File[] involvedFiles, File repositoryRoot) {
@@ -150,20 +146,17 @@ public Action createShowHistoryAction(File[] files) {
150146
public void fireHistoryChange (final File[] files) {
151147
final HistoryChangeListener[] la;
152148
synchronized(listeners) {
153-
la = listeners.toArray(new HistoryChangeListener[0]);
149+
la = listeners.toArray(HistoryChangeListener[]::new);
154150
}
155-
Git.getInstance().getRequestProcessor().post(new Runnable() {
156-
@Override
157-
public void run() {
158-
for (HistoryChangeListener l : la) {
159-
l.fireHistoryChanged(new HistoryEvent(HistoryProvider.this, files));
160-
}
151+
Git.getInstance().getRequestProcessor().post(() -> {
152+
for (HistoryChangeListener l : la) {
153+
l.fireHistoryChanged(new HistoryEvent(HistoryProvider.this, files));
161154
}
162155
});
163156
}
164157

165158
private class RevisionProviderImpl implements RevisionProvider {
166-
private String revision;
159+
private final String revision;
167160

168161
public RevisionProviderImpl(String revision) {
169162
this.revision = revision;
@@ -230,7 +223,7 @@ private void openHistory(File[] files) {
230223
if(repositories == null || repositories.isEmpty()) {
231224
return;
232225
}
233-
List<Node> nodes = new ArrayList<Node>(files.length);
226+
List<Node> nodes = new ArrayList<>(files.length);
234227
for (File f : files) {
235228
nodes.add(new AbstractNode(Children.LEAF, Lookups.fixed(f)) {
236229
@Override
@@ -239,7 +232,7 @@ public String getDisplayName() {
239232
}
240233
});
241234
}
242-
SearchHistoryAction.openSearch(repositories.iterator().next(), files, Utils.getContextDisplayName(VCSContext.forNodes(nodes.toArray(new Node[0]))));
235+
SearchHistoryAction.openSearch(repositories.iterator().next(), files, Utils.getContextDisplayName(VCSContext.forNodes(nodes.toArray(Node[]::new))));
243236
}
244237

245238
}
@@ -267,8 +260,9 @@ protected void perform(HistoryEntry entry, Set<File> files) {
267260
@Override
268261
protected void perform(final HistoryEntry entry, final Set<File> files) {
269262
File root = Git.getInstance().getRepositoryRoot(files.iterator().next());
270-
SystemAction.get(RevertChangesAction.class).revertFiles(root, files.toArray(new File[0]),
271-
getRevisionShort(), Bundle.HistoryProvider_action_RevertTo_progress());
263+
SystemAction.get(RevertChangesAction.class).revertFiles(
264+
root, files.toArray(File[]::new), getRevisionShort(), Bundle.HistoryProvider_action_RevertTo_progress()
265+
);
272266
}
273267
@Override
274268
protected boolean isMultipleHistory() {
@@ -315,7 +309,7 @@ protected void perform () {
315309
}
316310

317311
private static Set<File> getRepositoryRoots(File... files) {
318-
Set<File> repositories = GitUtils.getRepositoryRoots(new HashSet<File>(Arrays.asList(files)));
312+
Set<File> repositories = GitUtils.getRepositoryRoots(new HashSet<>(Arrays.asList(files)));
319313
if (repositories.size() != 1) {
320314
LOG.log(Level.WARNING, "History requested for {0} repositories", repositories.size()); // NOI18N
321315
return null;
@@ -324,16 +318,16 @@ private static Set<File> getRepositoryRoots(File... files) {
324318
}
325319

326320
private class ParentProviderImpl implements ParentProvider {
327-
private GitRevisionInfo info;
328-
private File[] files;
329-
private File repository;
330-
private Map<File, HistoryEntry> commonAncestors;
321+
private final GitRevisionInfo info;
322+
private final File[] files;
323+
private final File repository;
324+
private final Map<File, HistoryEntry> commonAncestors;
331325

332326
public ParentProviderImpl (GitRevisionInfo info, File[] files, File repository) {
333327
this.info = info;
334328
this.files = files;
335329
this.repository = repository;
336-
this.commonAncestors = new HashMap<File, HistoryEntry>(files.length);
330+
this.commonAncestors = new HashMap<>((int) Math.ceil(files.length / 0.75));
337331
}
338332

339333
@Override

ide/libs.git/src/org/netbeans/libs/git/GitRevisionInfo.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,8 @@
2525
import java.util.Collections;
2626
import java.util.HashMap;
2727
import java.util.Iterator;
28-
import java.util.LinkedHashMap;
2928
import java.util.List;
3029
import java.util.Map;
31-
import java.util.logging.Logger;
3230
import org.eclipse.jgit.lib.ObjectId;
3331
import org.eclipse.jgit.lib.PersonIdent;
3432
import org.eclipse.jgit.lib.Repository;
@@ -53,7 +51,6 @@ public final class GitRevisionInfo {
5351
private final Repository repository;
5452
private final Map<String, GitBranch> branches;
5553
private GitFileInfo[] modifiedFiles;
56-
private static final Logger LOG = Logger.getLogger(GitRevisionInfo.class.getName());
5754
private String shortMessage;
5855

5956
GitRevisionInfo (RevCommit commit, Repository repository) {
@@ -146,7 +143,7 @@ public java.util.Map<java.io.File, GitFileInfo> getModifiedFiles () throws GitEx
146143
listFiles();
147144
}
148145
}
149-
Map<File, GitFileInfo> files = new HashMap<>(modifiedFiles.length);
146+
Map<File, GitFileInfo> files = new HashMap<>((int) Math.ceil(modifiedFiles.length / 0.75));
150147
for (GitFileInfo info : modifiedFiles) {
151148
files.put(info.getFile(), info);
152149
}
@@ -202,17 +199,11 @@ private void listFiles() throws GitException {
202199
result.add(new GitFileInfo(new File(repository.getWorkTree(), walk.getPathString()), walk.getPathString(), GitFileInfo.Status.ADDED, null, null));
203200
}
204201
}
205-
this.modifiedFiles = result.toArray(new GitFileInfo[0]);
202+
this.modifiedFiles = result.toArray(GitFileInfo[]::new);
206203
} catch (IOException ex) {
207204
throw new GitException(ex);
208205
}
209206
}
210-
211-
private static Map<String, GitBranch> buildBranches (RevCommit commit, Map<String, GitBranch> branches) {
212-
Map<String, GitBranch> retval = new LinkedHashMap<>(branches.size());
213-
214-
return retval;
215-
}
216207

217208
/**
218209
* Provides information about what happened to a file between two different commits.

ide/versioning.core/src/org/netbeans/modules/versioning/core/spi/VCSHistoryProvider.java

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,18 @@ public interface VCSHistoryProvider {
8383
* </table>
8484
*/
8585
public static final class HistoryEntry {
86-
private Date dateTime;
86+
87+
private final Date dateTime;
8788
private String message;
88-
private VCSFileProxy[] files;
89-
private String usernameShort;
90-
private String username;
91-
private String revisionShort;
92-
private String revision;
93-
private Action[] actions;
94-
private RevisionProvider revisionProvider;
95-
private MessageEditProvider mep;
96-
private ParentProvider parentProvider;
89+
private final VCSFileProxy[] files;
90+
private final String usernameShort;
91+
private final String username;
92+
private final String revisionShort;
93+
private final String revision;
94+
private final Action[] actions;
95+
private final RevisionProvider revisionProvider;
96+
private final MessageEditProvider mep;
97+
private final ParentProvider parentProvider;
9798

9899
/**
99100
* Creates a new HistoryEntry instance.
@@ -107,8 +108,9 @@ public static final class HistoryEntry {
107108
* @param revisionShort short description of the versioning revision
108109
* @param actions actions which might be called in regard with this revision
109110
* @param revisionProvider a RevisionProvider to get access to a files contents in this revision
110-
*
111-
* @since 1.26
111+
* @param messageEditProvider a MessageEditProvider to change a revisions message
112+
* @param parentProvider a ParentProvider to provide this entries parent entry. Not necessary for VCS
113+
* where a revisions parent always is the time nearest previous revision.
112114
*/
113115
public HistoryEntry(
114116
VCSFileProxy[] files,
@@ -119,7 +121,9 @@ public HistoryEntry(
119121
String revision,
120122
String revisionShort,
121123
Action[] actions,
122-
RevisionProvider revisionProvider)
124+
RevisionProvider revisionProvider,
125+
MessageEditProvider messageEditProvider,
126+
ParentProvider parentProvider)
123127
{
124128
assert files != null && files.length > 0 : "a history entry must have at least one file"; // NOI18N
125129
assert revision != null && revision != null : "a history entry must have a revision"; // NOI18N
@@ -135,6 +139,8 @@ public HistoryEntry(
135139
this.revisionShort = revisionShort;
136140
this.actions = actions;
137141
this.revisionProvider = revisionProvider;
142+
this.mep = messageEditProvider;
143+
this.parentProvider = parentProvider;
138144
}
139145

140146
/**
@@ -163,8 +169,7 @@ public HistoryEntry(
163169
RevisionProvider revisionProvider,
164170
MessageEditProvider messageEditProvider)
165171
{
166-
this(files, dateTime, message, username, usernameShort, revision, revisionShort, actions, revisionProvider);
167-
this.mep = messageEditProvider;
172+
this(files, dateTime, message, username, usernameShort, revision, revisionShort, actions, revisionProvider, messageEditProvider, null);
168173
}
169174

170175
/**
@@ -179,10 +184,8 @@ public HistoryEntry(
179184
* @param revisionShort short description of the versioning revision
180185
* @param actions actions which might be called in regard with this revision
181186
* @param revisionProvider a RevisionProvider to get access to a files contents in this revision
182-
* @param messageEditProvider a MessageEditProvider to change a revisions message
183-
* @param parentProvider a ParentProvider to provide this entries parent entry. Not necessary for VCS
184-
* where a revisions parent always is the time nearest previous revision.
185-
*
187+
*
188+
* @since 1.26
186189
*/
187190
public HistoryEntry(
188191
VCSFileProxy[] files,
@@ -193,12 +196,9 @@ public HistoryEntry(
193196
String revision,
194197
String revisionShort,
195198
Action[] actions,
196-
RevisionProvider revisionProvider,
197-
MessageEditProvider messageEditProvider,
198-
ParentProvider parentProvider)
199+
RevisionProvider revisionProvider)
199200
{
200-
this(files, dateTime, message, username, usernameShort, revision, revisionShort, actions, revisionProvider, messageEditProvider);
201-
this.parentProvider = parentProvider;
201+
this(files, dateTime, message, username, usernameShort, revision, revisionShort, actions, revisionProvider, null, null);
202202
}
203203

204204
/**

ide/versioning.ui/src/org/netbeans/modules/versioning/ui/history/History.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,13 @@ public RequestProcessor getRequestProcessor() {
6464
*/
6565
public List<VCSHyperlinkProvider> getHyperlinkProviders() {
6666
if (hpResult == null) {
67-
hpResult = (Lookup.Result<? extends VCSHyperlinkProvider>) Lookup.getDefault().lookupResult(VCSHyperlinkProvider.class);
67+
hpResult = Lookup.getDefault().lookupResult(VCSHyperlinkProvider.class);
6868
}
6969
if (hpResult == null) {
7070
return Collections.emptyList();
7171
}
7272
Collection<? extends VCSHyperlinkProvider> providersCol = hpResult.allInstances();
73-
List<VCSHyperlinkProvider> providersList = new ArrayList<VCSHyperlinkProvider>(providersCol.size());
74-
providersList.addAll(providersCol);
75-
return Collections.unmodifiableList(providersList);
73+
return Collections.unmodifiableList(new ArrayList<>(providersCol));
7674
}
7775

7876
VersioningSystem getLocalHistory(FileObject fo) {
@@ -94,14 +92,14 @@ static VCSFileProxy[] toProxies(FileObject[] files) {
9492
if(files == null) {
9593
return new VCSFileProxy[0];
9694
}
97-
List<VCSFileProxy> l = new ArrayList<VCSFileProxy>(files.length);
95+
List<VCSFileProxy> l = new ArrayList<>(files.length);
9896
for (FileObject f : files) {
9997
VCSFileProxy proxy = VCSFileProxy.createFileProxy(f);
10098
if(proxy != null) {
10199
l.add(proxy);
102100
}
103101
}
104-
return l.toArray(new VCSFileProxy[0]);
102+
return l.toArray(VCSFileProxy[]::new);
105103
}
106104

107105
}

0 commit comments

Comments
 (0)