mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-10-26 00:56:09 +02:00
Fix javadoc errors
Tasks.documentation.javadoc threw around 50 errors due to multiple inconsistencies within the javadoc comments. Furthermore, the option 'failOnError' is now set to 'true' so that future Javadoc errors in our codebase are avoided.
This commit is contained in:
@@ -19,7 +19,7 @@ repositories.
|
||||
- Useful plugins available
|
||||
- Licensed under AGPL-3.0-only
|
||||
|
||||
This branch (`develop`) is for the development of SCM-Manager 2.x. If you are interested in the development of version
|
||||
This branch (`develop`) is for the development of SCM-Manager. If you are interested in the development of version
|
||||
1.x, please checkout the branch `support/1.x`.
|
||||
|
||||
## News
|
||||
|
||||
@@ -44,7 +44,7 @@ class JavaModulePlugin implements Plugin<Project> {
|
||||
}
|
||||
|
||||
project.tasks.withType(Javadoc) {
|
||||
failOnError false
|
||||
failOnError true
|
||||
}
|
||||
|
||||
project.sonarqube {
|
||||
|
||||
9
docs/de/development/javadoc.md
Normal file
9
docs/de/development/javadoc.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Javadoc
|
||||
---
|
||||
|
||||
Die Javadoc finden Sie unter [javadoc](https://scm-manager.org/javadoc/).
|
||||
|
||||
### Entwicklungshinweis
|
||||
Bitte beachten Sie, dass Fehler (Errors) in Javadoc-Kommentaren zum beabsichtigten Scheitern des Build-Prozesses führen.
|
||||
Zudem wird dazu geraten, Warnhinweise bei neu hinzugefügten Javadoc-Kommentaren zu vermeiden.
|
||||
@@ -1,14 +1,14 @@
|
||||
---
|
||||
title: Dokumentation
|
||||
subtitle: SCM-Manager Dokumentation
|
||||
subtitle: SCM-Manager-Dokumentation
|
||||
---
|
||||
Diese Dokumentation beschreibt die Verwaltung und Verwendung vom SCM-Manager. Sie steht in verschiedenen Sprachen und Versionen zur Verfügung, die im Menü rechts ausgewählt werden können.
|
||||
|
||||
Der SCM-Manager 2 ist ein extrem leichtgewichtiges Source Code Management-Tool und kann über eine Vielzahl von Plugins individuell erweitert werden.
|
||||
Der SCM-Manager ist ein extrem leichtgewichtiges Source-Code-Management-Tool und kann über eine Vielzahl von Plugins individuell erweitert werden.
|
||||
Die Dokumentation zum SCM-Manager ist in fünf verschiedene Kategorien unterteilt:
|
||||
|
||||
- Der Abschnitt "Erste Schritte" beschreibt die Installation und die Konfiguration des SCM-Managers und beantwortet häufig gestellte Fragen.
|
||||
- Der Bereich "Administration" handelt von Themen, die beim Betreiben einer Instanz von Belangen sind.
|
||||
- Unter der Rubrik "Entwicklung" werden alle Informationen zusammengefasst, die für die Weiterentwicklung des SCM-Managers relevant sind. Hierbei wird beschrieben, wie der SCM-Manager gebaut werden kann und was es dabei zu Beachten gilt.
|
||||
- Der Bereich "Pluginentwicklung" legt den Fokus auf den Prozess eben dieser.
|
||||
- Unter dem Abschnitt "Anwenderorientiert" werden aus Anwendersicht die Funktionen des SCM-Managers in der Basis-Variante mit dem Mindest-Set an Plugins beschrieben. Die Features der optionalen Plugins werden in separaten Dokumentationen vorgestellt.
|
||||
- Der Abschnitt „Erste Schritte“ beschreibt die Installation und die Konfiguration des SCM-Managers und beantwortet häufig gestellte Fragen.
|
||||
- Der Bereich „Administration“ handelt von Themen, die beim Betreiben einer Instanz von Belangen sind.
|
||||
- Unter der Rubrik „Entwicklung“ werden alle Informationen zusammengefasst, die für die Weiterentwicklung des SCM-Managers relevant sind. Hierbei wird beschrieben, wie der SCM-Manager gebaut werden kann und was es dabei zu beachten gilt.
|
||||
- Der Bereich „Pluginentwicklung“ legt den Fokus auf den Prozess eben dieser.
|
||||
- Unter dem Abschnitt „Anwenderorientiert“ werden aus Anwendersicht die Funktionen des SCM-Managers in der Basis-Variante mit dem Mindestsatz an Plugins beschrieben. Die Features der optionalen Plugins werden in separaten Dokumentationen vorgestellt.
|
||||
|
||||
@@ -45,7 +45,7 @@ Falls die Lebensdauer verringert wird, wird jeder bisher ausgestellter JWT ungü
|
||||
Sollte in der `config.yml` des Servers die Option "endless JWT" aktiviert sein, dann wird diese Einstellung ignoriert.
|
||||
|
||||
#### Anonyme Zugriff
|
||||
Der SCM-Manager 2 hat das Konzept für anonyme Zugriffe über einen "_anonymous"-Benutzer realisiert. Beim Aktivieren des anonymen Zugriffs wird ein neuer Benutzer erstellt mit dem Namen "_anonymous". Dieser Nutzer kann wie ein gewöhnlicher Benutzer für unterschiedliche Aktionen berechtigt werden. Bei einem Zugriff auf den SCM-Manager ohne Zugangsdaten wird dieser anonyme Benutzer verwendet.
|
||||
Der SCM-Manager hat das Konzept für anonyme Zugriffe über einen "_anonymous"-Benutzer realisiert. Beim Aktivieren des anonymen Zugriffs wird ein neuer Benutzer erstellt mit dem Namen "_anonymous". Dieser Nutzer kann wie ein gewöhnlicher Benutzer für unterschiedliche Aktionen berechtigt werden. Bei einem Zugriff auf den SCM-Manager ohne Zugangsdaten wird dieser anonyme Benutzer verwendet.
|
||||
Ist der anonyme Zugriff nur für Protokoll aktiviert, können die REST API und die VCS Protokolle anonym genutzt werden. Wurde der anonyme Zugriff vollständig aktiviert, ist auch ein Zugriff über den Webclient anonym möglich.
|
||||
|
||||
Beispiel: Falls der anonyme Zugriff aktiviert ist und der "_anonymous"-Benutzer volle Zugriffsrechte auf ein bestimmtes Git-Repository hat, kann jeder über eine Kommandozeile mit den klassischen Git-Befehlen ohne Zugangsdaten auf dieses Repository zugreifen. Zugriffe über SSH werden aktuell nicht unterstützt.
|
||||
|
||||
@@ -9,7 +9,7 @@ title: Building SCM-Manager from Source
|
||||
- Maven 3 or higher ([download](https://maven.apache.org/))
|
||||
- Git ([download](https://git-scm.com/))
|
||||
|
||||
### Build SCM-Manager 2.x from Source
|
||||
### Build SCM-Manager from Source
|
||||
|
||||
```bash
|
||||
git clone https://github.com/scm-manager/scm-manager.git
|
||||
|
||||
@@ -3,3 +3,7 @@ title: Javadoc
|
||||
---
|
||||
|
||||
You can find the Javadoc at [javadoc](https://scm-manager.org/javadoc/).
|
||||
|
||||
### Development note
|
||||
Please keep in mind that any newly introduced Javadoc error causes build breaks by design.
|
||||
Furthermore, it is advised to avoid warnings in case of newly introduced Javadoc comments.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
title: DOD for UI development
|
||||
---
|
||||
|
||||
Use this as a kind of a checklist whenever you develop something in the UI of SCM-Manager 2.x., regardless whether you are developing core features or plugins.
|
||||
Use this as a kind of checklist whenever you develop something in the UI of SCM-Manager, regardless whether you are developing core features or plugins.
|
||||
|
||||
| | Don't forget to |
|
||||
|---|-----------------|
|
||||
|
||||
@@ -4,7 +4,7 @@ subtitle: SCM-Manager Documentation
|
||||
---
|
||||
This documentation describes the administration and usage of SCM-Manager. It is available in different languages and versions, which can be selected in the menu on the right.
|
||||
|
||||
SCM-Manager 2 is an extremely lightweight source code management tool that can be individually extended through a variety of plugins.
|
||||
SCM-Manager is an extremely lightweight source code management tool that can be individually extended through a variety of plugins.
|
||||
This documentation is divided into five categories:
|
||||
|
||||
- The section "Getting started" introduces the installation and configuration of SCM-Manager and answers frequently asked questions.
|
||||
|
||||
@@ -44,7 +44,7 @@ If the amount of hours get reduced, each created JWT will be invalidated.
|
||||
This setting will be ignored, if the endless JWT option is set to true in the server `config.yml`.
|
||||
|
||||
#### Anonymous Access
|
||||
In SCM-Manager 2 the access for anonymous access is realized by using an "_anonymous" user. When the feature is activated, a new user with the name "_anonymous" is created. This user can be authorized just like any other user. This user is used for access to SCM-Manager without login credentials.
|
||||
In SCM-Manager the access for anonymous access is realized by using an "_anonymous" user. When the feature is activated, a new user with the name "_anonymous" is created. This user can be authorized just like any other user. This user is used for access to SCM-Manager without login credentials.
|
||||
If the anonymous mode is protocol only you may access the SCM-Manager via the REST API and VCS protocols. With fully enabled anonymous access you can also use the webclient without credentials.
|
||||
|
||||
Example: If anonymous access is enabled and the "_anonymous" user has full access on a certain Git repository, everybody can access this repository via command line and the classic Git commands without any login credentials. Access via SSH is not supported at this time.
|
||||
|
||||
2
gradle/changelog/javadoc_errors.yaml
Normal file
2
gradle/changelog/javadoc_errors.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
- type: fixed
|
||||
description: Javadoc errors
|
||||
@@ -75,21 +75,21 @@ public abstract class ConfigurationAdapterBase<DAO, DTO extends HalRepresentatio
|
||||
* If either one is missing, you will see {@link IllegalDaoClassException}s on your way.
|
||||
* <br>
|
||||
* The implementation may look like this:
|
||||
* <pre>
|
||||
* @Path("/v2/test")
|
||||
* private static class TestConfigurationAdapter extends ConfigurationAdapterBase<TestConfiguration, TestConfigurationDto> {
|
||||
* <pre><code>
|
||||
* @Path("/v2/test")
|
||||
* private static class TestConfigurationAdapter extends ConfigurationAdapterBase<TestConfiguration, TestConfigurationDto> {
|
||||
*
|
||||
* @Inject
|
||||
* public TestConfigurationResource(ConfigurationStoreFactory configurationStoreFactory, Provider<ScmPathInfoStore> scmPathInfoStoreProvider) {
|
||||
* @Inject
|
||||
* public TestConfigurationResource(ConfigurationStoreFactory configurationStoreFactory, Provider<ScmPathInfoStore> scmPathInfoStoreProvider) {
|
||||
* super(configurationStoreFactory, scmPathInfoStoreProvider, TestConfiguration.class, TestConfigurationDto.class);
|
||||
* }
|
||||
*
|
||||
* @Override
|
||||
* @Override
|
||||
* protected String getName() {
|
||||
* return "testConfig";
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* </code></pre>
|
||||
*
|
||||
* @param configurationStoreFactory The configuration store factory provided from injection.
|
||||
* @param scmPathInfoStoreProvider The path info store provider provided from injection.
|
||||
|
||||
@@ -29,7 +29,6 @@ import java.util.ServiceLoader;
|
||||
* themselves. The ScmEventBus searches its implementation with the
|
||||
* {@link ServiceLoader}.
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @see EventBus
|
||||
* @since 1.23
|
||||
*/
|
||||
|
||||
@@ -23,10 +23,9 @@
|
||||
* <p>The data type provided by {@link sonia.scm.migration.UpdateStepTarget#getAffectedDataType()} can be an arbitrary
|
||||
* string, but it is considered a best practice to use a qualified name, for example
|
||||
* <ul>
|
||||
* <li><code>com.example.myPlugin.configuration</code></li> for data in plugins, or
|
||||
* <li><code>com.cloudogu.scm.repository</code></li> for core data structures.
|
||||
* <li><code>com.example.myPlugin.configuration</code> for data in plugins, or</li>
|
||||
* <li><code>com.cloudogu.scm.repository</code> for core data structures.</li>
|
||||
* </ul>
|
||||
* </p>
|
||||
* <p>The version provided by {@link sonia.scm.migration.UpdateStepTarget#getTargetVersion()} is unrelated to other
|
||||
* versions and therefore can be chosen freely, so that a data type can be updated without in various ways independent
|
||||
* of other data types or the official version of the plugin or the core.
|
||||
@@ -69,17 +68,16 @@
|
||||
* </li>
|
||||
* <li>Finally, these sorted steps are executed one after another calling
|
||||
* {@link sonia.scm.migration.UpdateStep#doUpdate()} of each global step and
|
||||
* {@link sonia.scm.migration.RepositoryUpdateStep#doUpdate(sonia.scm.migration.RepositoryUpdateContext)}</li> for each
|
||||
* {@link sonia.scm.migration.RepositoryUpdateStep#doUpdate(sonia.scm.migration.RepositoryUpdateContext)} for each
|
||||
* repository for repository specific update steps, updating the version for the data type accordingly (if there are
|
||||
* both, global and repository specific update steps for a data type and target version, the global step is called
|
||||
* first), then
|
||||
* both global and repository specific update steps for a data type and target version, the global step is called
|
||||
* first).
|
||||
* </li>
|
||||
* <li>If all works well, SCM-Manager then creates the runtime guice context by loading all further modules.</li>
|
||||
* <li>If any of the update steps fails, the whole process is interrupted and SCM-Manager will not start up and will
|
||||
* not record the version number of this update step.
|
||||
* </li>
|
||||
* </ul>
|
||||
* </p>
|
||||
* <p>Mind that an implementation of this class has to be annotated with {@link sonia.scm.plugin.Extension}, so that the
|
||||
* step will be found. </p>
|
||||
*/
|
||||
|
||||
@@ -50,7 +50,6 @@ import java.io.IOException;
|
||||
* }
|
||||
* </code></pre>
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @since 1.46
|
||||
*/
|
||||
public abstract class AdvancedHttpClient {
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.io.Serializable;
|
||||
/**
|
||||
* The {@link Person} (author) of a changeset.
|
||||
*
|
||||
* @person Sebastian Sdorra
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@EqualsAndHashCode
|
||||
@Getter
|
||||
|
||||
@@ -25,8 +25,6 @@ import java.util.function.Consumer;
|
||||
/**
|
||||
* The central class for managing {@link Repository} objects.
|
||||
* This class is a singleton and is available via injection.
|
||||
*
|
||||
* @apiviz.uses sonia.scm.repository.RepositoryHandler
|
||||
*/
|
||||
public interface RepositoryManager
|
||||
extends TypeManager<Repository, RepositoryHandler> {
|
||||
|
||||
@@ -50,7 +50,7 @@ import java.util.function.Supplier;
|
||||
* for ( FileObject fo : result ){
|
||||
* System.out.println( fo.getPath() );
|
||||
* }
|
||||
* </pre></code>
|
||||
* </code></pre>
|
||||
*
|
||||
* @since 1.17
|
||||
*/
|
||||
|
||||
@@ -59,7 +59,6 @@ import java.util.function.Consumer;
|
||||
* .deleteFile("old/file/to/delete")
|
||||
* .execute();
|
||||
* </pre>
|
||||
* </p>
|
||||
*/
|
||||
public class ModifyCommandBuilder {
|
||||
|
||||
|
||||
@@ -93,8 +93,6 @@ import static sonia.scm.NotFoundException.notFound;
|
||||
* }
|
||||
* </code></pre>
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @apiviz.uses sonia.scm.repository.api.RepositoryService
|
||||
* @since 1.17
|
||||
*/
|
||||
@Singleton
|
||||
|
||||
@@ -39,7 +39,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
* The unbundle command can restore an empty repository from a bundle. The
|
||||
* bundle can be created with the {@link BundleCommandBuilder}.
|
||||
*
|
||||
* @author Sebastian Sdorra <s.sdorra@gmail.com>
|
||||
* @author Sebastian Sdorra
|
||||
* @since 1.43
|
||||
*/
|
||||
public final class UnbundleCommandBuilder
|
||||
|
||||
@@ -23,7 +23,7 @@ import com.google.common.io.ByteSink;
|
||||
/**
|
||||
* Request for the bundle command.
|
||||
*
|
||||
* @author Sebastian Sdorra <s.sdorra@gmail.com>
|
||||
* @author Sebastian Sdorra
|
||||
* @since 1.43
|
||||
*/
|
||||
public final class BundleCommandRequest
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.io.IOException;
|
||||
/**
|
||||
* Service provider implementation for the unbundle command.
|
||||
*
|
||||
* @author Sebastian Sdorra <s.sdorra@gmail.com>
|
||||
* @author Sebastian Sdorra
|
||||
* @since 1.43
|
||||
*/
|
||||
public interface UnbundleCommand
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.function.Consumer;
|
||||
/**
|
||||
* Request object for the unbundle command.
|
||||
*
|
||||
* @author Sebastian Sdorra <s.sdorra@gmail.com>
|
||||
* @author Sebastian Sdorra
|
||||
* @since 1.43
|
||||
*/
|
||||
public final class UnbundleCommandRequest {
|
||||
|
||||
@@ -52,8 +52,6 @@ import static java.util.Optional.of;
|
||||
* If for one repository a working copy is requested, while another is in use already,
|
||||
* the process will wait until the other process has finished.
|
||||
* The number of directories cached is limited. By default, directories are cached for
|
||||
* {@value DEFAULT_WORKING_COPY_POOL_SIZE} repositories. This can be changes with the system
|
||||
* property '{@value WORKING_COPY_POOL_SIZE_PROPERTY}' (if this is set to zero, no caching will
|
||||
* take place; to cache the directories for each repository without eviction simply set this to a
|
||||
* high enough value).
|
||||
* <br>
|
||||
|
||||
@@ -54,7 +54,8 @@ import java.io.File;
|
||||
* <br>
|
||||
* The general process looks like this:
|
||||
* <br>
|
||||
* <img src="doc-files/SimpleWorkingCopyFactory_Sequence.png"/>
|
||||
* <img src="doc-files/SimpleWorkingCopyFactory_Sequence.png" alt="Shows a sequence diagram illustrating the interaction between components in a system related to a working copy process."/>
|
||||
*
|
||||
* @param <R> Type of central repository location
|
||||
* @param <W> Type of working copy for repository
|
||||
* @param <C> Type of repository context
|
||||
@@ -113,7 +114,7 @@ public abstract class SimpleWorkingCopyFactory<R, W, C extends RepositoryProvide
|
||||
* Constructs a new {@link SimpleWorkingCopyFactory}
|
||||
*
|
||||
* @param workingCopyPool pool which provides working copies
|
||||
* @param meterRegistry registry to collect metrics
|
||||
* @param meterRegistry registry to collect metrics
|
||||
*/
|
||||
public SimpleWorkingCopyFactory(WorkingCopyPool workingCopyPool, MeterRegistry meterRegistry) {
|
||||
this.workingCopyPool = workingCopyPool;
|
||||
|
||||
@@ -22,8 +22,6 @@ import java.util.List;
|
||||
* The blob store can be used store unstructured data in form of a {@link Blob}.
|
||||
*
|
||||
* @since 1.23
|
||||
*
|
||||
* @apiviz.uses sonia.scm.store.Blob
|
||||
*/
|
||||
public interface BlobStore extends MultiEntryStore<Blob>
|
||||
{
|
||||
|
||||
@@ -18,26 +18,23 @@ package sonia.scm.store;
|
||||
|
||||
/**
|
||||
* The BlobStoreFactory can be used to create a new or get an existing {@link BlobStore}s.
|
||||
* <br>
|
||||
* You can either create a global {@link BlobStore} or a {@link BlobStore} for a specific repository. To create a global
|
||||
* {@link BlobStore} call:
|
||||
* <code><pre>
|
||||
* blobStoreFactory
|
||||
* .withName("name")
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* To create a {@link BlobStore} for a specific repository call:
|
||||
* <code><pre>
|
||||
* blobStoreFactory
|
||||
* .withName("name")
|
||||
* .forRepository(repository)
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* You can either create a global {@link BlobStore} or a {@link BlobStore} for a specific repository.
|
||||
* <br/>
|
||||
* <br/>
|
||||
* Call this to create a global {@link BlobStore}:
|
||||
* <br/>
|
||||
* <code>
|
||||
* blobStoreFactory.withName("name").build();
|
||||
* </code>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* Call this to create a {@link BlobStore} for a specific repository:
|
||||
* <br/>
|
||||
* <code>
|
||||
* blobStoreFactory.withName("name").forRepository(repository).build();
|
||||
* </code>
|
||||
*
|
||||
* @since 1.23
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @apiviz.uses sonia.scm.store.BlobStore
|
||||
*/
|
||||
public interface BlobStoreFactory {
|
||||
|
||||
|
||||
@@ -17,32 +17,30 @@
|
||||
package sonia.scm.store;
|
||||
|
||||
/**
|
||||
* The ConfigurationEntryStoreFactory can be used to create new or get existing {@link ConfigurationEntryStore}s.
|
||||
* <br>
|
||||
* <b>Note:</b> the default implementation uses the same location as the {@link ConfigurationStoreFactory}, so be sure
|
||||
* that the store names are unique for all {@link ConfigurationEntryStore}s and {@link ConfigurationEntryStore}s.
|
||||
* <br>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* The ConfigurationEntryStoreFactory can be used to create new or get existing {@link ConfigurationEntryStore}s.
|
||||
* <br/>
|
||||
* <br/>
|
||||
* You can either create a global {@link ConfigurationEntryStore} or a {@link ConfigurationEntryStore} for a specific
|
||||
* repository. To create a global {@link ConfigurationEntryStore} call:
|
||||
* <code><pre>
|
||||
* configurationEntryStoreFactory
|
||||
* .withType(PersistedType.class)
|
||||
* .withName("name")
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* To create a {@link ConfigurationEntryStore} for a specific repository call:
|
||||
* <code><pre>
|
||||
* repository. Call this to create a global {@link ConfigurationEntryStore}:
|
||||
* <br/>
|
||||
* <code>configurationEntryStoreFactory.withType(PersistedType.class).withName("name").build();</code>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* Call this to create a {@link ConfigurationEntryStore} for a specific repository:
|
||||
* <br/>
|
||||
* <code>
|
||||
* configurationEntryStoreFactory
|
||||
* .withType(PersistedType.class)
|
||||
* .withName("name")
|
||||
* .forRepository(repository)
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* </code>
|
||||
*
|
||||
* @since 1.31
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @apiviz.uses sonia.scm.store.ConfigurationEntryStore
|
||||
*/
|
||||
public interface ConfigurationEntryStoreFactory {
|
||||
|
||||
|
||||
@@ -18,31 +18,21 @@ package sonia.scm.store;
|
||||
|
||||
|
||||
/**
|
||||
* The ConfigurationStoreFactory can be used to create new or get existing {@link ConfigurationStore} objects.
|
||||
* <br>
|
||||
* <b>Note:</b> the default implementation uses the same location as the {@link ConfigurationEntryStoreFactory}, so be
|
||||
* sure that the store names are unique for all {@link ConfigurationEntryStore}s and {@link ConfigurationStore}s.
|
||||
* <br>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* The ConfigurationStoreFactory can be used to create new or get existing {@link ConfigurationStore} objects.
|
||||
* You can either create a global {@link ConfigurationStore} or a {@link ConfigurationStore} for a specific repository.
|
||||
* To create a global {@link ConfigurationStore} call:
|
||||
* <code><pre>
|
||||
* configurationStoreFactory
|
||||
* .withType(PersistedType.class)
|
||||
* .withName("name")
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* To create a {@link ConfigurationStore} for a specific repository call:
|
||||
* <code><pre>
|
||||
* configurationStoreFactory
|
||||
* .withType(PersistedType.class)
|
||||
* .withName("name")
|
||||
* .forRepository(repository)
|
||||
* .build();
|
||||
* </pre></code>
|
||||
*
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @apiviz.uses sonia.scm.store.ConfigurationStore
|
||||
* <br/>
|
||||
* <br/>
|
||||
* Call this to create a global {@link ConfigurationStore}:
|
||||
* <code>configurationStoreFactory.withType(PersistedType.class).withName("name").build();</code>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* Call this to create a {@link ConfigurationStore} for a specific repository:
|
||||
* <br/>
|
||||
* <code>configurationStoreFactory.withType(PersistedType.class).withName("name").forRepository(repository).build();</code>
|
||||
*/
|
||||
public interface ConfigurationStoreFactory {
|
||||
|
||||
|
||||
@@ -18,28 +18,19 @@ package sonia.scm.store;
|
||||
|
||||
/**
|
||||
* The DataStoreFactory can be used to create new or get existing {@link DataStore}s.
|
||||
* <br>
|
||||
* You can either create a global {@link DataStore} or a {@link DataStore} for a specific repository.
|
||||
* To create a global {@link DataStore} call:
|
||||
* <code><pre>
|
||||
* dataStoreFactory
|
||||
* .withType(PersistedType.class)
|
||||
* .withName("name")
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* To create a {@link DataStore} for a specific repository call:
|
||||
* <code><pre>
|
||||
* dataStoreFactory
|
||||
* .withType(PersistedType.class)
|
||||
* .withName("name")
|
||||
* .forRepository(repository)
|
||||
* .build();
|
||||
* </pre></code>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* Call this to create a global {@link DataStore}:
|
||||
* <br/>
|
||||
* <code>dataStoreFactory.withType(PersistedType.class).withName("name").build();</code>
|
||||
* <br/>
|
||||
* <br/>
|
||||
* To create a {@link DataStore} for a specific repository:
|
||||
* <br/>
|
||||
* <code>dataStoreFactory.withType(PersistedType.class).withName("name").forRepository(repository).build();</code>
|
||||
*
|
||||
* @since 1.23
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @apiviz.uses sonia.scm.store.DataStore
|
||||
*/
|
||||
public interface DataStoreFactory {
|
||||
|
||||
|
||||
@@ -25,8 +25,6 @@ import java.util.Locale;
|
||||
* template for the rendering process.
|
||||
*
|
||||
* @since 1.19
|
||||
*
|
||||
* @apiviz.uses sonia.scm.template.Template
|
||||
*/
|
||||
public interface TemplateEngine
|
||||
{
|
||||
|
||||
@@ -36,9 +36,6 @@ import java.util.Set;
|
||||
* {@link TemplateEngineFactory} is available via injection.
|
||||
*
|
||||
* @since 1.19
|
||||
*
|
||||
* @apiviz.landmark
|
||||
* @apiviz.uses sonia.scm.template.TemplateEngine
|
||||
*/
|
||||
@Singleton
|
||||
public final class TemplateEngineFactory
|
||||
|
||||
@@ -37,7 +37,7 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@triology.de>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
|
||||
@@ -38,7 +38,7 @@ import static org.mockito.Mockito.when;
|
||||
/**
|
||||
* Unit tests for {@link GitGcTask}.
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@triology.de>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.class)
|
||||
public class GitGcTaskTest
|
||||
|
||||
@@ -24,7 +24,7 @@ import static org.junit.Assert.*;
|
||||
/**
|
||||
* Unit tests for {@link GitUserAgentProvider}.
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@triology.de>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public class GitUserAgentProviderTest {
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@triology.de>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public class HgUserAgentProviderTest
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@ import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@triology.de>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public class SvnUserAgentProviderTest
|
||||
{
|
||||
|
||||
@@ -98,7 +98,6 @@ public class IncomingRootResource {
|
||||
* @param page
|
||||
* @param pageSize
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@GET
|
||||
@Path("{source}/{target}/changesets")
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.jboss.resteasy.core.ResteasyContext;
|
||||
|
||||
/**
|
||||
* Binds the {@link RequestScoped} to the current HTTP request and
|
||||
* makes all the classes available via the {@link javax.ws.rs.core.Context} annotation injectable.
|
||||
* makes all the classes available via the {@link jakarta.ws.rs.core.Context} annotation injectable.
|
||||
*/
|
||||
public class RequestScopeModule extends AbstractModule
|
||||
{
|
||||
|
||||
@@ -57,8 +57,7 @@ import static sonia.scm.version.Version.parse;
|
||||
* <li>a new entry in the new <code>repository-paths.xml</code> database is written,</li>
|
||||
* <li>the data directory is moved or copied to a SCM v2 consistent directory. How this is done
|
||||
* can be specified by a strategy (@see {@link MigrationStrategy}), that has to be set in
|
||||
* a database file named <code>migration-plan.xml</code></li> (to create this file, use {@link DefaultMigrationStrategyDAO}),
|
||||
* and
|
||||
* a database file named <code>migration-plan.xml</code> (to create this file, use {@link DefaultMigrationStrategyDAO}), and</li>
|
||||
* <li>the new <code>metadata.xml</code> file is created.</li>
|
||||
* </ul>
|
||||
* </li>
|
||||
|
||||
@@ -44,7 +44,7 @@ import static org.mockito.Mockito.when;
|
||||
/**
|
||||
* Unit tests for {@link MDCFilter}.
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@gmail.com>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@RunWith(MockitoJUnitRunner.Silent.class)
|
||||
public class MDCFilterTest extends AbstractTestBase {
|
||||
|
||||
@@ -29,7 +29,7 @@ import java.util.Locale;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Sebastian Sdorra <sebastian.sdorra@triology.de>
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public class BrowserUserAgentProviderTest
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user