Ignore:
Timestamp:
2016-08-18T07:21:04+02:00 (8 years ago)
Author:
simon04
Message:

JOSM/wikipedia: fix unit tests - #josm13372

Location:
applications/editors/josm/plugins/wikipedia
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikidataTagCellRenderer.java

    r32749 r32829  
    2424public class WikidataTagCellRenderer extends DefaultTableCellRenderer {
    2525
    26     private final Map<String, CompletableFuture<String>> labelCache = new ConcurrentHashMap<>();
     26    final Map<String, CompletableFuture<String>> labelCache = new ConcurrentHashMap<>();
    2727
    2828    @Override
  • applications/editors/josm/plugins/wikipedia/src/org/wikipedia/WikipediaApp.java

    r32719 r32829  
    4343
    4444    public static final Pattern WIKIDATA_PATTERN = Pattern.compile("Q\\d+");
    45     private static final DocumentBuilder DOCUMENT_BUILDER = newDocumentBuilder();
    4645    private static final XPath X_PATH = XPath.getInstance();
    4746
     
    7675            // parse XML document
    7776            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    78                 final Document doc = DOCUMENT_BUILDER.parse(in);
     77                final Document doc = newDocumentBuilder().parse(in);
    7978                final List<WikipediaEntry> entries = X_PATH.evaluateNodes("//gs", doc).stream()
    8079                        .map(node -> {
     
    110109                    "&format=xml";
    111110            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    112                 final Document xml = DOCUMENT_BUILDER.parse(in);
     111                final Document xml = newDocumentBuilder().parse(in);
    113112                final List<WikidataEntry> r = X_PATH.evaluateNodes("//entity", xml).stream()
    114113                        .map(node -> new WikidataEntry(X_PATH.evaluateString("@id", node), null, null, null))
     
    213212            final Map<String, String> r = new TreeMap<>();
    214213            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    215                 final Document xml = DOCUMENT_BUILDER.parse(in);
     214                final Document xml = newDocumentBuilder().parse(in);
    216215                X_PATH.evaluateNodes("//entity", xml).forEach(node -> {
    217216                    final String wikidata = X_PATH.evaluateString("./@id", node);
     
    237236            // parse XML document
    238237            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    239                 final Document doc = DOCUMENT_BUILDER.parse(in);
     238                final Document doc = newDocumentBuilder().parse(in);
    240239                return X_PATH.evaluateNodes("//ps/@title", doc).stream()
    241240                        .map(Node::getNodeValue)
     
    281280            final List<WikidataEntry> r = new ArrayList<>(entries.size());
    282281            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    283                 final Document xml = DOCUMENT_BUILDER.parse(in);
     282                final Document xml = newDocumentBuilder().parse(in);
    284283                for (final WikipediaEntry entry : entries) {
    285284                    final Node entity = X_PATH.evaluateNode("//entity[@id='" + entry.wikipediaArticle + "']", xml);
     285                    if (entity == null) {
     286                        continue;
     287                    }
    286288                    r.add(new WikidataEntry(
    287289                            entry.wikipediaArticle,
     
    317319                    "&format=xml";
    318320            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    319                 final Document xml = DOCUMENT_BUILDER.parse(in);
     321                final Document xml = newDocumentBuilder().parse(in);
    320322                return X_PATH.evaluateNodes("//ll", xml).stream()
    321323                        .map(node -> {
     
    338340                    "&format=xml";
    339341            try (final InputStream in = HttpClient.create(new URL(url)).setReasonForRequest("Wikipedia").connect().getContent()) {
    340                 final Document xml = DOCUMENT_BUILDER.parse(in);
     342                final Document xml = newDocumentBuilder().parse(in);
    341343                final Node node = X_PATH.evaluateNode("//coordinates/co", xml);
    342344                if (node == null) {
  • applications/editors/josm/plugins/wikipedia/test/unit/org/wikipedia/WikidataTagCellRendererTest.java

    r32744 r32829  
    2727        final WikidataTagCellRenderer renderer = new WikidataTagCellRenderer();
    2828        renderer.renderValues(ids, new JTable(), new JLabel());
    29         Main.worker.submit(new Runnable() {
    30             @Override
    31             public void run() {
    32             }
    33         }).get(); // wait for labels to be fetched
     29        for (String id : ids) {
     30            // wait for labels to be fetched
     31            renderer.labelCache.get(id).get();
     32        }
    3433        final JLabel label = renderer.renderValues(ids, new JTable(), new JLabel());
    3534        assertNotNull(label);
Note: See TracChangeset for help on using the changeset viewer.