Browse Source

Adding layout method

pull/61/head
Martin Stockhammer 4 years ago
parent
commit
b804db6599

+ 6
- 0
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContent.java View File

@@ -193,4 +193,10 @@ public interface ManagedRepositoryContent extends RepositoryContent
* @return <code>true</code>, if the layout is supported, otherwise <code>false</code>
*/
<T extends ManagedRepositoryContentLayout> boolean supportsLayout(Class<T> clazz);

/**
* Returns a list of supported layout classes
* @return
*/
List<Class<? extends ManagedRepositoryContentLayout>> getSupportedLayouts( );
}

+ 1
- 0
archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/repository/ManagedRepositoryContentLayout.java View File

@@ -48,4 +48,5 @@ public interface ManagedRepositoryContentLayout
* @throws LayoutException if the conversion is not possible
*/
<T extends ContentItem> T adaptItem( Class<T> clazz, ContentItem item ) throws LayoutException;

}

+ 9
- 0
archiva-modules/archiva-maven/archiva-maven-repository/src/main/java/org/apache/archiva/repository/maven/content/ManagedDefaultRepositoryContent.java View File

@@ -65,6 +65,7 @@ import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -120,6 +121,8 @@ public class ManagedDefaultRepositoryContent

public static final Pattern GENERIC_SNAPSHOT_PATTERN = Pattern.compile( "^(.*)-" + SNAPSHOT );

private static final List<Class<? extends ManagedRepositoryContentLayout>> LAYOUTS = Arrays.asList( BaseRepositoryContentLayout.class );

/**
* We are caching content items in a weak reference map. To avoid always recreating the
* the hierarchical structure.
@@ -1461,6 +1464,12 @@ public class ManagedDefaultRepositoryContent
return clazz.isAssignableFrom( this.getClass( ) );
}

@Override
public List<Class<? extends ManagedRepositoryContentLayout>> getSupportedLayouts( )
{
return LAYOUTS;
}

/**
* Moves the file to the artifact destination
*/

Loading…
Cancel
Save