Java Code Examples for org.eclipse.equinox.p2.core.IProvisioningAgent#getService()
The following examples show how to use
org.eclipse.equinox.p2.core.IProvisioningAgent#getService() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: InstallWizardOpener.java From statecharts with Eclipse Public License 1.0 | 6 votes |
public void open(Map<String, Set<String>> features, IProgressMonitor monitor) { try { IProvisioningAgent agent = agentProvider.get(); IMetadataRepositoryManager manager = (IMetadataRepositoryManager) agent .getService(IMetadataRepositoryManager.SERVICE_NAME); Set<IInstallableUnit> units = collectIUs(features, manager, monitor); if (monitor.isCanceled()) return; List<URI> knownRepos = Arrays.asList(manager.getKnownRepositories(IRepositoryManager.REPOSITORIES_ALL)); InstallOperation op = new OperationFactory().createInstallOperation(units, knownRepos, monitor); agent.stop(); open(units, op); } catch (ProvisionException e) { e.printStackTrace(); } }
Example 2
Source File: InstallationChecker.java From statecharts with Eclipse Public License 1.0 | 6 votes |
public boolean isFeatureInstalled(String featureId) { try { IProvisioningAgent agent = agentProvider.get(); IProfileRegistry profileRegistry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); IProfile selfProfile = profileRegistry.getProfile(IProfileRegistry.SELF); if(selfProfile == null) return true; Set<IInstallableUnit> installed = selfProfile .available(QueryUtil.createIUQuery(featureId), new NullProgressMonitor()).toUnmodifiableSet(); agent.stop(); return !installed.isEmpty(); } catch (ProvisionException e) { e.printStackTrace(); } return false; }
Example 3
Source File: P2Util.java From elexis-3-core with Eclipse Public License 1.0 | 6 votes |
/** * Add a repository to declared updates repositories. * * @param repo * @return */ public static boolean addRepository(IProvisioningAgent agent, String repo){ System.out.println(">> adding repository " + repo); IMetadataRepositoryManager metadataManager = (IMetadataRepositoryManager) agent.getService(IMetadataRepositoryManager.SERVICE_NAME); IArtifactRepositoryManager artifactManager = (IArtifactRepositoryManager) agent.getService(IArtifactRepositoryManager.SERVICE_NAME); if (metadataManager == null) { System.out.println("metadataManager is null!!!"); return false; } if (artifactManager == null) { System.out.println("artifactManager is null!!!"); return false; } try { URI uri = new URI(repo); metadataManager.addRepository(uri); artifactManager.addRepository(uri); return true; } catch (Exception e) { e.printStackTrace(); return false; } }
Example 4
Source File: PreloadingRepositoryHandler.java From translationstudio8 with GNU General Public License v2.0 | 5 votes |
/** * Execute the command. */ public Object execute(ExecutionEvent event) { // Look for a profile. We may not immediately need it in the // handler, but if we don't have one, whatever we are trying to do // will ultimately fail in a more subtle/low-level way. So determine // up front if the system is configured properly. String profileId = getProvisioningUI().getProfileId(); IProvisioningAgent agent = getProvisioningUI().getSession().getProvisioningAgent(); IProfile profile = null; if (agent != null) { IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); if (registry != null) { profile = registry.getProfile(profileId); } } if (profile == null) { // Inform the user nicely P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_CHECK); return null; } else { BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { public void run() { doExecuteAndLoad(); } }); } return null; }
Example 5
Source File: PreloadingRepositoryHandler.java From tmxeditor8 with GNU General Public License v2.0 | 5 votes |
/** * Execute the command. */ public Object execute(ExecutionEvent event) { // SystemResourceUtil.load(); // String tshelp = System.getProperties().getProperty("TSHelp"); // String tsstate = System.getProperties().getProperty("TSState"); // if (tshelp == null || !"true".equals(tshelp) || tsstate == null || !"true".equals(tsstate)) { // LoggerFactory.getLogger(PreloadingRepositoryHandler.class).error("Exception:key hs008 is lost.(Can't find the key)"); // System.exit(0); // } // Look for a profile. We may not immediately need it in the // handler, but if we don't have one, whatever we are trying to do // will ultimately fail in a more subtle/low-level way. So determine // up front if the system is configured properly. String profileId = getProvisioningUI().getProfileId(); IProvisioningAgent agent = getProvisioningUI().getSession().getProvisioningAgent(); IProfile profile = null; if (agent != null) { IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); if (registry != null) { profile = registry.getProfile(profileId); } } if (profile == null) { // Inform the user nicely P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_CHECK); return null; } else { BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { public void run() { doExecuteAndLoad(); } }); } return null; }
Example 6
Source File: AutomaticUpdate.java From translationstudio8 with GNU General Public License v2.0 | 4 votes |
public void checkForUpdates() throws OperationCanceledException { // 检查 propfile String profileId = getProvisioningUI().getProfileId(); IProvisioningAgent agent = getProvisioningUI().getSession().getProvisioningAgent(); IProfile profile = null; if (agent != null) { IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); if (registry != null) { profile = registry.getProfile(profileId); } } if (profile == null) { // Inform the user nicely P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_AUTO_CHECK); return; } // 开始检查前先确定是否有repository RepositoryTracker repoMan = getProvisioningUI().getRepositoryTracker(); if (repoMan.getKnownRepositories(getProvisioningUI().getSession()).length == 0) { P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_AUTO_CHECK); return; } final IStatus[] checkStatus = new IStatus[1]; Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY); final LoadMetadataRepositoryJob loadJob = new LoadMetadataRepositoryJob(getProvisioningUI()) { public IStatus runModal(IProgressMonitor monitor) { SubMonitor sub = SubMonitor.convert(monitor, P2UpdateUtil.CHECK_UPDATE_TASK_NAME, 1000); // load repository IStatus status = super.runModal(sub.newChild(500)); if (status.getSeverity() == IStatus.CANCEL) { return status; } if (status.getSeverity() != Status.OK) { // load repository error checkStatus[0] = status; } operation = getProvisioningUI().getUpdateOperation(null, null); // check for updates IStatus resolveStatus = operation.resolveModal(sub.newChild(500)); if (resolveStatus.getSeverity() == IStatus.CANCEL) { return Status.CANCEL_STATUS; } return Status.OK_STATUS; } }; loadJob.setName(P2UpdateUtil.ATUO_CHECK_UPDATE_JOB_NAME); loadJob.setProperty(LoadMetadataRepositoryJob.ACCUMULATE_LOAD_ERRORS, Boolean.toString(true)); loadJob.addJobChangeListener(new JobChangeAdapter() { public void done(IJobChangeEvent event) { if (PlatformUI.isWorkbenchRunning()) if (event.getResult().isOK()) { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { if (checkStatus[0] != null) { // 提示连接异常 P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_AUTO_CHECK); return; } doUpdate(); } }); } } }); loadJob.setUser(true); loadJob.schedule(); }
Example 7
Source File: AutomaticUpdate.java From tmxeditor8 with GNU General Public License v2.0 | 4 votes |
public void checkForUpdates() throws OperationCanceledException { // 检查 propfile String profileId = getProvisioningUI().getProfileId(); IProvisioningAgent agent = getProvisioningUI().getSession().getProvisioningAgent(); IProfile profile = null; if (agent != null) { IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); if (registry != null) { profile = registry.getProfile(profileId); } } if (profile == null) { // Inform the user nicely P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_AUTO_CHECK); return; } // 开始检查前先确定是否有repository RepositoryTracker repoMan = getProvisioningUI().getRepositoryTracker(); if (repoMan.getKnownRepositories(getProvisioningUI().getSession()).length == 0) { P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_AUTO_CHECK); return; } final IStatus[] checkStatus = new IStatus[1]; Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY); final LoadMetadataRepositoryJob loadJob = new LoadMetadataRepositoryJob(getProvisioningUI()) { public IStatus runModal(IProgressMonitor monitor) { SubMonitor sub = SubMonitor.convert(monitor, P2UpdateUtil.CHECK_UPDATE_TASK_NAME, 1000); // load repository IStatus status = super.runModal(sub.newChild(500)); if (status.getSeverity() == IStatus.CANCEL) { return status; } if (status.getSeverity() != Status.OK) { // load repository error checkStatus[0] = status; } operation = getProvisioningUI().getUpdateOperation(null, null); // check for updates IStatus resolveStatus = operation.resolveModal(sub.newChild(500)); if (resolveStatus.getSeverity() == IStatus.CANCEL) { return Status.CANCEL_STATUS; } return Status.OK_STATUS; } }; loadJob.setName(P2UpdateUtil.ATUO_CHECK_UPDATE_JOB_NAME); loadJob.setProperty(LoadMetadataRepositoryJob.ACCUMULATE_LOAD_ERRORS, Boolean.toString(true)); loadJob.addJobChangeListener(new JobChangeAdapter() { public void done(IJobChangeEvent event) { if (PlatformUI.isWorkbenchRunning()) if (event.getResult().isOK()) { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { if (checkStatus[0] != null) { // 提示连接异常 P2UpdateUtil.openConnectErrorInfoDialog(getShell(), P2UpdateUtil.INFO_TYPE_AUTO_CHECK); return; } doUpdate(); } }); } } }); loadJob.setUser(true); loadJob.schedule(); }