Java 类org.apache.commons.lang3.ArchUtils 实例源码

项目:vertx-config    文件:VaultDownloader.java   
private static URL getURL(String version) {
  StringBuilder url = new StringBuilder();
  url.append("https://releases.hashicorp.com/vault/").append(version).append("/vault_").append(version).append("_");

  if (SystemUtils.IS_OS_MAC) {
    url.append("darwin_");
  } else if (SystemUtils.IS_OS_LINUX) {
    url.append("linux_");
  }  else if (SystemUtils.IS_OS_WINDOWS) {
    url.append("windows_");
  } else {
    throw new IllegalStateException("Unsupported operating system");
  }

  if (ArchUtils.getProcessor().is64Bit()) {
    url.append("amd64.zip");
  } else {
    url.append("386.zip");
  }

  System.out.println("Downloading " + url.toString());
  try {
    return new URL(url.toString());
  } catch (Exception e) {
    throw new RuntimeException(e);
  }

}
项目:NekoooGuilds    文件:NekoooGuilds.java   
public void reportError(Exception e) {
    Validate.notNull(e, "Called NekoooGuilds.reportError() with null argument.");
    // TODO: Log4j?
    StringBuilder s = new StringBuilder("\n!!! ERROR REPORT !!! -- REPORT START -- Copy from here ---\n");
    s.append("\nAn error occured while ").append(state.name().toLowerCase()).append(" NekoooGuilds.\n\n");
    StringWriter sw = new StringWriter();
    e.printStackTrace(new PrintWriter(sw));
    s.append("Server implementation: ").append(serverType.name()).append(" (version ").append(bridge.getApiVersion()).append(")\n");
    s.append("Plugin version: ").append(bridge.getPluginVersion()).append("\n");
    File propsfile = new File("addon.prop");
    s.append("JVM: ").append(System.getProperty("java.vendor")).append(" ").append(System.getProperty("java.version")).append("\n");
    s.append("Operating System: ").append(System.getProperty("os.name")).append(" ").append(System.getProperty("os.version")).append("\n");
    s.append("Architecture: ").append(ArchUtils.getProcessor()).append("\n");
    s.append("PropertyLoader: ").append(Boolean.toString(propsfile.exists() && propsfile.isFile())).append("\n");
    s.append("\nStacktrace:\n").append(sw.toString()).append("\n");
    s.append("!!! ERROR REPORT !!! -- REPORT END -- Copy to there ---");

    System.out.println(s);

    try {
        File nr = new File("ng-reports");
        if (!nr.exists()) {
            nr.mkdir();
        } else {
            if (!nr.isDirectory()) {
                nr.delete();
                nr.mkdir();
            }
        }

        Date now = new Date();
        SimpleDateFormat ft =
                new SimpleDateFormat("ddMMyyyy-hhmmssSS");

        File report = new File(nr, "report-" + ft.format(now) + ".log.gz");
        FileOutputStream o = new FileOutputStream(report);
        try {
            Writer writer = new OutputStreamWriter(new GZIPOutputStream(o), "UTF-8");
            try {
                writer.write(s.toString());
            } finally {
                writer.close();
            }
        } finally {
            o.close();
            log.info("Report saved to: " + report.getPath());
        }
    } catch (Exception eee) {
        log.severe("Error saving error report!");
    }
}
项目:me3modmanager    文件:UpdateJREAvailableWindow.java   
private void setupWindow() {
    setTitle("JRE Update Available");
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    setResizable(false);
    setIconImages(ModManager.ICONS);

    JPanel updatePanel = new JPanel();
    updatePanel.setLayout(new BoxLayout(updatePanel, BoxLayout.Y_AXIS));
    introLabel = new JLabel();
    introLabel.setText("<html>An update for Mod Manager's Java Runtime is available.</html>");

    String bitnessUpgrade = "";
    boolean x86 = ArchUtils.getProcessor().is32Bit();
    if (x86 && ResourceUtils.is64BitWindows()) {
        bitnessUpgrade = "<br>This will upgrade Mod Manager from 32-bit java to 64-bit java.";
    }
    if (!x86 && !ModManager.isUsingBundledJRE()) {
        bitnessUpgrade = "<br>This will switch Mod Manager from using your system JRE to a bundled version.";
    }

    versionsLabel = new JLabel("<html>Local Version: " + System.getProperty("java.version") + "<br>" + "Latest Version: " + version + bitnessUpgrade + "</html>");

    String release_notes = (String) updateInfo.get("jre_latest_release_notes");
    changelogLabel = new JLabel("<html><div style=\"width:270px;\">" + release_notes + "</div></html>");
    updateButton = new JButton("Install Update");
    updateButton.addActionListener(this);
    notNowButton = new JButton("Not now");
    notNowButton.addActionListener(this);
    downloadProgress = new JProgressBar();
    downloadProgress.setStringPainted(true);
    downloadProgress.setIndeterminate(true);
    downloadProgress.setEnabled(false);

    sizeLabel = new JLabel(" "); //space or it won't pack properly
    sizeLabel.setAlignmentX(Component.LEFT_ALIGNMENT);

    //Panel setup
    JPanel versionPanel = new JPanel();
    versionPanel.setLayout(new BoxLayout(versionPanel, BoxLayout.Y_AXIS));
    versionPanel.add(versionsLabel);
    versionPanel.setBorder(new TitledBorder(new EtchedBorder(), "Update Information"));

    JPanel changeLogPanel = new JPanel();
    changeLogPanel.setLayout(new BoxLayout(changeLogPanel, BoxLayout.Y_AXIS));
    changeLogPanel.setBorder(new TitledBorder(new EtchedBorder(), "Changelog"));

    updatePanel.add(introLabel);
    updatePanel.add(versionPanel);

    changeLogPanel.add(changelogLabel);

    updatePanel.add(changeLogPanel);
    updatePanel.setBorder(new EmptyBorder(5, 5, 5, 5));

    JPanel actionPanel = new JPanel();
    actionPanel.setLayout(new BoxLayout(actionPanel, BoxLayout.X_AXIS));
    actionPanel.add(updateButton);
    actionPanel.add(Box.createHorizontalGlue());
    actionPanel.setBorder(new TitledBorder(new EtchedBorder(), "Actions"));
    actionPanel.setAlignmentX(Component.LEFT_ALIGNMENT);

    updatePanel.add(actionPanel);

    downloadPanel = new JPanel();
    downloadPanel.setLayout(new BoxLayout(downloadPanel, BoxLayout.Y_AXIS));
    downloadPanel.add(downloadProgress);
    downloadPanel.add(sizeLabel);
    downloadPanel.setBorder(new TitledBorder(new EtchedBorder(), "Download Progress"));
    downloadPanel.setVisible(false);
    updatePanel.add(downloadPanel);

    actionPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
    downloadPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
    versionPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
    changeLogPanel.setAlignmentX(Component.LEFT_ALIGNMENT);
    updatePanel.setAlignmentX(Component.LEFT_ALIGNMENT);
    getContentPane().add(updatePanel);
    pack();
    setLocationRelativeTo(ModManagerWindow.ACTIVE_WINDOW);
}
项目:me3modmanager    文件:ModManagerWindow.java   
private void checkForJREUpdates(JSONObject latest_object) {
    if (!ResourceUtils.is64BitWindows()) {
        return;
    }

    if (latest_object == null) {
        return;
    }

    String latestjavaexehash = (String) latest_object.get("jre_latest_version");

    if (ModManager.isUsingBundledJRE() || ResourceUtils.is64BitWindows() && ArchUtils.getProcessor().is32Bit()) {
        //32-bit JVM on 64-bit windows - should check
        //Is using the bundled x64 JRE - should check
        boolean hashMismatch = false;
        File f = new File(ModManager.getBundledJREPath() + "bin\\java.exe");
        if (f.exists()) {
            //get hash
            String bundledHash = "";
            try {
                bundledHash = MD5Checksum.getMD5Checksum(f.getAbsolutePath());
            } catch (Exception e) {
                ModManager.debugLogger.writeErrorWithException("Unable to hash java.exe. Due to the significance of this issue, we are not going to attempt a JRE update.",
                        e);
                return;
            }
            if (!bundledHash.equals(latestjavaexehash)) {
                hashMismatch = true;
                ModManager.debugLogger.writeMessage("Bundled JRE hash does not match server - likely out of date.");
            }
        } else {
            //doesn't exist - failed hash check
            hashMismatch = true;
            ModManager.debugLogger.writeMessage("Bundled JRE does not exist, but we should be using one.");
        }

        if (hashMismatch) {
            new UpdateJREAvailableWindow(latest_object);
        } else {
            ModManager.debugLogger.writeMessage("No JRE upgrade recommended");
        }
    }
}