private URL verifyUrl(String url) { if (!url.toLowerCase().startsWith("http://")) return null; URL verifiedUrl = null; try { verifiedUrl = new URL(url); } catch (Exception e) { return null; } if (verifiedUrl.getFile().length() < 2) return null; return verifiedUrl; }
/** Remove data component data JAR from cache */ public static void removeInstallerComponent() { DownloadService downloadService = Config.getDownloadService(); if (downloadService != null) { String component = Config.getInstallerLocation(); String version = Config.getInstallerVersion(); try { URL codebase = Config.getBasicService().getCodeBase(); URL url = new URL(codebase, component); component = url.toString(); Config.trace("Removing: " + component + "/" + version); downloadService.removeResource(url, version); } catch (IOException ioe) { Config.trace("Unable to remove " + component + "/" + version); } } else { Config.trace("No download service found"); } }
public HtmlRendererContext open( URL url, String windowName, String windowFeatures, boolean replace) { TestFrame frame = new TestFrame("Cobra Test Tool"); frame.setSize(600, 400); frame.setExtendedState(TestFrame.NORMAL); frame.setVisible(true); HtmlRendererContext ctx = frame.getHtmlRendererContext(); ctx.setOpener(this); frame.navigate(url.toExternalForm()); return ctx; }
/** Download data component JAR */ public static boolean downloadInstallerComponent() { DownloadService downloadService = Config.getDownloadService(); DownloadServiceListener listener = downloadService.getDefaultProgressWindow(); String compName = Config.getInstallerLocation(); String compVer = Config.getInstallerVersion(); try { URL codebase = Config.getBasicService().getCodeBase(); URL url = new URL(codebase, compName); String urlstr = url.toString(); if (!downloadService.isResourceCached(url, compVer)) { // The installFailed string is only for debugging. No localization needed Config.trace("Downloading: " + urlstr); // Do download downloadService.loadResource(url, compVer, listener); } } catch (IOException ioe) { Config.trace("Unable to download: " + compName + "/" + compVer); return false; } return true; }
// implemented for HyperlinkListener public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { JEditorPane ep = (JEditorPane) (e.getSource()); // handle frame events properly if (e instanceof HTMLFrameHyperlinkEvent) { HTMLFrameHyperlinkEvent evt = (HTMLFrameHyperlinkEvent) e; HTMLDocument doc = (HTMLDocument) (ep.getDocument()); doc.processHTMLFrameHyperlinkEvent(evt); } else // handle normal links { try { URL currentLoc = new URL(location); URL newLoc = new URL(currentLoc, e.getDescription()); setBrowserLocation(newLoc.toString()); } catch (MalformedURLException malUrl) { JOptionPane.showMessageDialog( this, "Malformed URL", "Browser Error", JOptionPane.ERROR_MESSAGE); return; } } } }
public static boolean showLicensing() { if (Config.getLicenseResource() == null) return true; ClassLoader cl = Main.class.getClassLoader(); URL url = cl.getResource(Config.getLicenseResource()); if (url == null) return true; String license = null; try { URLConnection con = url.openConnection(); int size = con.getContentLength(); byte[] content = new byte[size]; InputStream in = new BufferedInputStream(con.getInputStream()); in.read(content); license = new String(content); } catch (IOException ioe) { Config.trace("Got exception when reading " + Config.getLicenseResource() + ": " + ioe); return false; } // Build dialog JTextArea ta = new JTextArea(license); ta.setEditable(false); final JDialog jd = new JDialog(_installerFrame, true); Container comp = jd.getContentPane(); jd.setTitle(Config.getLicenseDialogTitle()); comp.setLayout(new BorderLayout(10, 10)); comp.add(new JScrollPane(ta), "Center"); Box box = new Box(BoxLayout.X_AXIS); box.add(box.createHorizontalStrut(10)); box.add(new JLabel(Config.getLicenseDialogQuestionString())); box.add(box.createHorizontalGlue()); JButton acceptButton = new JButton(Config.getLicenseDialogAcceptString()); JButton exitButton = new JButton(Config.getLicenseDialogExitString()); box.add(acceptButton); box.add(box.createHorizontalStrut(10)); box.add(exitButton); box.add(box.createHorizontalStrut(10)); jd.getRootPane().setDefaultButton(acceptButton); Box box2 = new Box(BoxLayout.Y_AXIS); box2.add(box); box2.add(box2.createVerticalStrut(5)); comp.add(box2, "South"); jd.pack(); final boolean accept[] = new boolean[1]; acceptButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { accept[0] = true; jd.hide(); jd.dispose(); } }); exitButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { accept[0] = false; jd.hide(); jd.dispose(); } }); // Apply any defaults the user may have, constraining to the size // of the screen, and default (packed) size. Rectangle size = new Rectangle(0, 0, 500, 300); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); size.width = Math.min(screenSize.width, size.width); size.height = Math.min(screenSize.height, size.height); // Center the window jd.setBounds( (screenSize.width - size.width) / 2, (screenSize.height - size.height) / 2, size.width, size.height); // Show dialog jd.show(); return accept[0]; }