org.bndtools.templating.jgit.GitRepoPreferences Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.bndtools.templating.gitrepo Show documentation
Show all versions of org.bndtools.templating.gitrepo Show documentation
org.bndtools.templating.gitrepo
package org.bndtools.templating.jgit;
import java.io.IOException;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
import aQute.bnd.header.Parameters;
import aQute.lib.io.IO;
public class GitRepoPreferences {
public static final String INITIAL_GITHUB_REPOS;
static {
try {
INITIAL_GITHUB_REPOS = IO.collect(GitRepoPreferences.class.getResourceAsStream("initialrepos.txt"));
} catch (IOException e) {
throw new ExceptionInInitializerError(e);
}
}
private static final String PREF_GITHUB_REPOS = "githubRepos";
private static final String PREF_GIT_REPOS = "gitRepos";
private final Bundle bundle = FrameworkUtil.getBundle(GitRepoPreferences.class);
private final ScopedPreferenceStore store;
public GitRepoPreferences() {
store = new ScopedPreferenceStore(InstanceScope.INSTANCE, bundle.getSymbolicName());
store.setDefault(PREF_GITHUB_REPOS, INITIAL_GITHUB_REPOS);
}
public Parameters getGithubRepos() {
return new Parameters(store.getString(PREF_GITHUB_REPOS));
}
public void setGithubRepos(Parameters params) {
store.setValue(PREF_GITHUB_REPOS, params.toString());
}
public Parameters getGitRepos() {
return new Parameters(store.getString(PREF_GIT_REPOS));
}
public void setGitRepos(Parameters params) {
store.setValue(PREF_GIT_REPOS, params.toString());
}
public boolean save() {
if (store.needsSaving()) {
try {
store.save();
} catch (IOException e) {
// ignore
return false;
}
}
return true;
}
public static String removeDuplicateMarker(String s) {
return s.replaceAll("~+$", "");
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy