开发者

How to delete Eclipse Secure Storage settings programmatically

How can I delete the saved content in eclipse secure storage programmatically? I need to reset all setting before I run some SWTBot tests.

I know, that I can delete the folder, but isn't there another way?

../.eclipse/org.eclipse.equinox.security

EDIT:

Thanks to Kris I solved the problem.

    //part 1
    try {
        AuthPlugin.getDefault().stop(null);
    } catch (final Exception e) {
        e.printStackTrac开发者_开发问答e();
    }
    //part 2
    final ISecurePreferences rootNode = SecurePreferencesFactory.getDefault()
            .node(ROOT_NODE_NAME);
    final String[] names = rootNode.childrenNames().clone();
    for (int i = 0; i < names.length; i++) {
        rootNode.node(names[i]).removeNode();
    }

The problem is solved in part 2. I want to also show a way how to stop the authentication for the secure storage, because it is very annoying, by testing with SWTBot.


You can remove stored values in secure store by using ISecurePreferences. Have a look here

ISecurePreferences root = org.eclipse.equinox.security.storage.SecurePreferencesFactory.getDefault();
if (root == null)
return null;
ISecurePreferences node = root.node("/your.class.path.or.something.else"); // get the node for your application e.g. this.getClass().getCanonicalName()
node = node.node( "some name"); // get custom node from the tree
node.get( "key" );   // load
node.put("key","value", true / false (encrypt) ); // store (no save operation)
node.remove("key");  // remove
node.flush();        // save
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜