implemented rest endpoint for repository types

This commit is contained in:
Sebastian Sdorra
2018-08-02 11:56:35 +02:00
parent b1c65a3a3c
commit 99ecc8cba2
28 changed files with 545 additions and 32 deletions

View File

@@ -35,6 +35,7 @@ package sonia.scm;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.repository.RepositoryType;
import sonia.scm.security.PermissionDescriptor;
import sonia.scm.user.User;
@@ -82,9 +83,9 @@ public final class ScmState
* @since 2.0.0
*/
public ScmState(String version, User user, Collection<String> groups,
String token, Collection<Type> repositoryTypes, String defaultUserType,
ScmClientConfig clientConfig, List<String> assignedPermission,
List<PermissionDescriptor> availablePermissions)
String token, Collection<RepositoryType> repositoryTypes, String defaultUserType,
ScmClientConfig clientConfig, List<String> assignedPermission,
List<PermissionDescriptor> availablePermissions)
{
this.version = version;
this.user = user;
@@ -165,7 +166,7 @@ public final class ScmState
*
* @return all available repository types
*/
public Collection<Type> getRepositoryTypes()
public Collection<RepositoryType> getRepositoryTypes()
{
return repositoryTypes;
}
@@ -244,7 +245,7 @@ public final class ScmState
/** Field description */
@XmlElement(name = "repositoryTypes")
private Collection<Type> repositoryTypes;
private Collection<RepositoryType> repositoryTypes;
/** Field description */
private User user;

View File

@@ -82,4 +82,7 @@ public interface RepositoryHandler
* @since 1.15
*/
public String getVersionInformation();
@Override
RepositoryType getType();
}

View File

@@ -35,7 +35,6 @@ package sonia.scm.repository;
//~--- non-JDK imports --------------------------------------------------------
import sonia.scm.Type;
import sonia.scm.TypeManager;
import javax.servlet.http.HttpServletRequest;
@@ -100,7 +99,7 @@ public interface RepositoryManager
*
* @return all configured repository types
*/
public Collection<Type> getConfiguredTypes();
public Collection<RepositoryType> getConfiguredTypes();
/**
* Returns the {@link Repository} associated to the request uri.

View File

@@ -103,7 +103,7 @@ public class RepositoryManagerDecorator
* @return
*/
@Override
public Collection<Type> getConfiguredTypes()
public Collection<RepositoryType> getConfiguredTypes()
{
return decorated.getConfiguredTypes();
}

View File

@@ -6,6 +6,7 @@ import javax.ws.rs.core.MediaType;
* Vendor media types used by SCMM.
*/
public class VndMediaType {
private static final String VERSION = "2";
private static final String TYPE = "application";
private static final String SUBTYPE_PREFIX = "vnd.scmm-";
@@ -18,6 +19,8 @@ public class VndMediaType {
public static final String USER_COLLECTION = PREFIX + "userCollection" + SUFFIX;
public static final String GROUP_COLLECTION = PREFIX + "groupCollection" + SUFFIX;
public static final String REPOSITORY_COLLECTION = PREFIX + "repositoryCollection" + SUFFIX;
public static final String REPOSITORY_TYPE_COLLECTION = PREFIX + "repositoryTypeCollection" + SUFFIX;
public static final String REPOSITORY_TYPE = PREFIX + "repositoryType" + SUFFIX;
public static final String ME = PREFIX + "me" + SUFFIX;
private VndMediaType() {