package net.sf.fast.ibatis.model;
import net.sf.fast.ibatis.util.Base64;
import net.sf.fast.ibatis.util.Constants;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.preferences.ConfigurationScope;
import org.osgi.service.prefs.Preferences;
public class DataStorage {
// We access the Configuration Scope
static Preferences preferences = ConfigurationScope.INSTANCE.getNode(Constants.PROJECT_NAME);
static Preferences defaultSub = preferences.node(Constants.PROJECT_NAME + ".data");
//we should add the workspace name
static String workspacePath = ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
public static String getEncodeSignature(String workspacePath, String projectName) {
return Base64.encodeString(workspacePath) + projectName;
}
public static void put(String projectName, String key, String value) {
try {
String path = getEncodeSignature(workspacePath, projectName);
//System.out.println("put path = " + path);
Preferences sub1 = projectName == null ? defaultSub : preferences.node(path);
sub1.put(key, value);
sub1.flush();
}catch(Exception e) {
e.printStackTrace();
}
}
public static String get(String projectName, String key) {
String path = getEncodeSignature(workspacePath, projectName);
//System.out.println("get path = " + path);
Preferences sub1 = projectName == null ? defaultSub : preferences.node(path);
return sub1 == null ? null : sub1.get(key,"");
}
}