Как программно удалить настройки Eclipse Secure Storage - PullRequest
0 голосов
/ 13 сентября 2011

Как программно удалить сохраненный контент в защищенном хранилище eclipse? Мне нужно сбросить все настройки, прежде чем я выполню некоторые тесты SWTBot.

Я знаю, что я могу удалить папку, но нет другого пути?

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

EDIT:

Благодаря Крису я решил проблему.

    //part 1
    try {
        AuthPlugin.getDefault().stop(null);
    } catch (final Exception e) {
        e.printStackTrace();
    }
    //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();
    }

Проблема решена в части 2. Я также хочу показать способ, как остановить аутентификацию для безопасного хранилища, потому что это очень раздражает, тестируя с SWTBot.

1 Ответ

1 голос
/ 13 сентября 2011

Вы можете удалить сохраненные значения в безопасном хранилище, используя ISecurePreferences. Взгляните здесь

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...