• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java IMetadataRepository类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.eclipse.equinox.p2.repository.metadata.IMetadataRepository的典型用法代码示例。如果您正苦于以下问题:Java IMetadataRepository类的具体用法?Java IMetadataRepository怎么用?Java IMetadataRepository使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IMetadataRepository类属于org.eclipse.equinox.p2.repository.metadata包,在下文中一共展示了IMetadataRepository类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: queryRepositoryForInstallableUnit

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Queries a repository for a specific {@link IInstallableUnit} (IU).
 *
 * @param repositoryURI the repository URI
 * @param installableUnitID the ID of the IU
 * @return the {@link IQueryResult}
 */
private IQueryResult<IInstallableUnit> queryRepositoryForInstallableUnit(URI repositoryURI, String installableUnitID) {

	// --- Load the repository ------------
	IQueryResult<IInstallableUnit> queryResult = null;
	try {
		IMetadataRepository metadataRepository = this.getMetadataRepositoryManager().loadRepository(repositoryURI, this.getProgressMonitor());
		// --- Query for the IU of interest -----
		if (metadataRepository != null) {
			queryResult = metadataRepository.query(QueryUtil.createIUQuery(installableUnitID), this.getProgressMonitor());
		}
		
	} catch (ProvisionException | OperationCanceledException e) {
		System.err.println("Error loading the repository at " + repositoryURI);
		e.printStackTrace();
	}

	return queryResult;
}
 
开发者ID:EnFlexIT,项目名称:AgentWorkbench,代码行数:26,代码来源:P2OperationsHandler.java


示例2: createRepository

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Creates the product meta-data repository.
 * Clients should call {@link #dispose()} when the repository is no longer needed.
 * 
 * @throws CoreException on failure
 * @see #dispose()
 */
public IMetadataRepository createRepository() throws CoreException {
	try {
		// Create temporary directory for product repository
		repositoryDirectory = Files.createTempDirectory(null).toFile();
		
		// Create the P2 repository for meta-data information
		metadataRepository = getMetadataRepositoryManager().createRepository(repositoryDirectory.toURI(), getProductName(),
				IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
		
		Installer.log("Created product repository at: " + repositoryDirectory.getAbsolutePath());
	}
	catch (Exception e) {
		Installer.fail(e);
	}
	
	return metadataRepository;
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:25,代码来源:ProductRepository.java


示例3: queryP2Repository

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
private Iterator<IInstallableUnit> queryP2Repository(IProgressMonitor monitor, String updateURL)
		throws URISyntaxException {
	if (monitor == null) {
		monitor = new NullProgressMonitor();
	}

	SubMonitor progress = SubMonitor.convert(monitor, "", 6);
	// get all available IUs in update repository
	IMetadataRepository metadataRepo = null;
	try {
		metadataRepo = metadataRepoManager.loadRepository(new URI(updateURL), progress.newChild(1));
	} catch (ProvisionException e) {
		System.exit(1);
	}
	IQuery<IInstallableUnit> allIUQuery = QueryUtil.createIUAnyQuery();
	IQueryResult<IInstallableUnit> allIUQueryResult = metadataRepo.query(allIUQuery, progress.newChild(1));

	Iterator<IInstallableUnit> iterator = allIUQueryResult.iterator();

	if (progress.isCanceled()) {
		throw new OperationCanceledException();
	}
	return iterator;
}
 
开发者ID:wso2,项目名称:developer-studio,代码行数:25,代码来源:CheckUpdatesManager.java


示例4: process

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
public void process ( final IProgressMonitor pm ) throws Exception
{
    this.output.mkdirs ();

    System.out.println ( "Loading metadata..." );
    this.metaRepo = this.metaManager.loadRepository ( this.repositoryLocation, pm );
    System.out.println ( "Loading artifacts..." );
    this.artRepo = this.artManager.loadRepository ( this.repositoryLocation, pm );
    System.out.println ( "done!" );

    for ( final URI uri : this.validationRepositoryUris )
    {
        System.out.format ( "Loading validation repository: %s%n", uri );
        final IMetadataRepository repo = this.metaManager.loadRepository ( uri, pm );
        this.validationRepositories.put ( uri, repo );
        System.out.println ( "Done!" );
    }

    final IQuery<IInstallableUnit> query = QueryUtil.createIUAnyQuery ();
    final IQueryResult<IInstallableUnit> result = this.metaRepo.query ( query, pm );

    for ( final IInstallableUnit iu : result )
    {
        processUnit ( iu, pm );
    }

    writeUploadScript ();

    for ( final Map.Entry<MavenReference, Set<String>> entry : this.metadata.entrySet () )
    {
        writeMetaData ( entry.getKey (), entry.getValue () );
    }

}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:35,代码来源:Processor.java


示例5: findUnit

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Finds the latest version of an installable unit in local repositories.
 * 
 * @param spec Version specification
 * @return Installable unit or <code>null</code>.
 * @throws CoreException on failure
 */
public IInstallableUnit findUnit(IVersionedId spec) throws CoreException {
	String id = spec.getId();
	if (id == null) {
		Installer.fail(InstallMessages.Error_NoId);
	}
	Version version = spec.getVersion();
	VersionRange range = VersionRange.emptyRange;
	if (version != null && !version.equals(Version.emptyVersion))
		range = new VersionRange(version, true, version, true);
	
	URI[] locations = manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_LOCAL);
	List<IMetadataRepository> queryables = new ArrayList<IMetadataRepository>(locations.length);
	for (URI location : locations) {
		queryables.add(getManager().loadRepository(location, new NullProgressMonitor()));
	}

	IQuery<IInstallableUnit> query = QueryUtil.createIUQuery(id, range);
	IQueryable<IInstallableUnit> compoundQueryable = QueryUtil.compoundQueryable(queryables);
	IQueryResult<IInstallableUnit> queryResult = compoundQueryable.query(query, new NullProgressMonitor());
	
	Iterator<IInstallableUnit> matches = queryResult.iterator();
	// pick the newest match
	IInstallableUnit newest = null;
	while (matches.hasNext()) {
		IInstallableUnit candidate = matches.next();
		if (newest == null || (newest.getVersion().compareTo(candidate.getVersion()) < 0))
			newest = candidate;
	}

	return newest;
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:39,代码来源:RepositoryManagerAdapter.java


示例6: getMetadataRepositoryLocations

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * @return Returns the meta-data repository locations.
 */
public URI[] getMetadataRepositoryLocations() {
	ArrayList<URI> locations = new ArrayList<URI>();
	for (IMetadataRepository repository : getMetadataRepositories()) {
		locations.add(repository.getLocation());
	}
	
	return locations.toArray(new URI[locations.size()]);
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:12,代码来源:RepositoryManager.java


示例7: generateIUList

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Generates a list of all the Installable Units from a repository
 * @param repo the metadata repository that is the source of the installable units
 * @return array list of all installable units in a repository
 */
public static ArrayList<IInstallableUnit> generateIUList(IMetadataRepository repo){
	ArrayList<IInstallableUnit> iuList = new ArrayList<IInstallableUnit>();
	IQueryResult<IInstallableUnit> results = repo.query(QueryUtil.createIUAnyQuery(), new NullProgressMonitor());
	for (IInstallableUnit iu : results.toUnmodifiableSet()) {
		if(!iu.getId().contains("feature"))
			iuList.add(iu);
	}
	return iuList;
}
 
开发者ID:Pro-Nouns,项目名称:LinGUIne,代码行数:15,代码来源:InstallUtils.java


示例8: loadRepository

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Establishes all the repositories and repository managers needed for the install job
 * 
 * @param agent the current ProvisioningAgent
 * @param repositoryLocation the valid p2 repository location 
 * @return metadata repository object from a valid p2 repository
 * @throws ProvisionException
 */
@SuppressWarnings("restriction")
public static IMetadataRepository loadRepository(IProvisioningAgent agent, URI repositoryLocation) throws ProvisionException{
	final ProvisioningUI ui = ProvUIActivator.getDefault().getProvisioningUI();
	IArtifactRepositoryManager artifactManager = ProvUI.getArtifactRepositoryManager(ui.getSession());
	IMetadataRepositoryManager manager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME);
	artifactManager.addRepository(repositoryLocation);
	IMetadataRepository repository = manager.loadRepository(repositoryLocation, new NullProgressMonitor());
	return repository;
}
 
开发者ID:Pro-Nouns,项目名称:LinGUIne,代码行数:18,代码来源:InstallUtils.java


示例9: getRepository

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * @return The meta-data repository
 */
public IMetadataRepository getRepository() {
	return repository;
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:7,代码来源:RepositoryAdapter.java


示例10: getMetadataRepository

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * @return The product meta-data repository.
 */
protected IMetadataRepository getMetadataRepository() {
	return metadataRepository;
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:7,代码来源:ProductRepository.java


示例11: getMetadataRepositories

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * @return Meta-data repositories
 */
public IMetadataRepository[] getMetadataRepositories() {
	return metadataRepositories.toArray(new IMetadataRepository[metadataRepositories.size()]);
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:7,代码来源:RepositoryManager.java


示例12: checkForAvailableUpdates

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Finds available WSO2 features in current profile and search for updates
 * to them in WSO2 p2 repository for updates.
 * 
 * @param monitor
 * @throws Exception
 */
public void checkForAvailableUpdates(IProgressMonitor monitor) throws Exception {
	if (monitor == null) {
		monitor = new NullProgressMonitor();
	}
	SubMonitor progress = SubMonitor.convert(monitor, Messages.UpdateManager_18, 6);

	// get all available IUs in update repository
	IMetadataRepository metadataRepo = null;
	try {
		metadataRepo = metadataRepoManager.loadRepository(getDevStudioUpdateSite(), progress.newChild(1));
	} catch (ProvisionException e) {
		UpdateMetaFileReaderJob.promptUserError(
				"The P2 Does not existed at the given location, please set the update/releases P2 for Developer Studio in the Preference Store",
				"P2 Repository Error");
		throw e;
	}
	IQuery<IInstallableUnit> allIUQuery = QueryUtil.createIUAnyQuery();
	IQueryResult<IInstallableUnit> allIUQueryResult = metadataRepo.query(allIUQuery, progress.newChild(1));

	// read artifact repository for updates
	IArtifactRepository artifactRepo = artifactRepoManager.loadRepository(getDevStudioUpdateSite(),
			progress.newChild(1));

	// read meta-data of all available features
	Map<String, EnhancedFeature> unsortedMap = loadWSO2FeaturesInRepo(artifactRepo, allIUQueryResult,
			progress.newChild(1));
	// sort the map in alphabetical order
	Map<String, EnhancedFeature> allFeaturesInUpdateRepo = new TreeMap<String, EnhancedFeature>(unsortedMap);
	// get all installed wso2 features
	Collection<IInstallableUnit> installedWSO2Features = getInstalledWSO2Features(progress.newChild(1));

	installedWSO2FeaturesMap = new HashMap<String, IInstallableUnit>();
	for (IInstallableUnit iInstallableUnit : installedWSO2Features) {
		installedWSO2FeaturesMap.put(iInstallableUnit.getId(), iInstallableUnit);
	}

	if (progress.isCanceled()) {
		throw new OperationCanceledException();
	}

	URI[] repos = new URI[] { getDevStudioUpdateSite() };
	updateOperation = new UpdateOperation(session, installedWSO2Features);
	updateOperation.getProvisioningContext().setArtifactRepositories(repos);
	updateOperation.getProvisioningContext().setMetadataRepositories(repos);

	// resolve update operation
	IStatus status = updateOperation.resolveModal(progress.newChild(1));
	// user cancelled the job while resolving
	if (status.getSeverity() == IStatus.CANCEL || progress.isCanceled()) {
		throw new OperationCanceledException();
	}
	// there is nothing to update
	if (status.getCode() == UpdateOperation.STATUS_NOTHING_TO_UPDATE) {
		featuresWithPossibleUpdates = new HashMap<String, EnhancedFeature>();
		log.info(Messages.UpdateManager_19);
	} else if (status.getSeverity() == IStatus.ERROR) { // resolution errors
		// something wrong with the updates
		log.info(Messages.UpdateManager_20);
	} else {
		// good to proceed installing updates
		setPossibleUpdates(updateOperation.getPossibleUpdates(), allFeaturesInUpdateRepo);
	}
	// sort the available updates in alphabetical order

}
 
开发者ID:wso2,项目名称:developer-studio,代码行数:73,代码来源:UpdateManager.java


示例13: checkForAvailableFeatures

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Searches available features in WSO2 p2 repository for the current version
 * of Developer Studio and filters new features that can be installed.
 * 
 * @param monitor
 * @throws Exception
 */
public void checkForAvailableFeatures(IProgressMonitor monitor) throws Exception {
	if (monitor == null) {
		monitor = new NullProgressMonitor();
	}
	SubMonitor progress = SubMonitor.convert(monitor, Messages.UpdateManager_21, 5);

	// get all available IUs in release repository
	IMetadataRepository metadataRepository = null;
	try {
		metadataRepository = metadataRepoManager.loadRepository(getDevStudioReleaseSite(), progress.newChild(1));
	} catch (ProvisionException e) {
		UpdateMetaFileReaderJob.promptUserError(
				"The P2 Does not existed at the given location, please set the update/releases P2 for Developer Studio in the Preference Store",
				"P2 Repository Error");
		throw e;
	}
	IQuery<IInstallableUnit> allIUQuery = QueryUtil.createIUAnyQuery();
	IQueryResult<IInstallableUnit> allIUQueryResult = metadataRepository.query(allIUQuery, progress.newChild(1));

	// load artifact repository for releases
	IArtifactRepository artifactRepository = artifactRepoManager.loadRepository(getDevStudioReleaseSite(),
			progress.newChild(1));

	// read meta-data of all available features
	Map<String, EnhancedFeature> allFeaturesInReleaseRepo = loadWSO2FeaturesInRepo(artifactRepository,
			allIUQueryResult, progress.newChild(1));

	Collection<IInstallableUnit> filteredIUs = filterInstallableUnits(WSO2_FEATURE_PREFIX, FEATURE_GROUP_IU_ID_SFX,
			allIUQueryResult, progress.newChild(1));
	allAvailableFeatures = new HashMap<String, IInstallableUnit>();
	unsortedAvailableNewFeatures = new HashMap<String, EnhancedFeature>();
	for (IInstallableUnit iInstallableUnit : filteredIUs) {
		allAvailableFeatures.put(iInstallableUnit.getId(), iInstallableUnit);
		if (!installedWSO2FeaturesMap.containsKey(iInstallableUnit.getId())) {
			unsortedAvailableNewFeatures.put(iInstallableUnit.getId(),
					allFeaturesInReleaseRepo.get(iInstallableUnit.getId()));
		} else {
			Version versionInstalled = installedWSO2FeaturesMap.get(iInstallableUnit.getId()).getVersion();
			// if the version we have is greater than the installed version
			// view it in the available feature list
			if (versionInstalled != null && (iInstallableUnit.getVersion().compareTo(versionInstalled) == 1)) {
				unsortedAvailableNewFeatures.put(iInstallableUnit.getId(),
						allFeaturesInReleaseRepo.get(iInstallableUnit.getId()));
			}
		}
	}
	// sort the available new features according to alphabetical order
	availableNewFeatures = new TreeMap<String, EnhancedFeature>(unsortedAvailableNewFeatures);
}
 
开发者ID:wso2,项目名称:developer-studio,代码行数:57,代码来源:UpdateManager.java


示例14: getMetaRepo

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
public IMetadataRepository getMetaRepo(){
	return metaRepo;
}
 
开发者ID:Pro-Nouns,项目名称:LinGUIne,代码行数:4,代码来源:P2Data.java


示例15: RepositoryAdapter

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Constructor
 * 
 * @param repository meta-data repository
 */
public RepositoryAdapter(IMetadataRepository repository) {
	this.repository = repository;
}
 
开发者ID:MentorEmbedded,项目名称:p2-installer,代码行数:9,代码来源:RepositoryAdapter.java


示例16: getInstallable

import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; //导入依赖的package包/类
/**
 * Queries a repository to get a collection of results
 * 
 * @param repository
 * @return
 */
public static IQueryResult<IInstallableUnit> getInstallable(IMetadataRepository repository){
	return repository.query(QueryUtil.createIUAnyQuery(), new NullProgressMonitor());
}
 
开发者ID:Pro-Nouns,项目名称:LinGUIne,代码行数:10,代码来源:InstallUtils.java



注:本文中的org.eclipse.equinox.p2.repository.metadata.IMetadataRepository类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java GenericPackager类代码示例发布时间:2022-05-22
下一篇:
Java HighPerformanceSpriteVertexBufferObject类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap