Search in sources :

Example 36 with FileBasedConfig

use of org.eclipse.jgit.storage.file.FileBasedConfig in project gitblit by gitblit.

the class GitblitAuthority method setMetadataDefaults.

private void setMetadataDefaults(X509Metadata metadata) {
    metadata.serverHostname = gitblitSettings.getString(Keys.web.siteName, Constants.NAME);
    if (StringUtils.isEmpty(metadata.serverHostname)) {
        metadata.serverHostname = Constants.NAME;
    }
    // set default values from config file
    File certificatesConfigFile = new File(folder, X509Utils.CA_CONFIG);
    FileBasedConfig config = new FileBasedConfig(certificatesConfigFile, FS.detect());
    if (certificatesConfigFile.exists()) {
        try {
            config.load();
        } catch (Exception e) {
            Utils.showException(GitblitAuthority.this, e);
        }
        NewCertificateConfig certificateConfig = NewCertificateConfig.KEY.parse(config);
        certificateConfig.update(metadata);
    }
}
Also used : FileBasedConfig(org.eclipse.jgit.storage.file.FileBasedConfig) File(java.io.File) ConfigInvalidException(org.eclipse.jgit.errors.ConfigInvalidException) IOException(java.io.IOException)

Example 37 with FileBasedConfig

use of org.eclipse.jgit.storage.file.FileBasedConfig in project gitblit by gitblit.

the class GitblitManager method getConfig.

private StoredConfig getConfig() throws IOException, ConfigInvalidException {
    FileBasedConfig config = new FileBasedConfig(configFile, FS.detect());
    config.load();
    return config;
}
Also used : FileBasedConfig(org.eclipse.jgit.storage.file.FileBasedConfig)

Example 38 with FileBasedConfig

use of org.eclipse.jgit.storage.file.FileBasedConfig in project gitblit by gitblit.

the class GitblitAuthority method getConfig.

private StoredConfig getConfig() throws IOException, ConfigInvalidException {
    File configFile = new File(folder, X509Utils.CA_CONFIG);
    FileBasedConfig config = new FileBasedConfig(configFile, FS.detect());
    config.load();
    return config;
}
Also used : FileBasedConfig(org.eclipse.jgit.storage.file.FileBasedConfig) File(java.io.File)

Example 39 with FileBasedConfig

use of org.eclipse.jgit.storage.file.FileBasedConfig in project gitblit by gitblit.

the class GitblitAuthority method load.

private void load(File folder) {
    this.folder = folder;
    this.userService = loadUsers(folder);
    System.out.println(Constants.baseFolder$ + " set to " + folder);
    if (userService == null) {
        JOptionPane.showMessageDialog(this, MessageFormat.format("Sorry, {0} doesn't look like a Gitblit GO installation.", folder));
    } else {
        // build empty certificate model for all users
        Map<String, UserCertificateModel> map = new HashMap<String, UserCertificateModel>();
        for (String user : userService.getAllUsernames()) {
            UserModel model = userService.getUserModel(user);
            UserCertificateModel ucm = new UserCertificateModel(model);
            map.put(user, ucm);
        }
        File certificatesConfigFile = new File(folder, X509Utils.CA_CONFIG);
        FileBasedConfig config = new FileBasedConfig(certificatesConfigFile, FS.detect());
        if (certificatesConfigFile.exists()) {
            try {
                config.load();
                // replace user certificate model with actual data
                List<UserCertificateModel> list = UserCertificateConfig.KEY.parse(config).list;
                for (UserCertificateModel ucm : list) {
                    ucm.user = userService.getUserModel(ucm.user.username);
                    map.put(ucm.user.username, ucm);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } catch (ConfigInvalidException e) {
                e.printStackTrace();
            }
        }
        tableModel.list = new ArrayList<UserCertificateModel>(map.values());
        Collections.sort(tableModel.list);
        tableModel.fireTableDataChanged();
        Utils.packColumns(table, Utils.MARGIN);
        File caKeystore = new File(folder, X509Utils.CA_KEY_STORE);
        if (!caKeystore.exists()) {
            if (!X509Utils.unlimitedStrength) {
                // prompt to confirm user understands JCE Standard Strength encryption
                int res = JOptionPane.showConfirmDialog(GitblitAuthority.this, Translation.get("gb.jceWarning"), Translation.get("gb.warning"), JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
                if (res != JOptionPane.YES_OPTION) {
                    if (Desktop.isDesktopSupported()) {
                        if (Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
                            try {
                                Desktop.getDesktop().browse(URI.create("http://www.oracle.com/technetwork/java/javase/downloads/index.html"));
                            } catch (IOException e) {
                            }
                        }
                    }
                    System.exit(1);
                }
            }
            // show certificate defaults dialog
            certificateDefaultsButton.doClick();
            // create "localhost" ssl certificate
            prepareX509Infrastructure();
        }
    }
}
Also used : UserModel(com.gitblit.models.UserModel) ConfigInvalidException(org.eclipse.jgit.errors.ConfigInvalidException) HashMap(java.util.HashMap) IOException(java.io.IOException) FileBasedConfig(org.eclipse.jgit.storage.file.FileBasedConfig) File(java.io.File) Point(java.awt.Point)

Example 40 with FileBasedConfig

use of org.eclipse.jgit.storage.file.FileBasedConfig in project gitblit by gitblit.

the class GitblitAuthority method updateAuthorityConfig.

private void updateAuthorityConfig(UserCertificateModel ucm) {
    File certificatesConfigFile = new File(folder, X509Utils.CA_CONFIG);
    FileBasedConfig config = new FileBasedConfig(certificatesConfigFile, FS.detect());
    if (certificatesConfigFile.exists()) {
        try {
            config.load();
        } catch (Exception e) {
            Utils.showException(GitblitAuthority.this, e);
        }
    }
    ucm.update(config);
    try {
        config.save();
    } catch (Exception e) {
        Utils.showException(GitblitAuthority.this, e);
    }
}
Also used : FileBasedConfig(org.eclipse.jgit.storage.file.FileBasedConfig) File(java.io.File) ConfigInvalidException(org.eclipse.jgit.errors.ConfigInvalidException) IOException(java.io.IOException)

Aggregations

FileBasedConfig (org.eclipse.jgit.storage.file.FileBasedConfig)47 File (java.io.File)19 IOException (java.io.IOException)15 ConfigInvalidException (org.eclipse.jgit.errors.ConfigInvalidException)12 Config (org.eclipse.jgit.lib.Config)10 FS (org.eclipse.jgit.util.FS)7 Test (org.junit.Test)7 StoredConfig (org.eclipse.jgit.lib.StoredConfig)6 Path (java.nio.file.Path)5 Repository (org.eclipse.jgit.lib.Repository)5 SitePaths (com.google.gerrit.server.config.SitePaths)4 HashMap (java.util.HashMap)4 UserModel (com.gitblit.models.UserModel)3 FileBasedAllProjectsConfigProvider (com.google.gerrit.server.config.FileBasedAllProjectsConfigProvider)3 InputStream (java.io.InputStream)3 ArrayList (java.util.ArrayList)3 ObjectId (org.eclipse.jgit.lib.ObjectId)3 RevCommit (org.eclipse.jgit.revwalk.RevCommit)3 SystemReader (org.eclipse.jgit.util.SystemReader)3 Before (org.junit.Before)3