core/com.nokia.carbide.discovery.ui/src/com/nokia/carbide/internal/discovery/ui/p2/DynamicP2Installer.java
author dadubrow
Mon, 13 Sep 2010 15:22:01 -0500
changeset 1994 e9be28ae423a
child 2001 75d787292eea
permissions -rw-r--r--
Bug 10645 - add p2 install operation for docs plugins
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1994
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     1
/*
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     3
* All rights reserved.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     4
* This component and the accompanying materials are made available
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     6
* which accompanies this distribution, and is available
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     8
*
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
     9
* Initial Contributors:
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    11
*
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    12
*/
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    13
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    14
package com.nokia.carbide.internal.discovery.ui.p2;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    15
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    16
import java.io.File;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    17
import java.io.FileNotFoundException;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    18
import java.net.URI;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    19
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    20
import org.eclipse.core.filesystem.URIUtil;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    21
import org.eclipse.core.runtime.CoreException;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    22
import org.eclipse.core.runtime.IPath;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    23
import org.eclipse.core.runtime.IProgressMonitor;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    24
import org.eclipse.core.runtime.IStatus;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    25
import org.eclipse.core.runtime.Path;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    26
import org.eclipse.core.runtime.Status;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    27
import org.eclipse.equinox.internal.provisional.p2.director.IDirector;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    28
import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    29
import org.eclipse.equinox.p2.core.IProvisioningAgent;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    30
import org.eclipse.equinox.p2.engine.IProfile;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    31
import org.eclipse.equinox.p2.engine.IProfileRegistry;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    32
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    33
import org.eclipse.equinox.p2.query.IQueryResult;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    34
import org.eclipse.equinox.p2.query.QueryUtil;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    35
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    36
import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    37
import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    38
import org.eclipse.equinox.p2.ui.ProvisioningUI;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    39
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    40
import com.nokia.carbide.discovery.ui.Activator;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    41
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    42
/**
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    43
 * Installer to install features from a p2 repository at a supplied URL or directory.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    44
 * 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    45
 * The supplied directory should have as sub-directories features and plugins. These 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    46
 * sub-directories in turn can contain any number of features and their corresponding 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    47
 * plug-ins.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    48
 * 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    49
 * <p/>
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    50
 * e.g.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    51
 * <p/>
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    52
 * <pre>
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    53
 * &lt;Feature Directory&gt;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    54
 *               |
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    55
 *               | --- artifacts.jar
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    56
 *               | --- content.jar
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    57
 *               |
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    58
 *               ----&lt;features&gt;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    59
 *                   |
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    60
 *                   |----&lt;feature folder name&gt;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    61
 *                        |
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    62
 *                        |---features.xml file (contains list of feature jars)
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    63
 *               ----&lt;plugins&gt;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    64
 *                        |
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    65
 *                        ---jar files;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    66
 * </pre>
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    67
 */
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    68
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    69
@SuppressWarnings("restriction")
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    70
public class DynamicP2Installer {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    71
	
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    72
	private IPath repositoryLocation;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    73
	private ProvisioningUI provisioningUI;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    74
	private IProvisioningAgent agent;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    75
	private IProfile profile;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    76
	
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    77
	/**
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    78
	 * Performs the install.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    79
	 * @param monitor An implementation of IProgressMonitor, usually showing the 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    80
	 * installation progress as a Progress Bar to the user.
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    81
	 */
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    82
	public static IStatus install(File repositoryDirectory, IProgressMonitor monitor) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    83
		try {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    84
			DynamicP2Installer installer = new DynamicP2Installer(repositoryDirectory);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    85
			installer.doInstall(monitor);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    86
			return Status.OK_STATUS;
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    87
		} catch (CoreException e) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    88
			return e.getStatus();
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    89
		} catch (FileNotFoundException e) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    90
			return Activator.makeErrorStatus(null, e);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    91
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    92
	}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    93
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    94
	private DynamicP2Installer(File repositoryDirectory) throws FileNotFoundException {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    95
		checkRepository(repositoryDirectory);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    96
		repositoryLocation = new Path(repositoryDirectory.getAbsolutePath());
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    97
		provisioningUI = ProvisioningUI.getDefaultUI();
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    98
		agent = provisioningUI.getSession().getProvisioningAgent();
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
    99
		profile = getProfile();
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   100
	}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   101
	
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   102
	private void checkRepository(File repositoryDirectory) throws FileNotFoundException {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   103
		if (!repositoryDirectory.isDirectory()) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   104
			throw new FileNotFoundException(repositoryDirectory + " is not a directory.");
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   105
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   106
		if (!(new File(repositoryDirectory, "features").isDirectory())) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   107
			throw new FileNotFoundException(repositoryDirectory + " missing \"features\" directory.");
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   108
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   109
		if (!(new File(repositoryDirectory, "plugins").isDirectory())) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   110
			throw new FileNotFoundException(repositoryDirectory + " missing \"plugins\" directory.");
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   111
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   112
		if (!(new File(repositoryDirectory, "artifacts.jar").exists()) && !(new File(repositoryDirectory, "artifacts.xml").exists())) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   113
			throw new FileNotFoundException(repositoryDirectory + " missing artifacts.jar.");
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   114
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   115
		if (!(new File(repositoryDirectory, "content.jar").exists()) && !(new File(repositoryDirectory, "content.xml").exists())) {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   116
			throw new FileNotFoundException(repositoryDirectory + " missing content.jar.");
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   117
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   118
	}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   119
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   120
	private void doInstall(IProgressMonitor monitor) throws CoreException {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   121
		URI uri = URIUtil.toURI(repositoryLocation);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   122
		IMetadataRepositoryManager metadataRepoManager = 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   123
			(IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   124
		IArtifactRepositoryManager artifactRepoManager = 
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   125
			(IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   126
		try {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   127
			// add and load repository
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   128
			metadataRepoManager.addRepository(uri);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   129
			IMetadataRepository metadataRepository = metadataRepoManager.loadRepository(uri, null);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   130
			artifactRepoManager.addRepository(uri);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   131
			artifactRepoManager.loadRepository(uri, null);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   132
			
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   133
			// get IU from repository
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   134
			IQueryResult<IInstallableUnit> units = metadataRepository.query(QueryUtil.createIUGroupQuery(), monitor);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   135
			if (units.isEmpty())
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   136
				throw new CoreException(Activator.makeErrorStatus("Could not find installable unit", null));
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   137
			
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   138
			// check if installed
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   139
			IQueryResult<IInstallableUnit> result = profile.query(QueryUtil.createIUQuery(units.iterator().next()), monitor);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   140
			if (!result.isEmpty())
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   141
				throw new CoreException(Activator.makeStatus(IStatus.CANCEL, null, null)); // already installed
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   142
			
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   143
			// do provisioning operation
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   144
			ProfileChangeRequest request = new ProfileChangeRequest(profile);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   145
			request.addAll(units.toUnmodifiableSet());
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   146
			IDirector director = (IDirector) agent.getService(IDirector.SERVICE_NAME);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   147
			IStatus status = director.provision(request, null, monitor);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   148
	
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   149
			if (!status.isOK())
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   150
				throw new CoreException(status);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   151
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   152
		finally {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   153
			metadataRepoManager.removeRepository(uri);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   154
			artifactRepoManager.removeRepository(uri);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   155
		}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   156
	}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   157
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   158
	private IProfile getProfile() {
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   159
		IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME);
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   160
		return profileRegistry.getProfile(provisioningUI.getProfileId());
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   161
	}
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   162
e9be28ae423a Bug 10645 - add p2 install operation for docs plugins
dadubrow
parents:
diff changeset
   163
}