mirror of https://github.com/apache/archiva.git
Fixing path matching for repository content
This commit is contained in:
parent
2b4254a391
commit
c7a924305a
|
@ -58,6 +58,18 @@ public interface ManagedRepositoryContent extends RepositoryContent
|
||||||
*/
|
*/
|
||||||
void deleteItem( ContentItem item) throws ItemNotFoundException, ContentAccessException;
|
void deleteItem( ContentItem item) throws ItemNotFoundException, ContentAccessException;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a item for the given selector. The type of the returned item depends on the
|
||||||
|
* selector.
|
||||||
|
*
|
||||||
|
* @param selector the item selector
|
||||||
|
* @return the content item that matches the given selector
|
||||||
|
* @throws ContentAccessException if an error occured while accessing the backend
|
||||||
|
* @throws IllegalArgumentException if the selector does not select a valid content item
|
||||||
|
*/
|
||||||
|
ContentItem getItem(ItemSelector selector) throws ContentAccessException, IllegalArgumentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the namespace for the given selected coordinates. The selector must specify a namespace. All other
|
* Returns the namespace for the given selected coordinates. The selector must specify a namespace. All other
|
||||||
* coordinates are ignored.
|
* coordinates are ignored.
|
||||||
|
|
|
@ -81,6 +81,12 @@ public class ManagedRepositoryContentMock implements ManagedRepositoryContent
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentItem getItem( ItemSelector selector ) throws ContentAccessException, IllegalArgumentException
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Namespace getNamespace( ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
public Namespace getNamespace( ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
||||||
{
|
{
|
||||||
|
|
|
@ -97,6 +97,12 @@ public class ManagedRepositoryContentMock implements ManagedRepositoryContent
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentItem getItem( ItemSelector selector ) throws ContentAccessException, IllegalArgumentException
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Namespace getNamespace( ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
public Namespace getNamespace( ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
||||||
{
|
{
|
||||||
|
@ -181,6 +187,18 @@ public class ManagedRepositoryContentMock implements ManagedRepositoryContent
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentItem toItem( String path ) throws LayoutException
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentItem toItem( StorageAsset assetPath ) throws LayoutException
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteVersion( VersionedReference reference ) throws ContentNotFoundException, ContentAccessException
|
public void deleteVersion( VersionedReference reference ) throws ContentNotFoundException, ContentAccessException
|
||||||
{
|
{
|
||||||
|
|
|
@ -101,6 +101,12 @@ public class ManagedRepositoryContentMock implements ManagedRepositoryContent
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentItem getItem( ItemSelector selector ) throws ContentAccessException, IllegalArgumentException
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Namespace getNamespace( ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
public Namespace getNamespace( ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
||||||
{
|
{
|
||||||
|
|
|
@ -58,6 +58,11 @@ public abstract class AbstractDefaultRepositoryContent implements RepositoryCont
|
||||||
private PathParser defaultPathParser = new DefaultPathParser();
|
private PathParser defaultPathParser = new DefaultPathParser();
|
||||||
|
|
||||||
|
|
||||||
|
PathParser getPathParser() {
|
||||||
|
return defaultPathParser;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
|
@ -199,6 +199,20 @@ public class ManagedDefaultRepositoryContent
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentItem getItem( ItemSelector selector ) throws ContentAccessException, IllegalArgumentException
|
||||||
|
{
|
||||||
|
if (selector.hasVersion() && selector.hasArtifactId()) {
|
||||||
|
return getArtifact( selector );
|
||||||
|
} else if (selector.hasProjectId() && selector.hasVersion()) {
|
||||||
|
return getVersion( selector );
|
||||||
|
} else if (selector.hasProjectId()) {
|
||||||
|
return getProject( selector );
|
||||||
|
} else {
|
||||||
|
return getNamespace( selector );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Namespace getNamespace( final ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
public Namespace getNamespace( final ItemSelector namespaceSelector ) throws ContentAccessException, IllegalArgumentException
|
||||||
{
|
{
|
||||||
|
@ -620,13 +634,14 @@ public class ManagedDefaultRepositoryContent
|
||||||
@Override
|
@Override
|
||||||
public ContentItem toItem( String path ) throws LayoutException
|
public ContentItem toItem( String path ) throws LayoutException
|
||||||
{
|
{
|
||||||
return getItemFromPath( getAssetByPath( path ) );
|
ItemSelector selector = getPathParser( ).toItemSelector( path );
|
||||||
|
return getItem( selector );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ContentItem toItem( StorageAsset assetPath ) throws LayoutException
|
public ContentItem toItem( StorageAsset assetPath ) throws LayoutException
|
||||||
{
|
{
|
||||||
return getItemFromPath( assetPath );
|
return toItem( assetPath.getPath( ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/// ************* End of new generation interface ******************
|
/// ************* End of new generation interface ******************
|
||||||
|
|
Loading…
Reference in New Issue