Package org.apache.ivy.core.event

Examples of org.apache.ivy.core.event.EventManager


    public DownloadReport download(Artifact[] artifacts, DownloadOptions options) {
      IvyContext.getContext().pushResolver(this);
      try {
        CacheManager cacheManager = options.getCacheManager();
        EventManager eventManager = options.getEventManager();

        boolean useOrigin = options.isUseOrigin();

        clearArtifactAttempts();
        DownloadReport dr = new DownloadReport();
        for (int i = 0; i < artifacts.length; i++) {
          final ArtifactDownloadReport adr = new ArtifactDownloadReport(artifacts[i]);
          dr.addArtifactReport(adr);
          if (eventManager != null) {
            eventManager.fireIvyEvent(new NeedArtifactEvent(this, artifacts[i]));
          }
          ArtifactOrigin origin = cacheManager.getSavedArtifactOrigin(artifacts[i]);
          // if we can use origin file, we just ask ivy for the file in cache, and it will return
          // the original one if possible. If we are not in useOrigin mode, we use the getArchivePath
          // method which always return a path in the actual cache
          File archiveFile = cacheManager.getArchiveFileInCache(artifacts[i], origin, options.isUseOrigin());

          if (archiveFile.exists()) {
            Message.verbose("\t[NOT REQUIRED] "+artifacts[i]);
            adr.setDownloadStatus(DownloadStatus.NO)
            adr.setSize(archiveFile.length());
            adr.setArtifactOrigin(origin);
          } else {
            Artifact artifact = fromSystem(artifacts[i]);
            if (!artifact.equals(artifacts[i])) {
              Message.verbose("\t"+getName()+"looking for artifact "+artifact+ " (is "+artifacts[i]+" in system namespace)");
            }
            long start = System.currentTimeMillis();
            try {
              ResolvedResource artifactRef = getArtifactRef(artifact, null);
              if (artifactRef != null) {
                origin = new ArtifactOrigin(artifactRef.getResource().isLocal(), artifactRef.getResource().getName());
                if (useOrigin && artifactRef.getResource().isLocal()) {
                  Message.verbose("\t[NOT REQUIRED] "+artifacts[i]);
                  cacheManager.saveArtifactOrigin(artifacts[i], origin);
                  archiveFile = cacheManager.getArchiveFileInCache(artifacts[i], origin);
                  adr.setDownloadStatus(DownloadStatus.NO)
                  adr.setSize(archiveFile.length());
                  adr.setArtifactOrigin(origin);
                } else {
                  // refresh archive file now that we better now its origin
                  archiveFile = cacheManager.getArchiveFileInCache(artifacts[i], origin, useOrigin);
                  if (ResourceHelper.equals(artifactRef.getResource(),
                      archiveFile)) {
                    Message.error("invalid configuration for resolver '"+getName()+"': pointing artifacts to ivy cache is forbidden !");
                    return null;
                  }
                  Message.info("downloading "+artifactRef.getResource()+" ...");
                  if (eventManager != null) {
                    eventManager.fireIvyEvent(new StartArtifactDownloadEvent(this, artifacts[i], origin));
                  }

                  File tmp = cacheManager.getArchiveFileInCache(
                      new DefaultArtifact(
                          artifacts[i].getModuleRevisionId(),
                          artifacts[i].getPublicationDate(),
                          artifacts[i].getName(),
                          artifacts[i].getType(),
                          artifacts[i].getExt()+".part",
                          artifacts[i].getExtraAttributes()),
                          origin, useOrigin);

                  // deal with artifact with url special case
                  if (artifactRef.getResource().getName().equals(String.valueOf(artifacts[i].getUrl()))) {
                    Message.verbose("\t"+getName()+": downloading "+artifactRef.getResource().getName());
                    Message.debug("\t\tto "+tmp);
                    if (tmp.getParentFile() != null) {
                      tmp.getParentFile().mkdirs();
                    }
                    _extartifactrep.get(artifactRef.getResource().getName(), tmp);
                    adr.setSize(tmp.length());
                  } else {
                    adr.setSize(getAndCheck(artifactRef.getResource(), tmp));
                  }
                  if (!tmp.renameTo(archiveFile)) {
                    Message.warn("\t[FAILED     ] "+artifacts[i]+" impossible to move temp file to definitive one ("+(System.currentTimeMillis()-start)+"ms)");
                    adr.setDownloadStatus(DownloadStatus.FAILED);
                  } else {
                    cacheManager.saveArtifactOrigin(artifacts[i], origin);
                    Message.info("\t[SUCCESSFUL ] "+artifacts[i]+" ("+(System.currentTimeMillis()-start)+"ms)");
                    adr.setDownloadStatus(DownloadStatus.SUCCESSFUL);
                    adr.setArtifactOrigin(origin);
                  }
                }
              } else {
                adr.setDownloadStatus(DownloadStatus.FAILED);               
              }
            } catch (Exception ex) {
              Message.warn("\t[FAILED     ] "+artifacts[i]+" : "+ex.getMessage()+" ("+(System.currentTimeMillis()-start)+"ms)");
              adr.setDownloadStatus(DownloadStatus.FAILED);
            }
            checkInterrupted();
          }
          if (eventManager != null) {
            eventManager.fireIvyEvent(new EndArtifactDownloadEvent(this, artifacts[i], adr, archiveFile));
          }
        }
        return dr;
      } finally {
        IvyContext.getContext().popResolver();
View Full Code Here


            csFile.delete();
        }
    }

    public DownloadReport download(Artifact[] artifacts, DownloadOptions options) {
        EventManager eventManager = getEventManager();
        try {
            if (eventManager != null) {
                repository.addTransferListener(eventManager);
            }
            return super.download(artifacts, options);
View Full Code Here

        setupLastModified();
    }

    protected void setUp() throws Exception {
        settings = new IvySettings();
        engine = new ResolveEngine(settings, new EventManager(), new SortEngine(settings));
        cache = new File("build/cache");
        data = new ResolveData(engine, new ResolveOptions());
        cache.mkdirs();
        settings.setDefaultCache(cache);
        cacheManager = (DefaultRepositoryCacheManager) settings.getDefaultRepositoryCacheManager();
View Full Code Here

        registerConsoleLogger(ivy, module.getProject());
        return ivy;
    }

    private static void postConfigure(final Ivy ivy) {
        EventManager eventManager = ivy.getEventManager();
        Collection triggers = ivy.getSettings().getTriggers();
        for (Iterator iter = triggers.iterator(); iter.hasNext();) {
            Trigger trigger = (Trigger) iter.next();
            eventManager.addIvyListener(trigger, trigger.getEventFilter());
        }

        for (Iterator iter = ivy.getSettings().getResolvers().iterator(); iter.hasNext();) {
            Object resolver = iter.next();
            if (resolver instanceof BasicResolver) {
View Full Code Here

    private File _cache;

    protected void setUp() throws Exception {
        _settings = new IvySettings();
        _engine = new ResolveEngine(_settings, new EventManager(), new SortEngine(_settings));
        _cache = new File("build/cache");
        _data = new ResolveData(_engine, new ResolveOptions());
        _cache.mkdirs();
        _settings.setDefaultCache(_cache);
    }
View Full Code Here

    private File _cache;

    protected void setUp() throws Exception {
        _settings = new IvySettings();
        _engine = new ResolveEngine(_settings, new EventManager(), new SortEngine(_settings));
        _cache = new File("build/cache");
        _data = new ResolveData(_engine, new ResolveOptions());
        _cache.mkdirs();
        _settings.setDefaultCache(_cache);
    }
View Full Code Here

    private File _cache;

    protected void setUp() throws Exception {
        _settings = new IvySettings();
        _engine = new ResolveEngine(_settings, new EventManager(), new SortEngine(_settings));
        _cache = new File("build/cache");
        _data = new ResolveData(_engine, new ResolveOptions());
        _cache.mkdirs();
        _settings.setDefaultCache(_cache);
    }
View Full Code Here

    private File cache;
   
    protected void setUp() throws Exception {
        settings = new IvySettings();
        engine = new ResolveEngine(settings, new EventManager(), new SortEngine(settings));
        cache = new File("build/cache");
        data = new ResolveData(engine, new ResolveOptions());
        cache.mkdirs();
        settings.setDefaultCache(cache);
    }
View Full Code Here

            IvySettings settings, FileSystemResolver resolver, String module)
            throws ParseException {
        return resolver.getDependency(
            new DefaultDependencyDescriptor(ModuleRevisionId.parse(module), false),
            new ResolveData(
                new ResolveEngine(settings, new EventManager(), new SortEngine(settings)),
                new ResolveOptions()));
    }
View Full Code Here

        setupLastModified();
    }

    protected void setUp() throws Exception {
        settings = new IvySettings();
        engine = new ResolveEngine(settings, new EventManager(), new SortEngine(settings));
        cache = new File("build/cache");
        data = new ResolveData(engine, new ResolveOptions());
        cache.mkdirs();
        settings.setDefaultCache(cache);
        cacheManager = (DefaultRepositoryCacheManager) settings.getDefaultRepositoryCacheManager();
View Full Code Here

TOP

Related Classes of org.apache.ivy.core.event.EventManager

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.