org.apache.ivy.plugins.resolver
Class BasicResolver

java.lang.Object
  extended by org.apache.ivy.plugins.resolver.AbstractResolver
      extended by org.apache.ivy.plugins.resolver.BasicResolver
All Implemented Interfaces:
IvySettingsAware, DependencyResolver, HasLatestStrategy
Direct Known Subclasses:
AbstractResourceResolver

public abstract class BasicResolver
extends AbstractResolver

Author:
Xavier Hanin

Field Summary
protected  java.lang.String _workspaceName
           
static java.text.SimpleDateFormat DATE_FORMAT
           
 
Constructor Summary
BasicResolver()
           
 
Method Summary
protected  boolean acceptLatest()
           
protected  void clearArtifactAttempts()
           
protected  void clearIvyAttempts()
           
 DownloadReport download(Artifact[] artifacts, DownloadOptions options)
           
 boolean exists(Artifact artifact)
          Default implementation actually download the artifact Subclasses should overwrite this to avoid the download
protected abstract  ResolvedResource findArtifactRef(Artifact artifact, java.util.Date date)
           
protected  ResolvedResource findFirstArtifactRef(ModuleDescriptor md, DependencyDescriptor dd, ResolveData data)
           
protected abstract  ResolvedResource findIvyFileRef(DependencyDescriptor dd, ResolveData data)
           
protected abstract  java.util.Collection findNames(java.util.Map tokenValues, java.lang.String token)
           
protected abstract  long get(Resource resource, java.io.File dest)
           
protected  long getAndCheck(Resource resource, java.io.File dest)
           
protected  ResolvedResource getArtifactRef(Artifact artifact, java.util.Date date)
           
 java.lang.String[] getChecksumAlgorithms()
           
protected  ResourceMDParser getDefaultRMDParser(ModuleId mid)
           
 ResolvedModuleRevision getDependency(DependencyDescriptor dd, ResolveData data)
          Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e. a revision uniquely identifying the revision of a module in the current environment - If this revision is not able to identify uniquelely the revision of the module outside of the current environment, then the resolved revision must begin by ##)
protected  long getPublicationDate(ModuleDescriptor md, DependencyDescriptor dd, ResolveData data)
           
protected  ResourceMDParser getRMDParser(DependencyDescriptor dd, ResolveData data)
           
 java.lang.String getWorkspaceName()
           
 boolean isAllownomd()
           
 boolean isCheckconsistency()
           
 boolean isCheckmodified()
          True if this resolver should check lastmodified date to know if ivy files are up to date.
 boolean isEnvDependent()
           
 ModuleEntry[] listModules(OrganisationEntry org)
           
 OrganisationEntry[] listOrganisations()
           
 RevisionEntry[] listRevisions(ModuleEntry mod)
           
 java.lang.String[] listTokenValues(java.lang.String token, java.util.Map otherTokenValues)
          List all the values the given token can take if other tokens are set as described in the otherTokenValues map.
protected  void logArtifactAttempt(Artifact art, java.lang.String attempt)
           
protected static void logAttempt(java.lang.String attempt)
           
protected  void logIvyAttempt(java.lang.String attempt)
           
 ResolvedModuleRevision parse(ResolvedResource ivyRef, DependencyDescriptor dd, ResolveData data)
           
 void reportFailure()
          Reports last resolve failure as Messages
 void reportFailure(Artifact art)
          Reports last artifact download failure as Messages
protected  ResolvedModuleRevision searchedRmr(ResolvedModuleRevision rmr)
           
 void setAllownomd(boolean b)
           
 void setCheckconsistency(boolean checkConsitency)
           
 void setCheckmodified(boolean check)
           
 void setChecksums(java.lang.String checksums)
           
 void setEnvDependent(boolean envDependent)
           
 void setWorkspaceName(java.lang.String workspaceName)
           
 java.lang.String toString()
           
 
Methods inherited from class org.apache.ivy.plugins.resolver.AbstractResolver
checkInterrupted, doValidate, dumpSettings, findModuleInCache, fromSystem, fromSystem, getChangingMatcher, getChangingMatcherName, getChangingPattern, getLatest, getLatestStrategy, getName, getNamespace, getSettings, getSystemNode, getTypeName, hidePassword, isValidate, setChangingMatcher, setChangingPattern, setLatest, setLatestStrategy, setName, setNamespace, setSettings, setValidate, toSystem, toSystem, toSystem, toSystem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.ivy.plugins.resolver.DependencyResolver
publish
 

Field Detail

DATE_FORMAT

public static final java.text.SimpleDateFormat DATE_FORMAT

_workspaceName

protected java.lang.String _workspaceName
Constructor Detail

BasicResolver

public BasicResolver()
Method Detail

getWorkspaceName

public java.lang.String getWorkspaceName()

setWorkspaceName

public void setWorkspaceName(java.lang.String workspaceName)

isEnvDependent

public boolean isEnvDependent()

setEnvDependent

public void setEnvDependent(boolean envDependent)

isCheckmodified

public boolean isCheckmodified()
True if this resolver should check lastmodified date to know if ivy files are up to date.

Returns:

setCheckmodified

public void setCheckmodified(boolean check)

getDependency

public ResolvedModuleRevision getDependency(DependencyDescriptor dd,
                                            ResolveData data)
                                     throws java.text.ParseException
Description copied from interface: DependencyResolver
Resolve a module by id, getting its module descriptor and resolving the revision if it's a latest one (i.e. a revision uniquely identifying the revision of a module in the current environment - If this revision is not able to identify uniquelely the revision of the module outside of the current environment, then the resolved revision must begin by ##)

Throws:
java.text.ParseException

parse

public ResolvedModuleRevision parse(ResolvedResource ivyRef,
                                    DependencyDescriptor dd,
                                    ResolveData data)
                             throws java.text.ParseException
Throws:
java.text.ParseException

getRMDParser

protected ResourceMDParser getRMDParser(DependencyDescriptor dd,
                                        ResolveData data)

getDefaultRMDParser

protected ResourceMDParser getDefaultRMDParser(ModuleId mid)

clearIvyAttempts

protected void clearIvyAttempts()

searchedRmr

protected ResolvedModuleRevision searchedRmr(ResolvedModuleRevision rmr)

logIvyAttempt

protected void logIvyAttempt(java.lang.String attempt)

logArtifactAttempt

protected void logArtifactAttempt(Artifact art,
                                  java.lang.String attempt)

logAttempt

protected static void logAttempt(java.lang.String attempt)

reportFailure

public void reportFailure()
Description copied from interface: DependencyResolver
Reports last resolve failure as Messages

Specified by:
reportFailure in interface DependencyResolver
Overrides:
reportFailure in class AbstractResolver

reportFailure

public void reportFailure(Artifact art)
Description copied from interface: DependencyResolver
Reports last artifact download failure as Messages

Specified by:
reportFailure in interface DependencyResolver
Overrides:
reportFailure in class AbstractResolver

acceptLatest

protected boolean acceptLatest()

download

public DownloadReport download(Artifact[] artifacts,
                               DownloadOptions options)

clearArtifactAttempts

protected void clearArtifactAttempts()

exists

public boolean exists(Artifact artifact)
Description copied from class: AbstractResolver
Default implementation actually download the artifact Subclasses should overwrite this to avoid the download

Specified by:
exists in interface DependencyResolver
Overrides:
exists in class AbstractResolver

getPublicationDate

protected long getPublicationDate(ModuleDescriptor md,
                                  DependencyDescriptor dd,
                                  ResolveData data)

toString

public java.lang.String toString()
Overrides:
toString in class AbstractResolver

listTokenValues

public java.lang.String[] listTokenValues(java.lang.String token,
                                          java.util.Map otherTokenValues)
Description copied from interface: DependencyResolver
List all the values the given token can take if other tokens are set as described in the otherTokenValues map. For instance, if token = "revision" and the map contains "organisation"->"foo" "module"->"bar" The results will be the list of revisions of the module bar from the org foo.

Specified by:
listTokenValues in interface DependencyResolver
Overrides:
listTokenValues in class AbstractResolver

listOrganisations

public OrganisationEntry[] listOrganisations()
Specified by:
listOrganisations in interface DependencyResolver
Overrides:
listOrganisations in class AbstractResolver

listModules

public ModuleEntry[] listModules(OrganisationEntry org)
Specified by:
listModules in interface DependencyResolver
Overrides:
listModules in class AbstractResolver

listRevisions

public RevisionEntry[] listRevisions(ModuleEntry mod)
Specified by:
listRevisions in interface DependencyResolver
Overrides:
listRevisions in class AbstractResolver

findNames

protected abstract java.util.Collection findNames(java.util.Map tokenValues,
                                                  java.lang.String token)

findIvyFileRef

protected abstract ResolvedResource findIvyFileRef(DependencyDescriptor dd,
                                                   ResolveData data)

findFirstArtifactRef

protected ResolvedResource findFirstArtifactRef(ModuleDescriptor md,
                                                DependencyDescriptor dd,
                                                ResolveData data)

getAndCheck

protected long getAndCheck(Resource resource,
                           java.io.File dest)
                    throws java.io.IOException
Throws:
java.io.IOException

getArtifactRef

protected ResolvedResource getArtifactRef(Artifact artifact,
                                          java.util.Date date)

findArtifactRef

protected abstract ResolvedResource findArtifactRef(Artifact artifact,
                                                    java.util.Date date)

get

protected abstract long get(Resource resource,
                            java.io.File dest)
                     throws java.io.IOException
Throws:
java.io.IOException

isCheckconsistency

public boolean isCheckconsistency()

setCheckconsistency

public void setCheckconsistency(boolean checkConsitency)

isAllownomd

public boolean isAllownomd()

setAllownomd

public void setAllownomd(boolean b)

getChecksumAlgorithms

public java.lang.String[] getChecksumAlgorithms()

setChecksums

public void setChecksums(java.lang.String checksums)