private ContentMimePair getContent(URL url) { if (url == null) { return new ContentMimePair("No info provided", "text/plain"); } else { try { String mimeType = url.openConnection().getContentType(); BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(url.openStream()))); String line; StringBuilder readmeBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { readmeBuilder.append(line); readmeBuilder.append("\n"); } if (readmeBuilder.toString().contains("<html")){ mimeType = "text/html"; // some servers give the incorrect type } reader.close(); return new ContentMimePair(readmeBuilder.toString(), mimeType); } catch (IOException e) { return new ContentMimePair("Problem obtaining details: " + e.getMessage(), "text/plain"); } } }
private ContentMimePair getContent(URL url) { if (url == null) { return new ContentMimePair("No info provided", "text/plain"); } else { try { String mimeType = url.openConnection().getContentType(); BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(url.openStream()))); String line; StringBuilder readmeBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { readmeBuilder.append(line); readmeBuilder.append("\n"); } if (readmeBuilder.toString().contains("<html")){ mimeType = "text/html"; // some servers give the incorrect type } reader.close(); return new ContentMimePair(readmeBuilder.toString(), mimeType); } catch (IOException e) { return new ContentMimePair("Problem obtaining details: " + e.getMessage(), "text/plain"); } } }
private ContentMimePair getContent(URL url) { if (url == null) { return new ContentMimePair("No info provided", "text/plain"); } else { try { String mimeType = url.openConnection().getContentType(); BufferedReader reader = new BufferedReader(new InputStreamReader(new BufferedInputStream(url.openStream()))); String line; StringBuilder readmeBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { readmeBuilder.append(line); readmeBuilder.append("\n"); } if (readmeBuilder.toString().contains("<html")){ mimeType = "text/html"; // some servers give the incorrect type } reader.close(); return new ContentMimePair(readmeBuilder.toString(), mimeType); } catch (IOException e) { return new ContentMimePair("Problem obtaining details: " + e.getMessage(), "text/plain"); } } }
private void updateInfoPanel(final PluginInfo info) { updateDocPanel(new ContentMimePair("", ""), readmePane, readmeScroller); if (info != null){ authorLabel.setText(info.getAuthor());
private void updateInfoPanel(final PluginInfo info) { updateDocPanel(new ContentMimePair("", ""), readmePane, readmeScroller); if (info != null){ authorLabel.setText(info.getAuthor());
private void updateInfoPanel(final PluginInfo info) { updateDocPanel(new ContentMimePair("", ""), readmePane, readmeScroller); if (info != null){ authorLabel.setText(info.getAuthor().orElse("")); licenseLabel.setText(info.getLicense().orElse("")); ContentMimePair readme = updateInfoReadmeMap.get(info); if (readme != null){ updateDocPanel(readme, readmePane, readmeScroller); } else{ if (info.getReadmeURI().isPresent()) { Runnable loadContent = () -> { final ContentMimePair readme1 = getContent(info.getReadmeURI().get()); updateInfoReadmeMap.put(info, readme1); SwingUtilities.invokeLater(() -> { updateDocPanel(readme1, readmePane, readmeScroller); }); }; Thread t = new Thread(loadContent, "Load plugin info"); t.setPriority(Thread.MIN_PRIORITY); t.start(); } } } else{ authorLabel.setText(""); licenseLabel.setText(""); } }