mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-01-20 22:42:16 +01:00
Use Nullable annotation to make clear that Email must be checked for null
This commit is contained in:
@@ -32,6 +32,7 @@ import sonia.scm.repository.spi.MergeConflictResult;
|
||||
import sonia.scm.repository.util.AuthorUtil;
|
||||
import sonia.scm.user.EMail;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
@@ -76,12 +77,13 @@ import java.util.Set;
|
||||
*/
|
||||
public class MergeCommandBuilder {
|
||||
|
||||
private final EMail eMail;
|
||||
|
||||
private final MergeCommand mergeCommand;
|
||||
private final MergeCommandRequest request = new MergeCommandRequest();
|
||||
|
||||
MergeCommandBuilder(MergeCommand mergeCommand, EMail eMail) {
|
||||
@Nullable
|
||||
private final EMail eMail;
|
||||
|
||||
MergeCommandBuilder(MergeCommand mergeCommand, @Nullable EMail eMail) {
|
||||
this.mergeCommand = mergeCommand;
|
||||
this.eMail = eMail;
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ import sonia.scm.repository.work.WorkdirProvider;
|
||||
import sonia.scm.user.EMail;
|
||||
import sonia.scm.util.IOUtil;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -52,7 +53,6 @@ import java.util.function.Consumer;
|
||||
* default a {@link sonia.scm.AlreadyExistsException} will be thrown)</li>
|
||||
* <li>modify existing files ({@link #modifyFile(String)}</li>
|
||||
* <li>delete existing files ({@link #deleteFile(String)}</li>
|
||||
* <li>move/rename existing files ({@link #moveFile(String, String)}</li>
|
||||
* </ul>
|
||||
*
|
||||
* You can collect multiple changes before they are executed with a call to {@link #execute()}.
|
||||
@@ -73,14 +73,15 @@ public class ModifyCommandBuilder {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ModifyCommandBuilder.class);
|
||||
|
||||
private final EMail eMail;
|
||||
|
||||
private final ModifyCommand command;
|
||||
private final File workdir;
|
||||
|
||||
@Nullable
|
||||
private final EMail eMail;
|
||||
|
||||
private final ModifyCommandRequest request = new ModifyCommandRequest();
|
||||
|
||||
ModifyCommandBuilder(ModifyCommand command, WorkdirProvider workdirProvider, EMail eMail) {
|
||||
ModifyCommandBuilder(ModifyCommand command, WorkdirProvider workdirProvider, @Nullable EMail eMail) {
|
||||
this.command = command;
|
||||
this.workdir = workdirProvider.createNewWorkdir();
|
||||
this.eMail = eMail;
|
||||
|
||||
@@ -36,6 +36,7 @@ import sonia.scm.repository.spi.RepositoryServiceProvider;
|
||||
import sonia.scm.repository.work.WorkdirProvider;
|
||||
import sonia.scm.user.EMail;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
@@ -85,9 +86,11 @@ public final class RepositoryService implements Closeable {
|
||||
private final PreProcessorUtil preProcessorUtil;
|
||||
private final RepositoryServiceProvider provider;
|
||||
private final Repository repository;
|
||||
@SuppressWarnings("rawtypes")
|
||||
@SuppressWarnings({"rawtypes", "java:S3740"})
|
||||
private final Set<ScmProtocolProvider> protocolProviders;
|
||||
private final WorkdirProvider workdirProvider;
|
||||
|
||||
@Nullable
|
||||
private final EMail eMail;
|
||||
|
||||
/**
|
||||
@@ -100,11 +103,12 @@ public final class RepositoryService implements Closeable {
|
||||
* @param eMail utility to compute email addresses if missing
|
||||
*/
|
||||
RepositoryService(CacheManager cacheManager,
|
||||
RepositoryServiceProvider provider, Repository repository,
|
||||
RepositoryServiceProvider provider,
|
||||
Repository repository,
|
||||
PreProcessorUtil preProcessorUtil,
|
||||
@SuppressWarnings("rawtypes") Set<ScmProtocolProvider> protocolProviders,
|
||||
@SuppressWarnings({"rawtypes", "java:S3740"}) Set<ScmProtocolProvider> protocolProviders,
|
||||
WorkdirProvider workdirProvider,
|
||||
EMail eMail) {
|
||||
@Nullable EMail eMail) {
|
||||
this.cacheManager = cacheManager;
|
||||
this.provider = provider;
|
||||
this.repository = repository;
|
||||
@@ -452,7 +456,7 @@ public final class RepositoryService implements Closeable {
|
||||
.map(this::createProviderInstanceForRepository);
|
||||
}
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@SuppressWarnings({"rawtypes", "java:S3740"})
|
||||
private ScmProtocol createProviderInstanceForRepository(ScmProtocolProvider protocolProvider) {
|
||||
return protocolProvider.get(repository);
|
||||
}
|
||||
|
||||
@@ -30,19 +30,21 @@ import sonia.scm.repository.Person;
|
||||
import sonia.scm.user.EMail;
|
||||
import sonia.scm.user.User;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class AuthorUtil {
|
||||
|
||||
public static void setAuthorIfNotAvailable(CommandWithAuthor request) {
|
||||
setAuthorIfNotAvailable(request, null);
|
||||
}
|
||||
|
||||
public static void setAuthorIfNotAvailable(CommandWithAuthor request, EMail eMail) {
|
||||
public static void setAuthorIfNotAvailable(CommandWithAuthor request, @Nullable EMail eMail) {
|
||||
if (request.getAuthor() == null) {
|
||||
request.setAuthor(createAuthorFromSubject(eMail));
|
||||
}
|
||||
}
|
||||
|
||||
private static Person createAuthorFromSubject(EMail eMail) {
|
||||
private static Person createAuthorFromSubject(@Nullable EMail eMail) {
|
||||
Subject subject = SecurityUtils.getSubject();
|
||||
User user = subject.getPrincipals().oneByType(User.class);
|
||||
String name = user.getDisplayName();
|
||||
|
||||
Reference in New Issue
Block a user