boolean missingRequirement(IProvisioningPlan failedPlan) { IStatus status = failedPlan.getStatus(); RequestStatus requestStatus = null; if (status instanceof PlannerStatus) requestStatus = ((PlannerStatus) status).getRequestStatus(); return requestStatus != null && requestStatus.getShortExplanation() == Explanation.MISSING_REQUIREMENT; } }
boolean missingRequirement(IProvisioningPlan failedPlan) { IStatus status = failedPlan.getStatus(); RequestStatus requestStatus = null; if (status instanceof PlannerStatus) requestStatus = ((PlannerStatus) status).getRequestStatus(); return requestStatus != null && requestStatus.getShortExplanation() == Explanation.MISSING_REQUIREMENT; } }
public static IStatus executePlan(IProvisioningPlan result, IEngine engine, IPhaseSet phaseSet, ProvisioningContext context, IProgressMonitor progress) { if (!result.getStatus().isOK()) return result.getStatus(); if (result.getInstallerPlan() != null) { IStatus installerPlanStatus = ((IEngine) result.getInstallerPlan().getProfile().getProvisioningAgent().getService(IEngine.SERVICE_NAME)).perform(result.getInstallerPlan(), phaseSet, progress); if (!installerPlanStatus.isOK()) return installerPlanStatus; Configurator configChanger = ServiceHelper.getService(DirectorActivator.context, Configurator.class); try { configChanger.applyConfiguration(); } catch (IOException e) { return new Status(IStatus.ERROR, DirectorActivator.PI_DIRECTOR, Messages.Director_error_applying_configuration, e); } } return engine.perform(result, phaseSet, progress); } }
public boolean continueWorkingOperation(ProfileChangeOperation operation, Shell shell) { // don't continue if superclass has already identified problem scenarios boolean ok = super.continueWorkingWithOperation(operation, shell); if (!ok) return false; IProvisioningPlan plan = operation.getProvisioningPlan(); if (plan == null) return false; // Check the preference to see whether to continue. IPreferenceStore prefs = ProvSDKUIActivator.getDefault().getPreferenceStore(); String openPlan = prefs.getString(PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN); if (MessageDialogWithToggle.ALWAYS.equals(openPlan)) { return true; } if (MessageDialogWithToggle.NEVER.equals(openPlan)) { StatusManager.getManager().handle(plan.getStatus(), StatusManager.SHOW | StatusManager.LOG); return false; } MessageDialogWithToggle dialog = MessageDialogWithToggle.openYesNoCancelQuestion(shell, ProvSDKMessages.ProvSDKUIActivator_Question, ProvSDKMessages.ProvSDKUIActivator_OpenWizardAnyway, null, false, prefs, PreferenceConstants.PREF_OPEN_WIZARD_ON_ERROR_PLAN); // Any answer but yes will stop the performance of the plan, but NO is interpreted to mean, show me the error. if (dialog.getReturnCode() == IDialogConstants.NO_ID) StatusManager.getManager().handle(plan.getStatus(), StatusManager.SHOW | StatusManager.LOG); return dialog.getReturnCode() == IDialogConstants.YES_ID; } }
if (plan.getStatus().getSeverity() == IStatus.CANCEL) { report.addSummaryStatus(plan.getStatus()); return report; if (!plan.getStatus().isOK()) report.addSummaryStatus(plan.getStatus()); PlannerStatus plannerStatus = plan.getStatus() instanceof PlannerStatus ? (PlannerStatus) plan.getStatus() : null; if (plan.getStatus().getSeverity() != IStatus.ERROR) { Collection<IInstallableUnit> iusAdded = originalRequest.getAdditions(); for (IInstallableUnit added : iusAdded) {
if (plan.getStatus().getSeverity() == IStatus.CANCEL) { report.addSummaryStatus(plan.getStatus()); return report; if (!plan.getStatus().isOK()) report.addSummaryStatus(plan.getStatus()); PlannerStatus plannerStatus = plan.getStatus() instanceof PlannerStatus ? (PlannerStatus) plan.getStatus() : null; if (plan.getStatus().getSeverity() != IStatus.ERROR) { Collection<IInstallableUnit> iusAdded = originalRequest.getAdditions(); for (IInstallableUnit added : iusAdded) {
if (!plan.getStatus().isOK()) return plan.getStatus(); return new Status(IStatus.ERROR, Activator.ID, Messages.remove_all_roots); plan = createProvisioningPlan(finalRequest, context, monitor); if (!plan.getStatus().isOK()) { System.out.println("original request"); //$NON-NLS-1$ System.out.println(request);
public static IStatus validateProfile(IProfile profile) { IPlanner planner = (IPlanner) profile.getProvisioningAgent().getService(IPlanner.SERVICE_NAME); IProfileChangeRequest pcr = planner.createChangeRequest(profile); ProvisioningContext ctx = new ProvisioningContext(profile.getProvisioningAgent()); ctx.setMetadataRepositories(new URI[0]); return planner.getProvisioningPlan(pcr, ctx, null).getStatus(); } }
public static IStatus validateProfile(IProfile profile) { IPlanner planner = (IPlanner) profile.getProvisioningAgent().getService(IPlanner.SERVICE_NAME); IProfileChangeRequest pcr = planner.createChangeRequest(profile); ProvisioningContext ctx = new ProvisioningContext(profile.getProvisioningAgent()); ctx.setMetadataRepositories(new URI[0]); return planner.getProvisioningPlan(pcr, ctx, null).getStatus(); } }
if (plan == null) throw new RuntimeException("Planner returned null"); handleStatus("Planner", plan.getStatus());
public IProfileChangeRequest getChangeRequest(IProfileChangeRequest request, IProfile prof, IProgressMonitor monitor) { this.profile = prof; SubMonitor sub = SubMonitor.convert(monitor, 2); IProfileChangeRequest loosenedRequest = computeLooseRequest(request, sub.newChild(1)); if (canShortCircuit(request)) { return null; } IProvisioningPlan intermediaryPlan = resolve(loosenedRequest, sub.newChild(1)); if (!intermediaryPlan.getStatus().isOK()) return null; if (intermediaryPlan.getAdditions().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty() && intermediaryPlan.getRemovals().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty()) //No changes, we can't return anything return null; if (!productContainmentOK(intermediaryPlan)) { return null; } IProfileChangeRequest effectiveRequest = computeEffectiveChangeRequest(intermediaryPlan, loosenedRequest, request); if (isRequestUseless(effectiveRequest)) return null; return effectiveRequest; }
public IProfileChangeRequest getChangeRequest(IProfileChangeRequest request, IProfile prof, IProgressMonitor monitor) { this.profile = prof; SubMonitor sub = SubMonitor.convert(monitor, 2); IProfileChangeRequest loosenedRequest = computeLooseRequest(request, sub.newChild(1)); if (canShortCircuit(request)) { return null; } IProvisioningPlan intermediaryPlan = resolve(loosenedRequest, sub.newChild(1)); if (!intermediaryPlan.getStatus().isOK()) return null; if (intermediaryPlan.getAdditions().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty() && intermediaryPlan.getRemovals().query(QueryUtil.ALL_UNITS, new NullProgressMonitor()).isEmpty()) //No changes, we can't return anything return null; if (!productContainmentOK(intermediaryPlan)) { return null; } IProfileChangeRequest effectiveRequest = computeEffectiveChangeRequest(intermediaryPlan, loosenedRequest, request); if (isRequestUseless(effectiveRequest)) return null; return effectiveRequest; }
Object agentSolution = getSolutionFor(agentRequest, agentCtx, monitor.newChild(3)); if (agentSolution instanceof IProvisioningPlan && ((IProvisioningPlan) agentSolution).getStatus().getSeverity() == ERROR) { MultiStatus agentStatus = new MultiStatus(PI_DIRECTOR, 0, Messages.Planner_actions_and_software_incompatible, null); agentStatus.add(((IProvisioningPlan) agentSolution).getStatus()); IProvisioningPlan plan = engine.createPlan(initialRequest.getProfile(), initialContext); plan.setStatus(agentStatus);
Object externalInstallerPlan = getSolutionFor(agentRequest, initialContext, sub.newChild(10)); if (externalInstallerPlan instanceof IProvisioningPlan && ((IProvisioningPlan) externalInstallerPlan).getStatus().getSeverity() == ERROR) { MultiStatus externalInstallerStatus = new MultiStatus(PI_DIRECTOR, 0, Messages.Planner_can_not_install_preq, null); externalInstallerStatus.add(((IProvisioningPlan) externalInstallerPlan).getStatus()); IProvisioningPlan plan = engine.createPlan(initialRequest.getProfile(), initialContext); plan.setStatus(externalInstallerStatus);
request.add(sourceIU); IProvisioningPlan plan = planner.getProvisioningPlan(request, context, subMonitor.split(25)); IStatus status = plan.getStatus(); if (!status.isOK()) { throw new CoreException(status);
IStatus status = plan.getStatus(); if (!status.isOK()) { throw new CoreException(status);