Search in sources :

Example 1 with TransferEvent

use of org.apache.maven.wagon.events.TransferEvent in project gradle by gradle.

the class RepositoryTransportDeployWagon method transferEvent.

private TransferEvent transferEvent(Resource resource, int eventType, int requestType) {
    TransferEvent transferEvent = new TransferEvent(this, resource, eventType, requestType);
    transferEvent.setTimestamp(new Date().getTime());
    return transferEvent;
}
Also used : TransferEvent(org.apache.maven.wagon.events.TransferEvent) Date(java.util.Date)

Example 2 with TransferEvent

use of org.apache.maven.wagon.events.TransferEvent in project intellij-community by JetBrains.

the class Maven2ServerIndexerImpl method updateIndex.

public void updateIndex(int id, MavenServerSettings settings, MavenServerProgressIndicator indicator) throws MavenServerIndexerException, MavenServerProcessCanceledException, RemoteException {
    IndexingContext index = getIndex(id);
    try {
        if (isLocal(index)) {
            File repository = index.getRepository();
            if (repository != null && repository.exists()) {
                indicator.setIndeterminate(true);
                try {
                    myIndexer.scan(index, new MyScanningListener(indicator), false);
                } finally {
                    indicator.setIndeterminate(false);
                }
            }
        } else {
            IndexUpdateRequest request = new IndexUpdateRequest(index);
            Maven2ServerEmbedderImpl embedder = Maven2ServerEmbedderImpl.create(settings);
            try {
                request.setResourceFetcher(new Maven2ServerIndexFetcher(index.getRepositoryId(), index.getRepositoryUrl(), embedder.getComponent(WagonManager.class), new TransferListenerAdapter(indicator) {

                    @Override
                    protected void downloadProgress(long downloaded, long total) {
                        super.downloadProgress(downloaded, total);
                        try {
                            myIndicator.setFraction(((double) downloaded) / total);
                        } catch (RemoteException e) {
                            throw new RuntimeRemoteException(e);
                        }
                    }

                    @Override
                    public void transferCompleted(TransferEvent event) {
                        super.transferCompleted(event);
                        try {
                            myIndicator.setText2("Processing indices...");
                        } catch (RemoteException e) {
                            throw new RuntimeRemoteException(e);
                        }
                    }
                }));
                myUpdater.fetchAndUpdateIndex(request);
            } finally {
                embedder.release();
            }
        }
    } catch (RuntimeRemoteException e) {
        throw e.getCause();
    } catch (ProcessCanceledException e) {
        throw new MavenServerProcessCanceledException();
    } catch (Exception e) {
        throw new MavenServerIndexerException(wrapException(e));
    }
}
Also used : IndexUpdateRequest(org.sonatype.nexus.index.updater.IndexUpdateRequest) TransferEvent(org.apache.maven.wagon.events.TransferEvent) ProcessCanceledException(com.intellij.openapi.progress.ProcessCanceledException) ArchetypeDataSourceException(org.apache.maven.archetype.source.ArchetypeDataSourceException) IOException(java.io.IOException) InvocationTargetException(java.lang.reflect.InvocationTargetException) RemoteException(java.rmi.RemoteException) IndexingContext(org.sonatype.nexus.index.context.IndexingContext) RemoteException(java.rmi.RemoteException) File(java.io.File) ProcessCanceledException(com.intellij.openapi.progress.ProcessCanceledException)

Example 3 with TransferEvent

use of org.apache.maven.wagon.events.TransferEvent in project intellij-community by JetBrains.

the class Maven3ServerIndexerImpl method updateIndex.

@Override
public void updateIndex(int id, MavenServerSettings settings, final MavenServerProgressIndicator indicator) throws RemoteException, MavenServerIndexerException, MavenServerProcessCanceledException {
    final IndexingContext index = getIndex(id);
    try {
        File repository = index.getRepository();
        if (repository != null) {
            // is local repository
            if (repository.exists()) {
                indicator.setIndeterminate(true);
                try {
                    myIndexer.scan(index, new MyScanningListener(indicator), false);
                } finally {
                    indicator.setIndeterminate(false);
                }
            }
        } else {
            final Maven3ServerEmbedder embedder = createEmbedder(settings);
            MavenExecutionRequest r = embedder.createRequest(null, Collections.<String>emptyList(), Collections.<String>emptyList(), Collections.<String>emptyList());
            final IndexUpdateRequest request = new IndexUpdateRequest(index);
            try {
                embedder.executeWithMavenSession(r, new Runnable() {

                    @Override
                    public void run() {
                        request.setResourceFetcher(new Maven3ServerIndexFetcher(index.getRepositoryId(), index.getRepositoryUrl(), embedder.getComponent(WagonManager.class), embedder.getComponent(RepositorySystem.class), new WagonTransferListenerAdapter(indicator) {

                            @Override
                            protected void downloadProgress(long downloaded, long total) {
                                super.downloadProgress(downloaded, total);
                                try {
                                    myIndicator.setFraction(((double) downloaded) / total);
                                } catch (RemoteException e) {
                                    throw new RuntimeRemoteException(e);
                                }
                            }

                            @Override
                            public void transferCompleted(TransferEvent event) {
                                super.transferCompleted(event);
                                try {
                                    myIndicator.setText2("Processing indices...");
                                } catch (RemoteException e) {
                                    throw new RuntimeRemoteException(e);
                                }
                            }
                        }));
                        try {
                            myUpdater.fetchAndUpdateIndex(request);
                        } catch (IOException e) {
                            throw new RuntimeException(e);
                        }
                    }
                });
            } finally {
                embedder.release();
            }
        }
    } catch (RuntimeRemoteException e) {
        throw e.getCause();
    } catch (ProcessCanceledException e) {
        throw new MavenServerProcessCanceledException();
    } catch (Exception e) {
        throw new MavenServerIndexerException(wrapException(e));
    }
}
Also used : MavenExecutionRequest(org.apache.maven.execution.MavenExecutionRequest) IndexUpdateRequest(org.sonatype.nexus.index.updater.IndexUpdateRequest) TransferEvent(org.apache.maven.wagon.events.TransferEvent) IOException(java.io.IOException) ProcessCanceledException(com.intellij.openapi.progress.ProcessCanceledException) ArchetypeDataSourceException(org.apache.maven.archetype.source.ArchetypeDataSourceException) IOException(java.io.IOException) InvocationTargetException(java.lang.reflect.InvocationTargetException) RemoteException(java.rmi.RemoteException) RepositorySystem(org.apache.maven.repository.RepositorySystem) WagonManager(org.apache.maven.artifact.manager.WagonManager) IndexingContext(org.sonatype.nexus.index.context.IndexingContext) RemoteException(java.rmi.RemoteException) File(java.io.File) ProcessCanceledException(com.intellij.openapi.progress.ProcessCanceledException)

Aggregations

TransferEvent (org.apache.maven.wagon.events.TransferEvent)3 ProcessCanceledException (com.intellij.openapi.progress.ProcessCanceledException)2 File (java.io.File)2 IOException (java.io.IOException)2 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 RemoteException (java.rmi.RemoteException)2 ArchetypeDataSourceException (org.apache.maven.archetype.source.ArchetypeDataSourceException)2 IndexingContext (org.sonatype.nexus.index.context.IndexingContext)2 IndexUpdateRequest (org.sonatype.nexus.index.updater.IndexUpdateRequest)2 Date (java.util.Date)1 WagonManager (org.apache.maven.artifact.manager.WagonManager)1 MavenExecutionRequest (org.apache.maven.execution.MavenExecutionRequest)1 RepositorySystem (org.apache.maven.repository.RepositorySystem)1