Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import java.util.IdentityHashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
Expand All @@ -38,7 +39,6 @@
import javax.swing.Icon;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
Expand Down Expand Up @@ -103,6 +103,7 @@ protected String getItemValue(@NonNull final SymbolDescriptor item) {
}

@Override
@SuppressWarnings("unchecked")
protected void update(@NonNull final SymbolDescriptor item) {
String searchText = getSearchText();
if (searchText == null) {
Expand All @@ -111,8 +112,8 @@ protected void update(@NonNull final SymbolDescriptor item) {
SymbolProviderAccessor.DEFAULT.setHighlightText(item, searchText);
final SymbolDescriptorAttrCopier copier = currentSearch.getAttribute(SymbolDescriptorAttrCopier.class);
if (copier != null) {
if (item instanceof AsyncDescriptor && !((AsyncDescriptor<SymbolDescriptor>)item).hasCorrectCase()) {
copier.reportWrongCase((AsyncDescriptor<SymbolDescriptor>)item);
if (item instanceof AsyncDescriptor ad && !ad.hasCorrectCase()) {
copier.reportWrongCase(ad);
}
}
}
Expand All @@ -139,8 +140,8 @@ void setDialog(final Dialog dialog) {


@Override
public ListCellRenderer getListCellRenderer(
@NonNull final JList list,
public ItemRenderer<SymbolDescriptor> getListCellRenderer(
@NonNull final JList<SymbolDescriptor> list,
@NonNull final ButtonModel caseSensitive) {
Parameters.notNull("list", list); //NOI18N
Parameters.notNull("caseSensitive", caseSensitive); //NOI18N
Expand All @@ -151,7 +152,7 @@ public ListCellRenderer getListCellRenderer(
}

@Override
public boolean setListModel(GoToPanel panel, String text) {
public boolean setListModel(GoToPanel<SymbolDescriptor> panel, String text) {
enableOK(false);
final Worker workToCancel;
final RequestProcessor.Task taskToCancel;
Expand All @@ -170,7 +171,7 @@ public boolean setListModel(GoToPanel panel, String text) {

if ( text == null ) {
currentSearch.resetFilter();
panel.setModel(new DefaultListModel(), true);
panel.setModel(new DefaultListModel<>(), true);
return false;
}
final boolean exact = text.endsWith(" "); // NOI18N
Expand All @@ -180,7 +181,7 @@ public boolean setListModel(GoToPanel panel, String text) {
currentSearch.filter(
SearchType.EXACT_NAME,
text,
Collections.singletonMap(AbstractModelFilter.OPTION_CLEAR, Boolean.TRUE));
Map.of(AbstractModelFilter.OPTION_CLEAR, Boolean.TRUE));
panel.revalidateModel(true);
return false;
}
Expand All @@ -197,7 +198,7 @@ public boolean setListModel(GoToPanel panel, String text) {
if (name.isEmpty()) {
//Empty name, wait for next char
currentSearch.resetFilter();
panel.setModel(new DefaultListModel(), true);
panel.setModel(new DefaultListModel<>(), true);
return false;
}
// Compute in other thread
Expand Down Expand Up @@ -245,7 +246,7 @@ public boolean hasValidContent() {
Runnable createWorker(
@NonNull final String text,
@NonNull final SearchType searchType,
@NonNull final GoToPanel panel) {
@NonNull final GoToPanel<SymbolDescriptor> panel) {
return new Worker(text, text, searchType, panel);
}

Expand All @@ -268,7 +269,7 @@ private void cleanUp() {
private Collection<? extends SymbolProvider> getTypeProviders() {
Collection<? extends SymbolProvider> res = typeProviders.get();
if (res == null) {
res = Arrays.asList(Lookup.getDefault().lookupAll(SymbolProvider.class).toArray(new SymbolProvider[0]));
res = Arrays.asList(Lookup.getDefault().lookupAll(SymbolProvider.class).toArray(SymbolProvider[]::new));
if (!typeProviders.compareAndSet(null, res)) {
res = typeProviders.get();
}
Expand Down Expand Up @@ -324,7 +325,7 @@ private class Worker implements Runnable {
private final String name;
private final SearchType searchType;
private final long createTime;
private final GoToPanel panel;
private final GoToPanel<SymbolDescriptor> panel;

private volatile boolean isCanceled = false;
private volatile SymbolProvider current;
Expand All @@ -333,7 +334,7 @@ private class Worker implements Runnable {
@NonNull final String text,
@NonNull final String name,
@NonNull final SearchType searchType,
@NonNull final GoToPanel panel ) {
@NonNull final GoToPanel<SymbolDescriptor> panel ) {
this.text = text;
this.name = name;
this.searchType = searchType;
Expand Down Expand Up @@ -465,7 +466,7 @@ private Result getSymbolNames(
items = new HashSet<>(128);
String[] message = new String[1];
int retry = 0;
final Collection<SymbolProvider> nonFinishedProviders = Collections.newSetFromMap(new IdentityHashMap<SymbolProvider, Boolean>());
final Collection<SymbolProvider> nonFinishedProviders = Collections.newSetFromMap(new IdentityHashMap<>());
for (SymbolProvider provider : providers) {
current = provider;
try {
Expand Down Expand Up @@ -553,16 +554,17 @@ public boolean removeAll(Collection<?> c) {
return modified;
}
});
resolved = Collections.synchronizedSet(new HashSet<SymbolDescriptor>());
resolved = Collections.synchronizedSet(new HashSet<>());
}

@SuppressWarnings("unchecked")
void checkWrongCase(
@NonNull final Collection<? extends SymbolDescriptor> remove,
@NonNull final Collection<? extends SymbolDescriptor> add) {
hasWrongCase.removeAll(remove);
for (SymbolDescriptor d : add) {
if (d instanceof AsyncDescriptor && !((AsyncDescriptor<SymbolDescriptor>)d).hasCorrectCase()) {
reportWrongCase((AsyncDescriptor<SymbolDescriptor>)d);
if (d instanceof AsyncDescriptor ad && !ad.hasCorrectCase()) {
reportWrongCase(ad);
}
}
}
Expand Down Expand Up @@ -593,8 +595,8 @@ public SymbolDescriptor create(@NonNull final Pair<? extends SymbolDescriptor, ?
final SymbolDescriptor source = p.first();
final SymbolDescriptor target = p.second();
resolved.add(source);
if (source instanceof AsyncDescriptor && !((AsyncDescriptor<SymbolDescriptor>)source).hasCorrectCase()) {
hasWrongCase.remove(source);
if (source instanceof AsyncDescriptor ad && !ad.hasCorrectCase()) {
hasWrongCase.remove(ad);
}
SymbolProviderAccessor.DEFAULT.setHighlightText(
target,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.ListCellRenderer;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
Expand All @@ -61,6 +60,7 @@
import org.netbeans.api.annotations.common.CheckForNull;
import org.netbeans.api.annotations.common.NonNull;
import org.netbeans.modules.jumpto.SearchHistory;
import org.netbeans.modules.jumpto.common.ItemRenderer;
import org.netbeans.modules.jumpto.common.UiUtils;
import org.netbeans.modules.jumpto.settings.GoToSettings;
import org.netbeans.modules.jumpto.type.UiOptions;
Expand Down Expand Up @@ -165,7 +165,7 @@ public long getStartTime() {
*/
@Override
public boolean setModel(
@NonNull final ListModel model,
@NonNull ListModel<SymbolDescriptor> model,
final boolean finished) {
assert SwingUtilities.isEventDispatchThread();
matchesList.setModel(model);
Expand Down Expand Up @@ -560,7 +560,6 @@ public void itemStateChanged(ItemEvent e) {

@Override
public void valueChanged(@NonNull final ListSelectionEvent ev) {
// got "Not computed yet" text sometimes
SymbolDescriptor selected = dialog.matchesList.getSelectedValue();
if (selected != null) {
dialog.jTextFieldLocation.setText(selected.getFileDisplayPath());
Expand Down Expand Up @@ -588,9 +587,9 @@ private void update(boolean restart) {

public static interface ContentProvider {

public ListCellRenderer<SymbolDescriptor> getListCellRenderer(JList<SymbolDescriptor> list, ButtonModel caseSensitive);
public ItemRenderer<SymbolDescriptor> getListCellRenderer(JList<SymbolDescriptor> list, ButtonModel caseSensitive);

public boolean setListModel( GoToPanel panel, String text );
public boolean setListModel(GoToPanel<SymbolDescriptor> panel, String text);

public void closeDialog();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ TXT_GoToType_MatchesList_Label=Types &Found :
LBL_GoToType_LocationJLabel=Location\:
TXT_GoToType_CaseSensitive=Case &Sensitive
TXT_GoToType_PreferOpenProjects=Prefer &Open Projects
LBL_Computing=Computing...

CTL_OK=OK

Expand Down
Loading
Loading