2011-08-18 97 views
2

我完成了我的Eclipse RCP應用程序並希望配置更新管理器。我的產品是基於功能的,更新是按照他們應該的方式工作的,但我想限制用戶。即強制執行特殊更新站點或只顯示分組等配置Eclipse RCP更新管理器

我嘗試使用政策,但它不工作:

public class EPolicy extends Policy { 
    public EPolicy() { 
     setRepositoriesVisible(false); 
     setGroupByCategory(false); 
     setShowLatestVersionsOnly(false); 
     setRestartPolicy(RESTART_POLICY_FORCE); 
    } 
} 

登記在激活:

public void start(BundleContext context) throws Exception { 
    super.start(context); 
    Policy policy = new EPolicy(); 
    context.registerService(Policy.class.getName(), policy, null); 
} 

我這麼想嗎?

回答

1

嘗試使用更高的排名設定政策,

public void start(BundleContext context) throws Exception { 
    super.start(context); 
    Policy policy = new EPolicy(); 
    Dictionary props = new Hashtable(); 
    props.put(org.osgi.framework.Constants.SERVICE_RANKING, new Integer(99)); 
    context.registerService(Policy.class.getName(), policy, props); 
} 
+0

奏效!謝謝。 2件小事:它是Dictionary,而不是Directory,Constants的包名是org.osgi.framework.Constants –