Как прочитать установленную функцию (eclipse PDE)?

Можно ли прочитать такую ​​функцию, как возможность чтения плагина, используя eclipse PDE API? В настоящее время я читаю плагины, используя:

        Bundle[] bundles = Platform.getBundles(name, version);
        if (bundles == null) {
          throw new NullPointerException("No bundle found with ID: " + name
              + " and version: " + version);

        } else {
          for (Bundle bundle : bundles) {
            System.out.println(bundle.getSymbolicName());

          }

        }

Но если я укажу имя установленной функции, я просто получу null. Есть ли другой способ чтения функций?

И когда я прочитал эту функцию, я хотел бы повторить все плагины, на которые она ссылается.


person u123    schedule 09.11.2010    source источник
comment
Пакеты относятся к плагинам, а не к функциям. Компоненты - это логические единицы, используемые для установки.   -  person zvikico    schedule 09.11.2010


Ответы (1)


Вы можете попробовать использовать p2 API для запроса установленной функции. P2 - менеджер установки eclipse.

// IProvisioningAgent is a OSGi service
IProvisioningAgent agent = ...;
IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
IProfile profile = profileRegistry.getProfile(IProfileRegistry.SELF);
IQueryResult rt = profile.query(QueryUtil.createIUPropertyQuery("org.eclipse.equinox.p2.eclipse.type", "feature"), null);
person Kane    schedule 09.11.2010