org.apache.ivy.osgi.repo
Class AbstractOSGiResolver

java.lang.Object
  extended by org.apache.ivy.plugins.resolver.AbstractResolver
      extended by org.apache.ivy.plugins.resolver.BasicResolver
          extended by org.apache.ivy.osgi.repo.AbstractOSGiResolver
All Implemented Interfaces:
Validatable, DependencyResolver, HasLatestStrategy
Direct Known Subclasses:
OBRResolver, UpdateSiteResolver

public abstract class AbstractOSGiResolver
extends BasicResolver


Nested Class Summary
static class AbstractOSGiResolver.RequirementStrategy
           
 
Field Summary
 
Fields inherited from class org.apache.ivy.plugins.resolver.BasicResolver
DATE_FORMAT, DESCRIPTOR_OPTIONAL, DESCRIPTOR_REQUIRED
 
Constructor Summary
AbstractOSGiResolver()
           
 
Method Summary
protected  void checkModuleDescriptorRevision(ModuleDescriptor systemMd, ModuleRevisionId systemMrid)
           
protected  void ensureInit()
           
protected  java.util.Collection filterNames(java.util.Collection names)
          Filters names before returning them in the findXXXNames or findTokenValues method.
 ResolvedResource findArtifactRef(Artifact artifact, java.util.Date date)
           
 ResolvedResource[] findBundle(DependencyDescriptor dd, ResolveData data, java.util.Set mds)
           
 ResolvedResource[] findCapability(DependencyDescriptor dd, ResolveData data, java.util.Set mds)
           
 ResolvedResource findIvyFileRef(DependencyDescriptor dd, ResolveData data)
          Finds the module descriptor for the specified DependencyDescriptor.
protected  java.util.Collection findNames(java.util.Map tokenValues, java.lang.String token)
           
 ResolvedResource findResource(ResolvedResource[] rress, ResourceMDParser rmdparser, ModuleRevisionId mrid, java.util.Date date)
          When the resolver has many choices, this function helps choosing one
protected  long get(Resource resource, java.io.File dest)
           
 URLRepository getRepository()
           
protected  Resource getResource(java.lang.String source)
           
protected abstract  void init()
           
 boolean isAllownomd()
           
 java.util.Map[] listTokenValues(java.lang.String[] tokens, java.util.Map criteria)
          Same as DependencyResolver.listTokenValues(String, Map) but more generic.
 void publish(Artifact artifact, java.io.File src, boolean overwrite)
           
protected  void setRepoDescriptor(RepoDescriptor repoDescriptor)
           
 void setRequirementStrategy(AbstractOSGiResolver.RequirementStrategy importPackageStrategy)
           
 void setRequirementStrategy(java.lang.String strategy)
           
 
Methods inherited from class org.apache.ivy.plugins.resolver.BasicResolver
acceptLatest, clearArtifactAttempts, clearIvyAttempts, doFindArtifactRef, download, download, exists, findFirstArtifactRef, getAndCheck, getArtifactRef, getChecksumAlgorithms, getDefaultRMDParser, getDependency, getPublicationDate, getRMDParser, getWorkspaceName, isCheckconsistency, isEnvDependent, isForce, listModules, listOrganisations, listRevisions, listTokenValues, locate, logArtifactAttempt, logAttempt, logIvyAttempt, parse, reportFailure, reportFailure, setAllownomd, setCheckconsistency, setChecksums, setDescriptor, setEnvDependent, setForce, setWorkspaceName, shouldReturnResolvedModule, toString
 
Methods inherited from class org.apache.ivy.plugins.resolver.AbstractResolver
abortPublishTransaction, beginPublishTransaction, checkInterrupted, checkLatest, commitPublishTransaction, doValidate, dumpSettings, findModuleInCache, findModuleInCache, fromSystem, fromSystem, getCacheDownloadOptions, getCacheOptions, getChangingMatcherName, getChangingPattern, getDownloadOptions, getEventManager, getLatest, getLatestStrategy, getName, getNamespace, getParserSettings, getRepositoryCacheManager, getSettings, getSystemNode, getTypeName, hidePassword, isAfter, isValidate, saveModuleRevisionIfNeeded, setCache, setChangingMatcher, setChangingPattern, setCheckmodified, setEventManager, setLatest, setLatestStrategy, setName, setNamespace, setRepositoryCacheManager, setSettings, setValidate, toSystem, toSystem, toSystem, toSystem, toSystem, toSystem, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractOSGiResolver

public AbstractOSGiResolver()
Method Detail

setRequirementStrategy

public void setRequirementStrategy(AbstractOSGiResolver.RequirementStrategy importPackageStrategy)

setRequirementStrategy

public void setRequirementStrategy(java.lang.String strategy)

setRepoDescriptor

protected void setRepoDescriptor(RepoDescriptor repoDescriptor)

getRepository

public URLRepository getRepository()

ensureInit

protected void ensureInit()

init

protected abstract void init()

isAllownomd

public boolean isAllownomd()
Overrides:
isAllownomd in class BasicResolver

findIvyFileRef

public ResolvedResource findIvyFileRef(DependencyDescriptor dd,
                                       ResolveData data)
Description copied from interface: DependencyResolver
Finds the module descriptor for the specified DependencyDescriptor. If this resolver can't find the module descriptor, null is returned.

Parameters:
dd - the dependency descriptor
data - the resolve data
Returns:
the module descriptor, or null

findBundle

public ResolvedResource[] findBundle(DependencyDescriptor dd,
                                     ResolveData data,
                                     java.util.Set mds)

findCapability

public ResolvedResource[] findCapability(DependencyDescriptor dd,
                                         ResolveData data,
                                         java.util.Set mds)

findResource

public ResolvedResource findResource(ResolvedResource[] rress,
                                     ResourceMDParser rmdparser,
                                     ModuleRevisionId mrid,
                                     java.util.Date date)
Description copied from class: BasicResolver
When the resolver has many choices, this function helps choosing one

Overrides:
findResource in class BasicResolver
Parameters:
rress - the list of resolved resource which the resolver found to fit the requirement
rmdparser - the parser of module descriptor
mrid - the module being resolved
date - the current date
Returns:
the selected resource

findArtifactRef

public ResolvedResource findArtifactRef(Artifact artifact,
                                        java.util.Date date)
Specified by:
findArtifactRef in class BasicResolver

checkModuleDescriptorRevision

protected void checkModuleDescriptorRevision(ModuleDescriptor systemMd,
                                             ModuleRevisionId systemMrid)
Overrides:
checkModuleDescriptorRevision in class BasicResolver

filterNames

protected java.util.Collection filterNames(java.util.Collection names)
Description copied from class: BasicResolver
Filters names before returning them in the findXXXNames or findTokenValues method.

Remember to call the super implementation when overriding this method.

Overrides:
filterNames in class BasicResolver
Parameters:
names - the list to filter.
Returns:
the filtered list

findNames

protected java.util.Collection findNames(java.util.Map tokenValues,
                                         java.lang.String token)
Specified by:
findNames in class BasicResolver

listTokenValues

public java.util.Map[] listTokenValues(java.lang.String[] tokens,
                                       java.util.Map criteria)
Description copied from interface: DependencyResolver
Same as DependencyResolver.listTokenValues(String, Map) but more generic.

Specified by:
listTokenValues in interface DependencyResolver
Overrides:
listTokenValues in class AbstractResolver
Parameters:
tokens - the tokens of the query
criteria - the token which have values
Returns:
the list of token values (Map[]), must not be null

get

protected long get(Resource resource,
                   java.io.File dest)
            throws java.io.IOException
Specified by:
get in class BasicResolver
Throws:
java.io.IOException

getResource

protected Resource getResource(java.lang.String source)
                        throws java.io.IOException
Specified by:
getResource in class BasicResolver
Throws:
java.io.IOException

publish

public void publish(Artifact artifact,
                    java.io.File src,
                    boolean overwrite)
             throws java.io.IOException
Throws:
java.io.IOException