mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-11 07:55:47 +01:00
added isSupported method for repository features to RepositoryService
This commit is contained in:
@@ -39,6 +39,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import sonia.scm.cache.CacheManager;
|
import sonia.scm.cache.CacheManager;
|
||||||
|
import sonia.scm.repository.Feature;
|
||||||
import sonia.scm.repository.PreProcessorUtil;
|
import sonia.scm.repository.PreProcessorUtil;
|
||||||
import sonia.scm.repository.Repository;
|
import sonia.scm.repository.Repository;
|
||||||
import sonia.scm.repository.spi.RepositoryServiceProvider;
|
import sonia.scm.repository.spi.RepositoryServiceProvider;
|
||||||
@@ -295,6 +296,19 @@ public final class RepositoryService implements Closeable
|
|||||||
return provider.getSupportedCommands().contains(command);
|
return provider.getSupportedCommands().contains(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if the feature is supported by the repository service.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param feature feature
|
||||||
|
*
|
||||||
|
* @return true if the feature is supported
|
||||||
|
*/
|
||||||
|
public boolean isSupported(Feature feature)
|
||||||
|
{
|
||||||
|
return provider.getSupportedFeatures().contains(feature);
|
||||||
|
}
|
||||||
|
|
||||||
//~--- fields ---------------------------------------------------------------
|
//~--- fields ---------------------------------------------------------------
|
||||||
|
|
||||||
/** cache manager */
|
/** cache manager */
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ package sonia.scm.repository.spi;
|
|||||||
|
|
||||||
//~--- non-JDK imports --------------------------------------------------------
|
//~--- non-JDK imports --------------------------------------------------------
|
||||||
|
|
||||||
|
import sonia.scm.repository.Feature;
|
||||||
import sonia.scm.repository.api.Command;
|
import sonia.scm.repository.api.Command;
|
||||||
import sonia.scm.repository.api.CommandNotSupportedException;
|
import sonia.scm.repository.api.CommandNotSupportedException;
|
||||||
|
|
||||||
@@ -43,6 +44,7 @@ import sonia.scm.repository.api.CommandNotSupportedException;
|
|||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -146,6 +148,17 @@ public abstract class RepositoryServiceProvider implements Closeable
|
|||||||
throw new CommandNotSupportedException(Command.LOG);
|
throw new CommandNotSupportedException(Command.LOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Set<Feature> getSupportedFeatures()
|
||||||
|
{
|
||||||
|
return Collections.EMPTY_SET;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -72,9 +72,6 @@ import java.io.OutputStream;
|
|||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.xml.bind.JAXBContext;
|
import javax.xml.bind.JAXBContext;
|
||||||
import javax.xml.bind.JAXBException;
|
import javax.xml.bind.JAXBException;
|
||||||
|
|
||||||
@@ -101,15 +98,11 @@ public class HgRepositoryHandler
|
|||||||
/** Field description */
|
/** Field description */
|
||||||
public static final String TYPE_NAME = "hg";
|
public static final String TYPE_NAME = "hg";
|
||||||
|
|
||||||
/** Field description */
|
|
||||||
private static final Set<Feature> SUPPORTED_FEATURES =
|
|
||||||
EnumSet.of(Feature.COMBINED_DEFAULT_BRANCH);
|
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
public static final Type TYPE = new RepositoryType(TYPE_NAME,
|
public static final Type TYPE = new RepositoryType(TYPE_NAME,
|
||||||
TYPE_DISPLAYNAME,
|
TYPE_DISPLAYNAME,
|
||||||
HgRepositoryServiceProvider.COMMANDS,
|
HgRepositoryServiceProvider.COMMANDS,
|
||||||
SUPPORTED_FEATURES);
|
HgRepositoryServiceProvider.FEATURES);
|
||||||
|
|
||||||
/** the logger for HgRepositoryHandler */
|
/** the logger for HgRepositoryHandler */
|
||||||
private static final Logger logger =
|
private static final Logger logger =
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import com.google.common.collect.ImmutableSet;
|
|||||||
import com.google.common.io.Closeables;
|
import com.google.common.io.Closeables;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
|
||||||
|
import sonia.scm.repository.Feature;
|
||||||
import sonia.scm.repository.HgContext;
|
import sonia.scm.repository.HgContext;
|
||||||
import sonia.scm.repository.HgRepositoryHandler;
|
import sonia.scm.repository.HgRepositoryHandler;
|
||||||
import sonia.scm.repository.Repository;
|
import sonia.scm.repository.Repository;
|
||||||
@@ -49,6 +50,7 @@ import sonia.scm.repository.api.Command;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,11 +61,14 @@ public class HgRepositoryServiceProvider extends RepositoryServiceProvider
|
|||||||
{
|
{
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
public static final Set<Command> COMMANDS = ImmutableSet.of(Command.BLAME,
|
public static final Set<Command> COMMANDS = EnumSet.of(Command.BLAME,
|
||||||
Command.BROWSE, Command.CAT,
|
Command.BROWSE, Command.CAT,
|
||||||
Command.DIFF, Command.LOG,
|
Command.DIFF, Command.LOG,
|
||||||
Command.TAGS,
|
Command.TAGS, Command.BRANCHES);
|
||||||
Command.BRANCHES);
|
|
||||||
|
/** Field description */
|
||||||
|
public static final Set<Feature> FEATURES =
|
||||||
|
EnumSet.of(Feature.COMBINED_DEFAULT_BRANCH);
|
||||||
|
|
||||||
//~--- constructors ---------------------------------------------------------
|
//~--- constructors ---------------------------------------------------------
|
||||||
|
|
||||||
@@ -187,6 +192,18 @@ public class HgRepositoryServiceProvider extends RepositoryServiceProvider
|
|||||||
return COMMANDS;
|
return COMMANDS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Set<Feature> getSupportedFeatures()
|
||||||
|
{
|
||||||
|
return FEATURES;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user