core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Activator.java
changeset 1377 40401ea8b1fd
parent 1363 dfbd4576cd61
child 1378 9a387b0094c7
--- a/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Activator.java	Thu May 20 10:32:00 2010 -0500
+++ b/core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/discovery/ui/Activator.java	Thu May 20 11:40:37 2010 -0500
@@ -1,10 +1,32 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
 package com.nokia.carbide.discovery.ui;
 
+import java.util.Collections;
+import java.util.Hashtable;
+import java.util.Map;
+
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.equinox.p2.ui.Policy;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
 
 /**
  * The activator class controls the plug-in life cycle
@@ -16,6 +38,8 @@
 	// The shared instance
 	private static Activator plugin;
 
+	private ServiceRegistration policyRegistration;
+
 	/**
 	 * The constructor
 	 */
@@ -28,7 +52,11 @@
 	 */
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
-		plugin = this;
+		Policy policy = new Policy();
+		policy.setRestartPolicy(Policy.RESTART_POLICY_PROMPT);
+		Map<String, Integer> map = Collections.singletonMap("service.ranking", 100);
+		policyRegistration = context.registerService(Policy.class.getName(), policy, new Hashtable<Object, Object>(map));
+		System.setProperty("eclipse.p2.unsignedPolicy", "allow");
 	}
 
 	/*
@@ -36,8 +64,9 @@
 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
 	 */
 	public void stop(BundleContext context) throws Exception {
+		policyRegistration.unregister();
+		super.stop(context);
 		plugin = null;
-		super.stop(context);
 	}
 
 	/**