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;
public class GitRepoPreferences {
public static final String INITIAL_GITHUB_REPOS = "osgi/enroute.workspace;branch=origin/bnd-3.4, bndtools/workspace;branch=origin/3.4";
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("~+$", "");
}
}