Search in sources :

Example 16 with ProvisionException

use of org.eclipse.equinox.p2.core.ProvisionException in project tycho by eclipse.

the class P2MirrorDisablingArtifactRepositoryManager method loadRepository.

@Override
public IArtifactRepository loadRepository(URI location, int flags, IProgressMonitor monitor) throws ProvisionException {
    IArtifactRepository repository = delegate.loadRepository(location, flags, monitor);
    disableMirrors(repository, mavenLogger);
    return repository;
}
Also used : IArtifactRepository(org.eclipse.equinox.p2.repository.artifact.IArtifactRepository)

Example 17 with ProvisionException

use of org.eclipse.equinox.p2.core.ProvisionException in project tycho by eclipse.

the class P2MirrorDisablingArtifactRepositoryManager method refreshRepository.

@Override
public IArtifactRepository refreshRepository(URI location, IProgressMonitor monitor) throws ProvisionException {
    IArtifactRepository repository = delegate.refreshRepository(location, monitor);
    disableMirrors(repository, mavenLogger);
    return repository;
}
Also used : IArtifactRepository(org.eclipse.equinox.p2.repository.artifact.IArtifactRepository)

Example 18 with ProvisionException

use of org.eclipse.equinox.p2.core.ProvisionException in project epp.mpc by eclipse.

the class FeatureSelectionWizardPage method updateFeatures.

private void updateFeatures() {
    SelectionModel selectionModel = getWizard().getSelectionModel();
    Set<CatalogItem> allSelectionCatalogItems = selectionModel.getItemToSelectedOperation().keySet();
    Set<CatalogItem> selectedCatalogItems = selectionModel.getSelectedCatalogItems();
    if (allSelectionCatalogItems.isEmpty() || selectedCatalogItems.isEmpty()) {
        showPreviousPage();
        return;
    }
    viewer.setInput(selectionModel);
    ResolveFeatureNamesOperation operation = new ResolveFeatureNamesOperation(new ArrayList<CatalogItem>(allSelectionCatalogItems)) {

        Display display = getControl().getDisplay();

        @Override
        public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {
            super.run(progressMonitor);
            if (!display.isDisposed() && isActivePage()) {
                display.asyncExec(new Runnable() {

                    public void run() {
                        if (isActivePage()) {
                            updateFeatureDescriptors(getFeatureDescriptors(), getUnresolvedFeatureDescriptors());
                        }
                    }
                });
            }
        }
    };
    try {
        getContainer().run(true, true, operation);
    } catch (InvocationTargetException e) {
        // we only log here since any error will also be displayed when resolving the provisioning operation.
        int statusFlags = StatusManager.LOG;
        IStatus status;
        if (e.getCause() instanceof ProvisionException) {
            status = ((ProvisionException) e.getCause()).getStatus();
        } else {
            status = MarketplaceClientCore.computeStatus(e, Messages.FeatureSelectionWizardPage_unexpectedException_verifyingFeatures);
            statusFlags |= StatusManager.BLOCK | StatusManager.SHOW;
        }
        MarketplaceClientUi.handle(status, statusFlags);
    } catch (InterruptedException e) {
    // canceled
    } finally {
        if (!isActivePage()) {
            return;
        }
        refresh();
        // bug 470485: need to recompute button state, because run() resets that to previous state
        refreshState();
    }
// maybeUpdateProfileChangeOperation();
}
Also used : CatalogItem(org.eclipse.equinox.internal.p2.discovery.model.CatalogItem) ResolveFeatureNamesOperation(org.eclipse.epp.internal.mpc.ui.operations.ResolveFeatureNamesOperation) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) IStatus(org.eclipse.core.runtime.IStatus) ProvisionException(org.eclipse.equinox.p2.core.ProvisionException) InvocationTargetException(java.lang.reflect.InvocationTargetException) Display(org.eclipse.swt.widgets.Display)

Example 19 with ProvisionException

use of org.eclipse.equinox.p2.core.ProvisionException in project archi by archimatetool.

the class P2InstallHandler method execute.

public boolean execute(Shell shell) {
    this.shell = shell;
    IProgressMonitor monitor = new NullProgressMonitor();
    if (!canWriteToInstallationFolder()) {
        // $NON-NLS-1$
        String message = Messages.P2InstallHandler_0 + " ";
        if (PlatformUtils.isWindows()) {
            message += Messages.P2InstallHandler_1;
        } else {
            message += Messages.P2InstallHandler_2;
        }
        displayErrorDialog(message);
        return false;
    }
    List<File> files = askOpenFiles();
    if (files.isEmpty()) {
        return false;
    }
    List<IStatus> stats = new ArrayList<IStatus>();
    try {
        for (File file : files) {
            IStatus status = installFile(file, monitor);
            stats.add(status);
        }
    } catch (ProvisionException | IOException ex) {
        displayErrorDialog(ex.getMessage());
        return false;
    }
    // $NON-NLS-1$
    String resultMessage = "";
    boolean hasError = false;
    for (int i = 0; i < stats.size(); i++) {
        IStatus status = stats.get(i);
        if (status.isOK()) {
            needsRestart = true;
            // $NON-NLS-1$
            resultMessage += NLS.bind(Messages.P2InstallHandler_6 + "\n", files.get(i).getName());
        } else {
            hasError = true;
            if (status.getCode() == 666) {
                // $NON-NLS-1$
                resultMessage += NLS.bind(Messages.P2InstallHandler_10 + "\n", files.get(i).getName());
            } else if (status.getCode() == UpdateOperation.STATUS_NOTHING_TO_UPDATE) {
                // $NON-NLS-1$
                resultMessage += NLS.bind(Messages.P2InstallHandler_12 + "\n", files.get(i).getName());
            } else {
                // $NON-NLS-1$
                resultMessage += NLS.bind(Messages.P2InstallHandler_14 + "\n", files.get(i).getName());
            }
        }
    }
    if (hasError) {
        MessageDialog.openInformation(shell, Messages.P2InstallHandler_16, resultMessage);
    }
    return true;
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IStatus(org.eclipse.core.runtime.IStatus) ArrayList(java.util.ArrayList) IOException(java.io.IOException) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) ProvisionException(org.eclipse.equinox.p2.core.ProvisionException) File(java.io.File)

Example 20 with ProvisionException

use of org.eclipse.equinox.p2.core.ProvisionException in project archi by archimatetool.

the class P2Handler method install.

public IStatus install(URI uri, IProgressMonitor monitor) throws ProvisionException {
    loadRepository(uri, monitor);
    Collection<IInstallableUnit> toInstall = getGroupInstallableUnits(uri, monitor);
    InstallOperation operation = new InstallOperation(getProvisioningSession(), toInstall);
    return performOperation(operation, monitor);
}
Also used : InstallOperation(org.eclipse.equinox.p2.operations.InstallOperation) IInstallableUnit(org.eclipse.equinox.p2.metadata.IInstallableUnit)

Aggregations

ProvisionException (org.eclipse.equinox.p2.core.ProvisionException)29 IInstallableUnit (org.eclipse.equinox.p2.metadata.IInstallableUnit)14 IStatus (org.eclipse.core.runtime.IStatus)13 IMetadataRepository (org.eclipse.equinox.p2.repository.metadata.IMetadataRepository)10 Test (org.junit.Test)9 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)8 IArtifactRepository (org.eclipse.equinox.p2.repository.artifact.IArtifactRepository)8 IMetadataRepositoryManager (org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager)8 URI (java.net.URI)7 ArrayList (java.util.ArrayList)7 File (java.io.File)6 Status (org.eclipse.core.runtime.Status)6 IOException (java.io.IOException)5 IProvisioningAgent (org.eclipse.equinox.p2.core.IProvisioningAgent)5 IProvisioningAgentProvider (org.eclipse.equinox.p2.core.IProvisioningAgentProvider)5 OutputStream (java.io.OutputStream)4 HashSet (java.util.HashSet)4 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)4 ProvisioningSession (org.eclipse.equinox.p2.operations.ProvisioningSession)4 IArtifactDescriptor (org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor)4