本文整理汇总了Java中org.eclipse.equinox.p2.core.IProvisioningAgentProvider.createAgent方法的典型用法代码示例。如果您正苦于以下问题:Java IProvisioningAgentProvider.createAgent方法的具体用法?Java IProvisioningAgentProvider.createAgent怎么用?Java IProvisioningAgentProvider.createAgent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.equinox.p2.core.IProvisioningAgentProvider
的用法示例。
在下文中一共展示了IProvisioningAgentProvider.createAgent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getAgent
import org.eclipse.equinox.p2.core.IProvisioningAgentProvider; //导入方法依赖的package包/类
public static IProvisioningAgent getAgent ( final URI location ) throws ProvisionException
{
final IProvisioningAgentProvider provider = INSTANCE.tracker.getService ();
if ( provider == null )
{
throw new IllegalStateException ( "Provisioning agent provider not found. Is P2 started?" );
}
return provider.createAgent ( location );
}
示例2: shouldUpdate
import org.eclipse.equinox.p2.core.IProvisioningAgentProvider; //导入方法依赖的package包/类
public boolean shouldUpdate() {
try {
IProvisioningAgentProvider agentProvider= Activator.getDefault().getProvisioningAgentProvider();
if (agentProvider == null) {
Activator.getDefault().logErrorStatus("Could not find a provisioning agent provider.", new RuntimeException());
return false;
}
final IProvisioningAgent agent= agentProvider.createAgent(null);
IMetadataRepositoryManager metadataRepositoryManager= (IMetadataRepositoryManager)agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
if (metadataRepositoryManager == null) {
Activator.getDefault().logErrorStatus("Could not find the meta data repository manager.", new RuntimeException());
return false;
}
IArtifactRepositoryManager artifactRepositoryManager= (IArtifactRepositoryManager)agent.getService(IArtifactRepositoryManager.SERVICE_NAME);
if (artifactRepositoryManager == null) {
Activator.getDefault().logErrorStatus("Could not find the artifact repository manager.", new RuntimeException());
return false;
}
metadataRepositoryManager.addRepository(getUpdateSiteURI(updateSite));
artifactRepositoryManager.addRepository(getUpdateSiteURI(updateSite));
metadataRepositoryManager.loadRepository(getUpdateSiteURI(updateSite), new NullProgressMonitor());
final IProfileRegistry registry= (IProfileRegistry)agent.getService(IProfileRegistry.SERVICE_NAME);
if (registry == null) {
Activator.getDefault().logErrorStatus("Could not find the profile registry.", new RuntimeException());
return false;
}
final IProfile profile= registry.getProfile(IProfileRegistry.SELF);
if (profile == null) {
Activator.getDefault().logErrorStatus("Could not find the profile.", new RuntimeException());
return false;
}
IQuery<IInstallableUnit> query= QueryUtil.createIUQuery(pluginID);
Collection<IInstallableUnit> iusToUpdate= profile.query(query, null).toUnmodifiableSet();
ProvisioningSession provisioningSession= new ProvisioningSession(agent);
final UpdateOperation updateOperation= new UpdateOperation(provisioningSession, iusToUpdate);
IStatus modalResolution= updateOperation.resolveModal(new NullProgressMonitor());
if (modalResolution.isOK())
return true;
} catch (ProvisionException e) {
Activator.getDefault().logErrorStatus("A provisioning exception occured while checking for updates.", e);
}
return false;
}
示例3: startAgent
import org.eclipse.equinox.p2.core.IProvisioningAgentProvider; //导入方法依赖的package包/类
/**
* Starts the p2 bundles needed to continue with the install.
*
* @param agentLocation Agent location or <code>null</code> to use default agent.
* @throws ProvisionException on failure to start the agent
*/
private IProvisioningAgent startAgent(IPath agentLocation) throws ProvisionException {
IProvisioningAgentProvider provider = (IProvisioningAgentProvider) getService(Installer.getDefault().getContext(), IProvisioningAgentProvider.SERVICE_NAME);
return provider.createAgent(agentLocation == null ? null : agentLocation.toFile().toURI());
}