私はEclipse RCPアプリケーションを操作していて、そのためにp2更新を構成していました。
この例に出くわしました。
パッケージ org.eclipse.equinox.p2.examples.rcp.cloud.p2;
org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery をインポートします。org.eclipse.equinox.p2.examples.rcp.cloud.Activator をインポートします。import org.eclipse.equinox.p2.query.QueryUtil; org.eclipse.equinox.p2.ui.Policy をインポートします。org.eclipse.jface.preference.IPreferenceStore をインポートします。import org.eclipse.swt.graphics.Point;
/** * CloudPolicy は、p2 UI の RCP Cloud Example ポリシーを定義します。ポリシー * は、サンプル バンドルの開始時に OSGi サービスとして登録されます。* * @since 3.5 */ public class CloudPolicy extends Policy {
public void updateForPreferences() {
IPreferenceStore prefs = Activator.getDefault().getPreferenceStore();
setRepositoriesVisible(prefs
.getBoolean(PreferenceConstants.REPOSITORIES_VISIBLE));
setRestartPolicy(prefs.getInt(PreferenceConstants.RESTART_POLICY));
setShowLatestVersionsOnly(prefs
.getBoolean(PreferenceConstants.SHOW_LATEST_VERSION_ONLY));
setGroupByCategory(prefs
.getBoolean(PreferenceConstants.AVAILABLE_GROUP_BY_CATEGORY));
setShowDrilldownRequirements(prefs
.getBoolean(PreferenceConstants.SHOW_DRILLDOWN_REQUIREMENTS));
setFilterOnEnv(prefs.getBoolean(PreferenceConstants.FILTER_ON_ENV));
setUpdateWizardStyle(prefs.getInt(PreferenceConstants.UPDATE_WIZARD_STYLE));
int preferredWidth = prefs.getInt(PreferenceConstants.UPDATE_DETAILS_WIDTH);
int preferredHeight = prefs.getInt(PreferenceConstants.UPDATE_DETAILS_HEIGHT);
setUpdateDetailsPreferredSize(new Point(preferredWidth, preferredHeight));
if (prefs.getBoolean(PreferenceConstants.AVAILABLE_SHOW_ALL_BUNDLES))
setVisibleAvailableIUQuery(QueryUtil.ALL_UNITS);
else
setVisibleAvailableIUQuery(QueryUtil.createIUGroupQuery());
if (prefs.getBoolean(PreferenceConstants.INSTALLED_SHOW_ALL_BUNDLES))
setVisibleAvailableIUQuery(QueryUtil.ALL_UNITS);
else
setVisibleAvailableIUQuery(new UserVisibleRootQuery());
}
}
ここでは、パッケージ org.eclipse.equinox.p2.query にアクセスできないため、タイプ IQuery および QueryUtil にアクセスできません。
私は Eclipse Indigo (3.7) を使用しており、プラグインに追加した依存関係は次のとおりです。
org.eclipse.equinox.p2.ui.sdk
org.eclipse.equinox.p2.ui
org.eclipse.equinox.p2.engine
よろしくお願いします。