fix: Remove various compiler warnings

This commit is contained in:
Robin Shen 2025-02-22 22:16:21 +08:00
parent f108734a6f
commit 05ff171fbe
900 changed files with 2094 additions and 2311 deletions

View File

@ -1,5 +1,43 @@
package io.onedev.server.attachment;
import static io.onedev.commons.utils.LockUtils.read;
import static io.onedev.commons.utils.LockUtils.write;
import static io.onedev.k8shelper.KubernetesHelper.BEARER;
import static io.onedev.server.model.Project.ATTACHMENT_DIR;
import static io.onedev.server.util.DirectoryVersionUtils.isVersionFile;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectStreamException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.UUID;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.glassfish.jersey.client.ClientProperties;
import org.quartz.CronScheduleBuilder;
import org.quartz.ScheduleBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.onedev.commons.loader.ManagedSerializedForm;
import io.onedev.commons.utils.ExceptionUtils;
import io.onedev.commons.utils.FileUtils;
@ -19,7 +57,13 @@ import io.onedev.server.event.project.codecomment.CodeCommentCreated;
import io.onedev.server.event.project.codecomment.CodeCommentEdited;
import io.onedev.server.event.project.codecomment.CodeCommentReplyCreated;
import io.onedev.server.event.project.codecomment.CodeCommentReplyEdited;
import io.onedev.server.event.project.issue.*;
import io.onedev.server.event.project.issue.IssueChanged;
import io.onedev.server.event.project.issue.IssueCommentCreated;
import io.onedev.server.event.project.issue.IssueCommentEdited;
import io.onedev.server.event.project.issue.IssueOpened;
import io.onedev.server.event.project.issue.IssuesCopied;
import io.onedev.server.event.project.issue.IssuesImported;
import io.onedev.server.event.project.issue.IssuesMoved;
import io.onedev.server.event.project.pullrequest.PullRequestChanged;
import io.onedev.server.event.project.pullrequest.PullRequestCommentCreated;
import io.onedev.server.event.project.pullrequest.PullRequestCommentEdited;
@ -35,30 +79,8 @@ import io.onedev.server.persistence.annotation.Transactional;
import io.onedev.server.persistence.dao.Dao;
import io.onedev.server.taskschedule.SchedulableTask;
import io.onedev.server.taskschedule.TaskScheduler;
import io.onedev.server.util.IOUtils;
import io.onedev.server.util.artifact.FileInfo;
import org.apache.commons.compress.utils.IOUtils;
import org.glassfish.jersey.client.ClientProperties;
import org.quartz.CronScheduleBuilder;
import org.quartz.ScheduleBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.client.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.*;
import java.util.*;
import static io.onedev.commons.utils.LockUtils.read;
import static io.onedev.commons.utils.LockUtils.write;
import static io.onedev.k8shelper.KubernetesHelper.BEARER;
import static io.onedev.server.model.Project.ATTACHMENT_DIR;
import static io.onedev.server.util.DirectoryVersionUtils.isVersionFile;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION;
@Singleton
public class DefaultAttachmentManager implements AttachmentManager, SchedulableTask, Serializable {

View File

@ -1490,6 +1490,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate19(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1517,6 +1518,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate20(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specTupleKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1550,6 +1552,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate21(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1590,6 +1593,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate22(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1627,6 +1631,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate23(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1667,6 +1672,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate24(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1704,6 +1710,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate25(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1753,6 +1760,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate26(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1804,6 +1812,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate27(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode) specTuple.getKeyNode()).getValue();
@ -1821,6 +1830,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate28(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode) specTuple.getKeyNode()).getValue();
@ -1882,6 +1892,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate29(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -1937,6 +1948,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate30(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -1964,6 +1976,7 @@ public class BuildSpec implements Serializable, Validatable {
});
}
@SuppressWarnings("unused")
private void migrate31(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -2000,6 +2013,7 @@ public class BuildSpec implements Serializable, Validatable {
});
}
@SuppressWarnings("unused")
private void migrate32(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -2056,6 +2070,7 @@ public class BuildSpec implements Serializable, Validatable {
});
}
@SuppressWarnings("unused")
private void migrate33(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -2105,6 +2120,7 @@ public class BuildSpec implements Serializable, Validatable {
}
}
@SuppressWarnings("unused")
private void migrate34(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -2124,6 +2140,7 @@ public class BuildSpec implements Serializable, Validatable {
});
}
@SuppressWarnings("unused")
private void migrate35(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -2149,6 +2166,7 @@ public class BuildSpec implements Serializable, Validatable {
});
}
@SuppressWarnings("unused")
private void migrate36(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var itStepNode = stepsNode.getValue().iterator(); itStepNode.hasNext();) {
@ -2162,7 +2180,7 @@ public class BuildSpec implements Serializable, Validatable {
}
});
}
private void migrate37_registryLogins(MappingNode node) {
String accessTokenSecret = null;
for (var itTuple = node.getValue().iterator(); itTuple.hasNext();) {
@ -2190,7 +2208,8 @@ public class BuildSpec implements Serializable, Validatable {
node.getValue().add(new NodeTuple(new ScalarNode(Tag.STR, "registryLogins"), logins));
}
}
@SuppressWarnings("unused")
private void migrate37(VersionedYamlDoc doc, Stack<Integer> versions) {
for (NodeTuple specTuple: doc.getValue()) {
String specObjectKey = ((ScalarNode)specTuple.getKeyNode()).getValue();
@ -2207,6 +2226,7 @@ public class BuildSpec implements Serializable, Validatable {
});
}
@SuppressWarnings("unused")
private void migrate38(VersionedYamlDoc doc, Stack<Integer> versions) {
migrateSteps(doc, versions, stepsNode -> {
for (var stepNode: stepsNode.getValue()) {

View File

@ -1,6 +1,24 @@
package io.onedev.server.buildspec;
import com.google.common.base.Throwables;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Stack;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
import javax.validation.ConstraintValidatorContext;
import javax.validation.ConstraintViolation;
import javax.validation.ValidationException;
import javax.validation.Validator;
import javax.validation.constraints.NotEmpty;
import org.apache.shiro.subject.Subject;
import org.eclipse.jgit.revwalk.RevCommit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import edu.emory.mathcs.backport.java.util.Collections;
import io.onedev.commons.codeassist.InputSuggestion;
import io.onedev.commons.utils.ExplicitException;
@ -22,23 +40,6 @@ import io.onedev.server.validation.Validatable;
import io.onedev.server.web.page.project.ProjectPage;
import io.onedev.server.web.util.SuggestionUtils;
import io.onedev.server.web.util.WicketUtils;
import org.apache.shiro.subject.Subject;
import org.eclipse.jgit.revwalk.RevCommit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import javax.validation.ConstraintValidatorContext;
import javax.validation.ConstraintViolation;
import javax.validation.ValidationException;
import javax.validation.Validator;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Stack;
import java.util.stream.Collectors;
@Editable
@ClassValidating

View File

@ -1,25 +1,28 @@
package io.onedev.server.buildspec;
import static java.util.stream.Collectors.toList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.validation.constraints.NotEmpty;
import io.onedev.commons.codeassist.InputCompletion;
import io.onedev.commons.codeassist.InputStatus;
import io.onedev.commons.codeassist.InputSuggestion;
import io.onedev.k8shelper.ServiceFacade;
import io.onedev.server.annotation.*;
import io.onedev.server.annotation.DnsName;
import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.Interpolative;
import io.onedev.server.annotation.RegEx;
import io.onedev.server.annotation.SuggestionProvider;
import io.onedev.server.buildspec.job.EnvVar;
import io.onedev.server.buildspec.step.RegistryLogin;
import io.onedev.server.model.Build;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toList;
@Editable
public class Service implements NamedElement, Serializable {
public class Service implements NamedElement {
private static final long serialVersionUID = 1L;

View File

@ -1,10 +1,40 @@
package io.onedev.server.buildspec.job;
import static io.onedev.server.model.Build.NAME_BRANCH;
import static io.onedev.server.model.Build.NAME_COMMIT;
import static io.onedev.server.model.Build.NAME_JOB;
import static io.onedev.server.model.Build.NAME_PULL_REQUEST;
import static io.onedev.server.model.Build.NAME_TAG;
import static io.onedev.server.search.entity.build.BuildQuery.getRuleName;
import static io.onedev.server.search.entity.build.BuildQueryLexer.And;
import static io.onedev.server.search.entity.build.BuildQueryLexer.Is;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import org.apache.wicket.Component;
import org.eclipse.jgit.lib.ObjectId;
import io.onedev.commons.codeassist.InputCompletion;
import io.onedev.commons.codeassist.InputStatus;
import io.onedev.commons.codeassist.InputSuggestion;
import io.onedev.server.OneDev;
import io.onedev.server.annotation.*;
import io.onedev.server.annotation.ChoiceProvider;
import io.onedev.server.annotation.ClassValidating;
import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.Interpolative;
import io.onedev.server.annotation.RetryCondition;
import io.onedev.server.annotation.SuggestionProvider;
import io.onedev.server.buildspec.BuildSpec;
import io.onedev.server.buildspec.BuildSpecAware;
import io.onedev.server.buildspec.NamedElement;
@ -29,25 +59,10 @@ import io.onedev.server.validation.Validatable;
import io.onedev.server.web.page.project.blob.ProjectBlobPage;
import io.onedev.server.web.util.SuggestionUtils;
import io.onedev.server.web.util.WicketUtils;
import org.apache.wicket.Component;
import org.eclipse.jgit.lib.ObjectId;
import javax.annotation.Nullable;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.*;
import java.util.stream.Collectors;
import static io.onedev.server.model.Build.*;
import static io.onedev.server.search.entity.build.BuildQuery.getRuleName;
import static io.onedev.server.search.entity.build.BuildQueryLexer.*;
@Editable
@ClassValidating
public class Job implements NamedElement, Serializable, Validatable {
public class Job implements NamedElement, Validatable {
private static final long serialVersionUID = 1L;
@ -132,6 +147,7 @@ public class Job implements NamedElement, Serializable, Validatable {
this.jobExecutor = jobExecutor;
}
@SuppressWarnings("unused")
private static String getJobExecutorPlaceholder() {
if (OneDev.getInstance(SettingManager.class).getJobExecutors().isEmpty())
return "Auto-discovered executor";
@ -323,9 +339,6 @@ public class Job implements NamedElement, Serializable, Validatable {
public boolean isValid(ConstraintValidatorContext context) {
boolean isValid = true;
Set<String> keys = new HashSet<>();
Set<String> paths = new HashSet<>();
Set<String> dependencyJobNames = new HashSet<>();
for (JobDependency dependency: jobDependencies) {
if (!dependencyJobNames.add(dependency.getJobName())) {

View File

@ -1,7 +1,21 @@
package io.onedev.server.buildspec.job;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import io.onedev.commons.codeassist.InputSuggestion;
import io.onedev.server.annotation.*;
import io.onedev.server.annotation.ChoiceProvider;
import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.Interpolative;
import io.onedev.server.annotation.OmitName;
import io.onedev.server.annotation.ParamSpecProvider;
import io.onedev.server.annotation.Patterns;
import io.onedev.server.annotation.ShowCondition;
import io.onedev.server.annotation.VariableOption;
import io.onedev.server.buildspec.BuildSpec;
import io.onedev.server.buildspec.param.instance.ParamInstances;
import io.onedev.server.buildspec.param.instance.ParamMap;
@ -9,13 +23,6 @@ import io.onedev.server.buildspec.param.spec.ParamSpec;
import io.onedev.server.util.ComponentContext;
import io.onedev.server.util.EditContext;
import io.onedev.server.web.editable.BeanEditor;
import io.onedev.server.web.util.WicketUtils;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Editable
public class JobDependency implements Serializable {
@ -78,6 +85,7 @@ public class JobDependency implements Serializable {
this.excludeParamMaps = excludeParamMaps;
}
@SuppressWarnings({ "unused", "unchecked" })
private static boolean isExcludeParamMapsVisible() {
var componentContext = ComponentContext.get();
if (componentContext != null && componentContext.getComponent().findParent(BeanEditor.class) != null) {

View File

@ -90,6 +90,7 @@ public class CreateIssueAction extends PostBuildAction {
this.accessTokenSecret = accessTokenSecret;
}
@SuppressWarnings("unused")
private static boolean isProjectSpecified() {
return EditContext.get().getInputValue("projectPath") != null;
}

View File

@ -75,6 +75,7 @@ public class RunJobAction extends PostBuildAction {
this.excludeParamMaps = excludeParamMaps;
}
@SuppressWarnings({ "unused", "unchecked" })
private static boolean isExcludeParamMapsVisible() {
var componentContext = ComponentContext.get();
if (componentContext != null && componentContext.getComponent().findParent(BeanEditor.class) != null) {

View File

@ -17,6 +17,7 @@ public interface GitCredential extends Serializable {
CloneInfo newCloneInfo(Build build, String jobToken);
@SuppressWarnings("unused")
private static Collection<Class<? extends GitCredential>> getImplementations() {
var implementations = Lists.newArrayList(DefaultCredential.class, HttpCredential.class);
if (OneDev.getInstance(ServerConfig.class).getSshPort() != 0)

View File

@ -40,6 +40,7 @@ public class IssueInStateTrigger extends JobTrigger {
this.state = state;
}
@SuppressWarnings("unused")
private static List<String> getStateChoices() {
return OneDev.getInstance(SettingManager.class).getIssueSetting()
.getStateSpecs().stream().map(StateSpec::getName).collect(toList());

View File

@ -85,6 +85,7 @@ public abstract class JobTrigger implements Serializable {
this.excludeParamMaps = excludeParamMaps;
}
@SuppressWarnings({ "unused", "unchecked" })
private static boolean isExcludeParamMapsVisible() {
var componentContext = ComponentContext.get();
if (componentContext != null && componentContext.getComponent().findParent(BeanEditor.class) != null) {
@ -106,7 +107,6 @@ public abstract class JobTrigger implements Serializable {
return new ArrayList<>();
}
@SuppressWarnings("unused")
@Nullable
public TriggerMatch matches(ProjectEvent event, Job job) {
String projectPath = event.getProject().getPath();

View File

@ -41,6 +41,7 @@ public class ParamMap implements Serializable {
this.params = params;
}
@SuppressWarnings("unused")
private static List<ParamSpec> getParamSpecs() {
Component component = ComponentContext.get().getComponent();
if (WicketUtils.findInnermost(component, JobTriggerEditPanel.class) != null)

View File

@ -52,7 +52,6 @@ public class ScriptingValue implements ValueProvider {
.toHashCode();
}
@SuppressWarnings("unchecked")
@Override
public List<String> getValue(Build build, ParamCombination paramCombination) {
Map<String, Object> variables = new HashMap<>();

View File

@ -1,5 +1,14 @@
package io.onedev.server.buildspec.step;
import static java.util.stream.Collectors.toList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import io.onedev.commons.codeassist.InputSuggestion;
import io.onedev.k8shelper.StepFacade;
import io.onedev.server.annotation.Editable;
@ -12,19 +21,9 @@ import io.onedev.server.buildspec.param.ParamCombination;
import io.onedev.server.buildspec.step.commandinterpreter.DefaultInterpreter;
import io.onedev.server.buildspec.step.commandinterpreter.Interpreter;
import io.onedev.server.model.Build;
import io.onedev.server.model.Project;
import io.onedev.server.model.support.administration.jobexecutor.JobExecutor;
import io.onedev.server.util.EditContext;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toList;
@Editable(order=100, name="Execute Commands")
public class CommandStep extends Step {

View File

@ -65,6 +65,7 @@ public class CreateBranchStep extends ServerSideStep {
return BuildSpec.suggestVariables(matchWith, true, true, false);
}
@SuppressWarnings("unused")
private static List<InputSuggestion> suggestRevisions(String matchWith) {
Project project = Project.get();
if (project != null)

View File

@ -60,6 +60,7 @@ public class RegistryLogin implements Serializable {
.stream().map(it->it.getName()).collect(Collectors.toList());
}
@SuppressWarnings("unused")
private static List<InputSuggestion> suggestVariables(String matchWith) {
return BuildSpec.suggestVariables(matchWith, false, false, false);
}

View File

@ -1,5 +1,15 @@
package io.onedev.server.buildspec.step;
import static java.util.stream.Collectors.toList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
import javax.validation.constraints.NotEmpty;
import io.onedev.commons.codeassist.InputSuggestion;
import io.onedev.k8shelper.RunContainerFacade;
import io.onedev.k8shelper.StepFacade;
@ -12,16 +22,6 @@ import io.onedev.server.buildspec.param.ParamCombination;
import io.onedev.server.model.Build;
import io.onedev.server.model.support.administration.jobexecutor.JobExecutor;
import javax.annotation.Nullable;
import javax.validation.constraints.NotEmpty;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static java.util.stream.Collectors.toList;
@Editable(order=150, name="Run Docker Container", description="Run specified docker container. <a href='https://docs.onedev.io/concepts#job-workspace' target='_blank'>Job workspace</a> "
+ "is mounted into the container and its path is placed in environment variable <code>ONEDEV_WORKSPACE</code>. " +
"<b class='text-warning'>Note: </b> this step can only be executed by server docker executor or remote " +

View File

@ -42,6 +42,7 @@ public class SCPCommandStep extends CommandStep {
this.privateKeySecret = privateKeySecret;
}
@SuppressWarnings("unused")
private static List<String> getPrivateKeySecretChoices() {
return Project.get().getHierarchyJobSecrets()
.stream().map(it->it.getName()).collect(Collectors.toList());

View File

@ -67,6 +67,7 @@ public class SSHCommandStep extends CommandStep {
this.privateKeySecret = privateKeySecret;
}
@SuppressWarnings("unused")
private static List<String> getPrivateKeySecretChoices() {
return Project.get().getHierarchyJobSecrets()
.stream().map(it->it.getName()).collect(Collectors.toList());

View File

@ -3,22 +3,20 @@ package io.onedev.server.buildspec.step;
import java.io.File;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.function.Consumer;
import javax.annotation.Nullable;
import io.onedev.commons.utils.TaskLogger;
import io.onedev.k8shelper.ServerStepResult;
import io.onedev.k8shelper.StepFacade;
import io.onedev.k8shelper.KubernetesHelper;
import io.onedev.k8shelper.ServerSideFacade;
import io.onedev.k8shelper.ServerStepResult;
import io.onedev.k8shelper.StepFacade;
import io.onedev.server.annotation.Interpolative;
import io.onedev.server.buildspec.param.ParamCombination;
import io.onedev.server.model.Build;
import io.onedev.server.model.support.administration.jobexecutor.JobExecutor;
import io.onedev.server.util.patternset.PatternSet;
import io.onedev.server.web.editable.EditableStringVisitor;
import io.onedev.server.annotation.Interpolative;
public abstract class ServerSideStep extends Step {

View File

@ -68,6 +68,7 @@ public class SetupCacheStep extends Step {
this.loadKeys = loadKeys;
}
@SuppressWarnings("unused")
private static List<InputSuggestion> suggestVariables(String matchWith) {
return BuildSpec.suggestVariables(matchWith, true, true, false);
}
@ -111,6 +112,7 @@ public class SetupCacheStep extends Step {
this.changeDetectionExcludes = changeDetectionExcludes;
}
@SuppressWarnings("unused")
private static boolean isUploadIfChanged() {
return UPLOAD_IF_CHANGED == EditContext.get().getInputValue("uploadStrategy");
}
@ -126,6 +128,7 @@ public class SetupCacheStep extends Step {
this.uploadProjectPath = uploadProjectPath;
}
@SuppressWarnings("unused")
private static List<InputSuggestion> suggestStaticVariables(String matchWith) {
return BuildSpec.suggestVariables(matchWith, true, false, false);
}
@ -142,6 +145,7 @@ public class SetupCacheStep extends Step {
this.uploadAccessTokenSecret = uploadAccessTokenSecret;
}
@SuppressWarnings("unused")
private static List<String> getAccessTokenSecretChoices() {
return Project.get().getHierarchyJobSecrets()
.stream().map(it->it.getName()).distinct().collect(toList());

View File

@ -1,5 +1,11 @@
package io.onedev.server.buildspec.step;
import java.util.ArrayList;
import java.util.List;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import io.onedev.commons.codeassist.InputCompletion;
import io.onedev.commons.codeassist.InputStatus;
import io.onedev.server.annotation.Editable;
@ -8,14 +14,8 @@ import io.onedev.server.buildspec.BuildSpec;
import io.onedev.server.buildspec.NamedElement;
import io.onedev.server.buildspec.param.spec.ParamSpec;
import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@Editable
public class StepTemplate implements NamedElement, Serializable {
public class StepTemplate implements NamedElement {
private static final long serialVersionUID = 1L;

View File

@ -74,7 +74,6 @@ public abstract class SyncRepository extends ServerSideStep {
this.passwordSecret = passwordSecret;
}
@SuppressWarnings("unused")
static List<String> getSecretChoices() {
return Project.get().getHierarchyJobSecrets()
.stream().map(it->it.getName()).collect(Collectors.toList());

View File

@ -76,6 +76,7 @@ public class UseTemplateStep extends CompositeStep {
this.excludeParamMaps = excludeParamMaps;
}
@SuppressWarnings({ "unused", "unchecked" })
private static boolean isExcludeParamMapsVisible() {
var componentContext = ComponentContext.get();
if (componentContext != null && componentContext.getComponent().findParent(BeanEditor.class) != null) {
@ -86,7 +87,6 @@ public class UseTemplateStep extends CompositeStep {
}
}
@SuppressWarnings("unused")
public static List<ParamSpec> getParamSpecs() {
String templateName = (String) EditContext.get().getInputValue(PROP_TEMPLATE_NAME);
if (templateName != null) {

View File

@ -1,5 +1,10 @@
package io.onedev.server.buildspec.step.commandinterpreter;
import java.util.List;
import java.util.Map;
import javax.validation.constraints.NotEmpty;
import io.onedev.k8shelper.CommandFacade;
import io.onedev.k8shelper.RegistryLoginFacade;
import io.onedev.server.annotation.Code;
@ -7,11 +12,6 @@ import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.Interpolative;
import io.onedev.server.model.support.administration.jobexecutor.JobExecutor;
import javax.validation.constraints.NotEmpty;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Editable(order=100, name="Default (Shell on Linux, Batch on Windows)")
public class DefaultInterpreter extends Interpreter {

View File

@ -1,7 +1,43 @@
package io.onedev.server.cluster;
import static io.onedev.commons.utils.LockUtils.read;
import static io.onedev.commons.utils.LockUtils.write;
import static io.onedev.server.model.Build.getArtifactsLockName;
import static io.onedev.server.model.Project.SHARE_TEST_DIR;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static javax.ws.rs.core.Response.ok;
import static javax.ws.rs.core.Response.status;
import static javax.ws.rs.core.Response.Status.NO_CONTENT;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.apache.shiro.authz.UnauthorizedException;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import com.google.common.base.Splitter;
import com.google.common.collect.Sets;
import io.onedev.commons.utils.FileUtils;
import io.onedev.commons.utils.TarUtils;
import io.onedev.server.OneDev;
@ -22,34 +58,12 @@ import io.onedev.server.model.PackBlob;
import io.onedev.server.model.Project;
import io.onedev.server.rest.annotation.Api;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.IOUtils;
import io.onedev.server.util.concurrent.PrioritizedRunnable;
import io.onedev.server.util.concurrent.WorkExecutor;
import io.onedev.server.util.patternset.PatternSet;
import io.onedev.server.xodus.CommitInfoManager;
import io.onedev.server.xodus.VisitInfoManager;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.shiro.authz.UnauthorizedException;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.*;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import static io.onedev.commons.utils.LockUtils.read;
import static io.onedev.commons.utils.LockUtils.write;
import static io.onedev.server.model.Build.getArtifactsLockName;
import static io.onedev.server.model.Project.SHARE_TEST_DIR;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static javax.ws.rs.core.Response.Status.NO_CONTENT;
import static javax.ws.rs.core.Response.ok;
import static javax.ws.rs.core.Response.status;
@Api(internal=true)
@Path("/cluster")

View File

@ -1,10 +1,9 @@
package io.onedev.server.codequality;
import io.onedev.server.model.Group;
import org.apache.wicket.Component;
import java.io.Serializable;
import org.apache.wicket.Component;
public abstract class ProblemTarget implements Serializable {
private static final long serialVersionUID = 1L;

View File

@ -29,9 +29,7 @@ public class BackupDatabase extends CommandHandler {
private final DataManager dataManager;
private final SessionFactoryManager sessionFactoryManager;
private final HibernateConfig hibernateConfig;
private File backupFile;
@Inject
@ -40,7 +38,6 @@ public class BackupDatabase extends CommandHandler {
super(hibernateConfig);
this.dataManager = dataManager;
this.sessionFactoryManager = sessionFactoryManager;
this.hibernateConfig = hibernateConfig;
}
@Override

View File

@ -1,18 +1,20 @@
package io.onedev.server.commandhandler;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.server.persistence.HibernateConfig;
import io.onedev.server.data.DataManager;
import io.onedev.server.persistence.SessionFactoryManager;
import io.onedev.server.security.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static io.onedev.server.persistence.PersistenceUtils.callWithTransaction;
import java.sql.SQLException;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.sql.SQLException;
import static io.onedev.server.persistence.PersistenceUtils.callWithTransaction;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.server.data.DataManager;
import io.onedev.server.persistence.HibernateConfig;
import io.onedev.server.persistence.SessionFactoryManager;
import io.onedev.server.security.SecurityUtils;
@Singleton
public class CheckDataVersion extends CommandHandler {
@ -24,16 +26,13 @@ public class CheckDataVersion extends CommandHandler {
private final SessionFactoryManager sessionFactoryManager;
private final DataManager dataManager;
private final HibernateConfig hibernateConfig;
@Inject
public CheckDataVersion(SessionFactoryManager sessionFactoryManager, DataManager dataManager,
HibernateConfig hibernateConfig) {
super(hibernateConfig);
this.sessionFactoryManager = sessionFactoryManager;
this.dataManager = dataManager;
this.hibernateConfig = hibernateConfig;
}
@Override

View File

@ -1,42 +1,46 @@
package io.onedev.server.data;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import io.onedev.commons.bootstrap.Bootstrap;
import io.onedev.commons.loader.ManagedSerializedForm;
import io.onedev.commons.utils.*;
import io.onedev.server.OneDev;
import io.onedev.server.cluster.ClusterManager;
import io.onedev.server.cluster.ClusterRunnable;
import io.onedev.server.cluster.ClusterTask;
import io.onedev.server.commandhandler.Upgrade;
import io.onedev.server.data.migration.DataMigrator;
import io.onedev.server.data.migration.MigrationHelper;
import io.onedev.server.data.migration.VersionedXmlDoc;
import io.onedev.server.entitymanager.*;
import io.onedev.server.event.Listen;
import io.onedev.server.event.entity.EntityPersisted;
import io.onedev.server.event.system.SystemStarted;
import io.onedev.server.mail.MailManager;
import io.onedev.server.model.*;
import io.onedev.server.model.Setting.Key;
import io.onedev.server.model.support.administration.*;
import io.onedev.server.model.support.administration.emailtemplates.EmailTemplates;
import io.onedev.server.model.support.issue.LinkSpecOpposite;
import io.onedev.server.persistence.HibernateConfig;
import io.onedev.server.persistence.PersistenceUtils;
import io.onedev.server.persistence.SessionFactoryManager;
import io.onedev.server.persistence.TransactionManager;
import io.onedev.server.persistence.annotation.Sessional;
import io.onedev.server.persistence.annotation.Transactional;
import io.onedev.server.persistence.dao.Dao;
import io.onedev.server.ssh.SshKeyUtils;
import io.onedev.server.taskschedule.SchedulableTask;
import io.onedev.server.taskschedule.TaskScheduler;
import io.onedev.server.util.BeanUtils;
import io.onedev.server.util.init.ManualConfig;
import io.onedev.server.web.util.editbean.NewUserBean;
import static com.google.common.base.Throwables.getStackTraceAsString;
import static io.onedev.server.model.User.PROP_DISABLE_WATCH_NOTIFICATIONS;
import static io.onedev.server.model.User.PROP_NOTIFY_OWN_EVENTS;
import static io.onedev.server.model.support.administration.SystemSetting.PROP_CURL_LOCATION;
import static io.onedev.server.model.support.administration.SystemSetting.PROP_DISABLE_AUTO_UPDATE_CHECK;
import static io.onedev.server.model.support.administration.SystemSetting.PROP_GIT_LOCATION;
import static io.onedev.server.model.support.administration.SystemSetting.PROP_SSH_ROOT_URL;
import static io.onedev.server.model.support.administration.SystemSetting.PROP_USE_AVATAR_SERVICE;
import static io.onedev.server.persistence.PersistenceUtils.tableExists;
import static org.unbescape.html.HtmlEscape.escapeHtml5;
import java.io.File;
import java.io.IOException;
import java.io.ObjectStreamException;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import javax.validation.Validator;
import org.apache.shiro.authc.credential.PasswordService;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@ -57,35 +61,73 @@ import org.quartz.ScheduleBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import java.io.File;
import java.io.IOException;
import java.io.ObjectStreamException;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.*;
import java.util.stream.Collectors;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import static com.google.common.base.Throwables.getStackTraceAsString;
import static io.onedev.server.model.User.PROP_DISABLE_WATCH_NOTIFICATIONS;
import static io.onedev.server.model.User.PROP_NOTIFY_OWN_EVENTS;
import static io.onedev.server.model.support.administration.SystemSetting.*;
import static io.onedev.server.persistence.PersistenceUtils.tableExists;
import static org.unbescape.html.HtmlEscape.escapeHtml5;
import io.onedev.commons.bootstrap.Bootstrap;
import io.onedev.commons.loader.ManagedSerializedForm;
import io.onedev.commons.utils.ExceptionUtils;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.commons.utils.FileUtils;
import io.onedev.commons.utils.StringUtils;
import io.onedev.commons.utils.ZipUtils;
import io.onedev.server.OneDev;
import io.onedev.server.cluster.ClusterManager;
import io.onedev.server.cluster.ClusterRunnable;
import io.onedev.server.cluster.ClusterTask;
import io.onedev.server.commandhandler.Upgrade;
import io.onedev.server.data.migration.DataMigrator;
import io.onedev.server.data.migration.MigrationHelper;
import io.onedev.server.data.migration.VersionedXmlDoc;
import io.onedev.server.entitymanager.AlertManager;
import io.onedev.server.entitymanager.EmailAddressManager;
import io.onedev.server.entitymanager.LinkSpecManager;
import io.onedev.server.entitymanager.RoleManager;
import io.onedev.server.entitymanager.SettingManager;
import io.onedev.server.entitymanager.UserManager;
import io.onedev.server.event.Listen;
import io.onedev.server.event.entity.EntityPersisted;
import io.onedev.server.event.system.SystemStarted;
import io.onedev.server.model.AbstractEntity;
import io.onedev.server.model.EmailAddress;
import io.onedev.server.model.LinkSpec;
import io.onedev.server.model.ModelVersion;
import io.onedev.server.model.Role;
import io.onedev.server.model.Setting;
import io.onedev.server.model.Setting.Key;
import io.onedev.server.model.User;
import io.onedev.server.model.support.administration.AgentSetting;
import io.onedev.server.model.support.administration.AlertSetting;
import io.onedev.server.model.support.administration.BackupSetting;
import io.onedev.server.model.support.administration.BrandingSetting;
import io.onedev.server.model.support.administration.ClusterSetting;
import io.onedev.server.model.support.administration.GlobalBuildSetting;
import io.onedev.server.model.support.administration.GlobalIssueSetting;
import io.onedev.server.model.support.administration.GlobalPackSetting;
import io.onedev.server.model.support.administration.GlobalProjectSetting;
import io.onedev.server.model.support.administration.GlobalPullRequestSetting;
import io.onedev.server.model.support.administration.GpgSetting;
import io.onedev.server.model.support.administration.PerformanceSetting;
import io.onedev.server.model.support.administration.SecuritySetting;
import io.onedev.server.model.support.administration.ServiceDeskSetting;
import io.onedev.server.model.support.administration.SshSetting;
import io.onedev.server.model.support.administration.SystemSetting;
import io.onedev.server.model.support.administration.emailtemplates.EmailTemplates;
import io.onedev.server.model.support.issue.LinkSpecOpposite;
import io.onedev.server.persistence.HibernateConfig;
import io.onedev.server.persistence.PersistenceUtils;
import io.onedev.server.persistence.SessionFactoryManager;
import io.onedev.server.persistence.TransactionManager;
import io.onedev.server.persistence.annotation.Sessional;
import io.onedev.server.persistence.annotation.Transactional;
import io.onedev.server.persistence.dao.Dao;
import io.onedev.server.ssh.SshKeyUtils;
import io.onedev.server.taskschedule.SchedulableTask;
import io.onedev.server.taskschedule.TaskScheduler;
import io.onedev.server.util.BeanUtils;
import io.onedev.server.util.init.ManualConfig;
import io.onedev.server.web.util.editbean.NewUserBean;
@Singleton
public class DefaultDataManager implements DataManager, Serializable {
@ -119,9 +161,7 @@ public class DefaultDataManager implements DataManager, Serializable {
private final UserManager userManager;
private final SettingManager settingManager;
private final MailManager mailManager;
private final PasswordService passwordService;
private final TaskScheduler taskScheduler;
@ -143,7 +183,7 @@ public class DefaultDataManager implements DataManager, Serializable {
@Inject
public DefaultDataManager(PhysicalNamingStrategy physicalNamingStrategy, HibernateConfig hibernateConfig,
Validator validator, Dao dao, SessionFactoryManager sessionFactoryManager,
SettingManager settingManager, MailManager mailManager, TaskScheduler taskScheduler,
SettingManager settingManager, TaskScheduler taskScheduler,
PasswordService passwordService, RoleManager roleManager, LinkSpecManager linkSpecManager,
EmailAddressManager emailAddressManager, UserManager userManager, ClusterManager clusterManager,
TransactionManager transactionManager, AlertManager alertManager) {
@ -156,7 +196,6 @@ public class DefaultDataManager implements DataManager, Serializable {
this.userManager = userManager;
this.settingManager = settingManager;
this.taskScheduler = taskScheduler;
this.mailManager = mailManager;
this.passwordService = passwordService;
this.roleManager = roleManager;
this.linkSpecManager = linkSpecManager;
@ -468,13 +507,7 @@ public class DefaultDataManager implements DataManager, Serializable {
}
}
}
private void reportError(AbstractEntity entity, ConstraintViolation<?> violation) {
String errorInfo = String.format("Error validating entity (entity class: %s, entity id: %d, entity property: %s, error message: %s)",
entity.getClass(), entity.getId(), violation.getPropertyPath().toString(), violation.getMessage());
throw new RuntimeException(errorInfo);
}
@Override
public void applyConstraints(Connection conn) {
File tempFile = null;
@ -606,7 +639,6 @@ public class DefaultDataManager implements DataManager, Serializable {
emailAddressManager.update(primaryEmailAddress);
}
@SuppressWarnings({"serial"})
@Transactional
@Override
public List<ManualConfig> checkData() {

View File

@ -6754,7 +6754,7 @@ public class DataMigrator {
submitTimeGroupsElement.addElement("week").setText(String.valueOf(DateUtils.toLocalDate(submitDate).with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)).toEpochDay()));
submitTimeGroupsElement.addElement("month").setText(String.valueOf(DateUtils.toLocalDate(submitDate).with(TemporalAdjusters.firstDayOfMonth()).toEpochDay()));
if (!element.element("status").equals("OPEN")) {
if (!element.elementTextTrim("status").equals("OPEN")) {
var closeDate = parseDate(element.element("lastActivity").elementText("date").trim());
element.addElement("closeDate").addAttribute("class", "sql-timestamp").setText(formatDate(closeDate));
element.addElement("duration").setText(String.valueOf(closeDate.getTime() - submitDate.getTime()));

View File

@ -577,6 +577,7 @@ public final class VersionedXmlDoc implements Document, Externalizable {
}
}
@SuppressWarnings("unchecked")
public static <T> T cloneBean(T bean) {
return (T) VersionedXmlDoc.fromBean(bean).toBean();
}

View File

@ -1,7 +1,6 @@
package io.onedev.server.entitymanager;
import java.util.Collection;
import java.util.List;
import io.onedev.server.model.Issue;
import io.onedev.server.model.IssueSchedule;

View File

@ -133,6 +133,7 @@ public class DefaultAgentManager extends BaseEntityManager<Agent> implements Age
var cacheInited = hazelcastInstance.getCPSubsystem().getAtomicLong("agentCacheInited");
clusterManager.init(cacheInited, () -> {
@SuppressWarnings("unchecked")
Query<Object[]> query = dao.getSession().createQuery(String.format("select %s, %s from Agent",
Agent.PROP_OS_NAME, Agent.PROP_OS_ARCH));
for (Object[] row: query.list()) {

View File

@ -1,6 +1,14 @@
package io.onedev.server.entitymanager.impl;
import com.google.common.base.Preconditions;
import static java.util.stream.Collectors.toSet;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.hibernate.criterion.Restrictions;
import io.onedev.server.entitymanager.AgentManager;
import io.onedev.server.entitymanager.AgentTokenManager;
import io.onedev.server.model.Agent;
@ -10,13 +18,6 @@ import io.onedev.server.persistence.annotation.Transactional;
import io.onedev.server.persistence.dao.BaseEntityManager;
import io.onedev.server.persistence.dao.Dao;
import io.onedev.server.persistence.dao.EntityCriteria;
import org.hibernate.criterion.Restrictions;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.List;
import static java.util.stream.Collectors.toSet;
@Singleton
public class DefaultAgentTokenManager extends BaseEntityManager<AgentToken> implements AgentTokenManager {
@ -43,7 +44,6 @@ public class DefaultAgentTokenManager extends BaseEntityManager<AgentToken> impl
return find(criteria);
}
@SuppressWarnings("unchecked")
@Sessional
@Override
public List<AgentToken> queryUnused() {
@ -53,7 +53,6 @@ public class DefaultAgentTokenManager extends BaseEntityManager<AgentToken> impl
return tokens;
}
@SuppressWarnings("unchecked")
@Transactional
@Override
public void deleteUnused() {

View File

@ -74,7 +74,6 @@ public class DefaultBuildMetricManager implements BuildMetricManager {
return dao.find(criteria);
}
@SuppressWarnings("resource")
@Sessional
@Override
public <T extends AbstractEntity> Map<Integer, T> queryStats(Project project, Class<T> metricClass, BuildMetricQuery query) {

View File

@ -1,6 +1,18 @@
package io.onedev.server.entitymanager.impl;
import com.google.common.base.Preconditions;
import static io.onedev.server.model.AbstractEntity.PROP_ID;
import static io.onedev.server.model.IssueQueryPersonalization.PROP_PROJECT;
import java.util.Collection;
import java.util.HashSet;
import java.util.stream.Collectors;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.criteria.CriteriaBuilder;
import org.hibernate.criterion.Restrictions;
import io.onedev.server.entitymanager.IssueQueryPersonalizationManager;
import io.onedev.server.entitymanager.ProjectManager;
import io.onedev.server.model.IssueQueryPersonalization;
@ -13,17 +25,6 @@ import io.onedev.server.persistence.dao.BaseEntityManager;
import io.onedev.server.persistence.dao.Dao;
import io.onedev.server.persistence.dao.EntityCriteria;
import io.onedev.server.util.ProjectScope;
import org.hibernate.criterion.Restrictions;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.Collection;
import java.util.HashSet;
import java.util.stream.Collectors;
import static io.onedev.server.model.AbstractEntity.PROP_ID;
import static io.onedev.server.model.IssueQueryPersonalization.PROP_PROJECT;
@Singleton
public class DefaultIssueQueryPersonalizationManager extends BaseEntityManager<IssueQueryPersonalization>

View File

@ -52,6 +52,7 @@ public class DefaultIssueWorkManager extends BaseEntityManager<IssueWork> implem
dao.persist(work);
}
@SuppressWarnings("unchecked")
@Sessional
@Override
public List<IssueWork> query(ProjectScope projectScope, EntityQuery<Issue> issueQuery, long fromDay, long toDay) {

View File

@ -167,6 +167,7 @@ public class DefaultJobCacheManager extends BaseEntityManager<JobCache>
});
}
@SuppressWarnings("resource")
@Nullable
private InputStream openCacheInputStream(Long projectId, Long cacheId, List<String> cachePaths) {
var cacheHome = projectManager.getCacheDir(projectId);

View File

@ -1,6 +1,20 @@
package io.onedev.server.entitymanager.impl;
import static io.onedev.server.model.Pack.PROP_PROJECT;
import static io.onedev.server.model.PackBlobReference.PROP_PACK;
import static io.onedev.server.model.PackBlobReference.PROP_PACK_BLOB;
import static io.onedev.server.model.Project.PROP_PENDING_DELETE;
import java.io.ObjectStreamException;
import java.io.Serializable;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.hibernate.criterion.Restrictions;
import com.google.common.base.Preconditions;
import io.onedev.commons.loader.ManagedSerializedForm;
import io.onedev.server.entitymanager.PackBlobReferenceManager;
import io.onedev.server.model.Pack;
@ -9,20 +23,6 @@ import io.onedev.server.model.PackBlobReference;
import io.onedev.server.persistence.annotation.Transactional;
import io.onedev.server.persistence.dao.BaseEntityManager;
import io.onedev.server.persistence.dao.Dao;
import org.hibernate.criterion.Restrictions;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaDelete;
import javax.persistence.criteria.Root;
import java.io.ObjectStreamException;
import java.io.Serializable;
import static io.onedev.server.model.Pack.PROP_PROJECT;
import static io.onedev.server.model.PackBlobReference.PROP_PACK;
import static io.onedev.server.model.PackBlobReference.PROP_PACK_BLOB;
import static io.onedev.server.model.Project.PROP_PENDING_DELETE;
@Singleton
public class DefaultPackBlobReferenceManager extends BaseEntityManager<PackBlobReference>

View File

@ -322,6 +322,7 @@ public class DefaultPackManager extends BaseEntityManager<Pack>
return query(criteria);
}
@SuppressWarnings("unchecked")
@Sessional
@Override
public List<Pack> queryLatests(Project project, String type, String nameQuery,

View File

@ -1,9 +1,29 @@
package io.onedev.server.entitymanager.impl;
import java.util.Collection;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import javax.persistence.criteria.Subquery;
import org.hibernate.ReplicationMode;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.Query;
import com.google.common.base.Preconditions;
import com.hazelcast.core.HazelcastInstance;
import io.onedev.server.cluster.ClusterManager;
import io.onedev.server.entitymanager.*;
import io.onedev.server.entitymanager.EmailAddressManager;
import io.onedev.server.entitymanager.IssueFieldManager;
import io.onedev.server.entitymanager.ProjectManager;
import io.onedev.server.entitymanager.SettingManager;
import io.onedev.server.entitymanager.UserManager;
import io.onedev.server.event.Listen;
import io.onedev.server.event.entity.EntityPersisted;
import io.onedev.server.event.entity.EntityRemoved;
@ -24,16 +44,6 @@ import io.onedev.server.persistence.dao.EntityCriteria;
import io.onedev.server.util.facade.UserCache;
import io.onedev.server.util.facade.UserFacade;
import io.onedev.server.util.usage.Usage;
import org.apache.shiro.authc.credential.PasswordService;
import org.hibernate.ReplicationMode;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.Query;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.persistence.criteria.*;
import java.util.Collection;
import java.util.List;
@Singleton
public class DefaultUserManager extends BaseEntityManager<User> implements UserManager {
@ -47,23 +57,18 @@ public class DefaultUserManager extends BaseEntityManager<User> implements UserM
private final IdManager idManager;
private final EmailAddressManager emailAddressManager;
private final GroupManager groupManager;
private final TransactionManager transactionManager;
private final ClusterManager clusterManager;
private final PasswordService passwordService;
private volatile UserCache cache;
@Inject
public DefaultUserManager(Dao dao, ProjectManager projectManager, SettingManager settingManager,
IssueFieldManager issueFieldManager, IdManager idManager,
GroupManager groupManager, EmailAddressManager emailAddressManager,
TransactionManager transactionManager, ClusterManager clusterManager,
PasswordService passwordService) {
EmailAddressManager emailAddressManager, TransactionManager transactionManager,
ClusterManager clusterManager) {
super(dao);
this.projectManager = projectManager;
@ -72,9 +77,7 @@ public class DefaultUserManager extends BaseEntityManager<User> implements UserM
this.idManager = idManager;
this.emailAddressManager = emailAddressManager;
this.transactionManager = transactionManager;
this.groupManager = groupManager;
this.clusterManager = clusterManager;
this.passwordService = passwordService;
}
@Transactional

View File

@ -1,6 +1,24 @@
package io.onedev.server.entityreference;
import static java.lang.String.format;
import static java.util.regex.Pattern.CASE_INSENSITIVE;
import static java.util.regex.Pattern.compile;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.function.BiFunction;
import java.util.regex.Pattern;
import javax.annotation.Nullable;
import org.jsoup.nodes.Document;
import org.jsoup.select.NodeTraversor;
import com.google.common.collect.ImmutableSet;
import io.onedev.commons.utils.StringUtils;
import io.onedev.server.OneDev;
import io.onedev.server.entitymanager.ProjectManager;
@ -9,18 +27,6 @@ import io.onedev.server.util.HtmlUtils;
import io.onedev.server.util.TextNodeVisitor;
import io.onedev.server.validation.validator.ProjectKeyValidator;
import io.onedev.server.validation.validator.ProjectPathValidator;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.TextNode;
import org.jsoup.select.NodeTraversor;
import javax.annotation.Nullable;
import java.util.*;
import java.util.function.BiFunction;
import java.util.regex.Pattern;
import static java.lang.String.format;
import static java.util.regex.Pattern.CASE_INSENSITIVE;
import static java.util.regex.Pattern.compile;
public class ReferenceUtils {

View File

@ -1,16 +1,13 @@
package io.onedev.server.event.project.pack;
import java.util.Date;
import io.onedev.server.OneDev;
import io.onedev.server.entitymanager.CodeCommentManager;
import io.onedev.server.entitymanager.PackManager;
import io.onedev.server.event.project.ProjectEvent;
import io.onedev.server.model.CodeComment;
import io.onedev.server.model.Pack;
import io.onedev.server.model.User;
import io.onedev.server.web.UrlManager;
import java.util.Date;
public abstract class PackEvent extends ProjectEvent {
private static final long serialVersionUID = 1L;

View File

@ -1,10 +1,10 @@
package io.onedev.server.exception;
import io.onedev.commons.utils.ExplicitException;
import java.util.Map;
import org.eclipse.jetty.http.HttpStatus;
import javax.annotation.Nullable;
import java.util.Map;
import io.onedev.commons.utils.ExplicitException;
public class HttpResponseAwareException extends ExplicitException {

View File

@ -1,11 +1,9 @@
package io.onedev.server.exception.handler;
import io.onedev.server.exception.HttpResponse;
import io.onedev.server.exception.ServerNotReadyException;
import javax.servlet.http.HttpServletResponse;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
import io.onedev.server.exception.HttpResponse;
import io.onedev.server.exception.ServerNotReadyException;
public class ServerNotReadyExceptionHandler extends AbstractExceptionHandler<ServerNotReadyException> {

View File

@ -1,17 +1,14 @@
package io.onedev.server.exception.handler;
import io.onedev.server.exception.HttpResponse;
import io.onedev.server.exception.HttpResponseBody;
import org.apache.shiro.authz.UnauthenticatedException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.core.MultivaluedHashMap;
import javax.ws.rs.core.MultivaluedMap;
import java.util.HashMap;
import java.util.Map;
import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
import org.apache.shiro.authz.UnauthenticatedException;
import io.onedev.server.exception.HttpResponse;
import io.onedev.server.exception.HttpResponseBody;
public class UnauthenticatedExceptionHandler extends AbstractExceptionHandler<UnauthenticatedException> {

View File

@ -20,7 +20,6 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.List;
@SuppressWarnings("serial")
public abstract class BlobChange implements Serializable {
protected final ChangeType type;

View File

@ -1,5 +1,44 @@
package io.onedev.server.git;
import static io.onedev.server.model.Project.decodeFullRepoNameAsPath;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static org.apache.commons.lang3.StringUtils.strip;
import java.io.File;
import java.io.FilterInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.UnauthorizedException;
import org.eclipse.jgit.http.server.GitSmartHttpTools;
import org.eclipse.jgit.http.server.ServletUtils;
import org.eclipse.jgit.transport.PacketLineOut;
import org.glassfish.jersey.client.ClientProperties;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.k8shelper.KubernetesHelper;
import io.onedev.server.OneDev;
@ -13,34 +52,10 @@ import io.onedev.server.model.Project;
import io.onedev.server.persistence.SessionManager;
import io.onedev.server.security.CodePullAuthorizationSource;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.IOUtils;
import io.onedev.server.util.OutputStreamWrapper;
import io.onedev.server.util.concurrent.PrioritizedRunnable;
import io.onedev.server.util.concurrent.WorkExecutor;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.UnauthorizedException;
import org.eclipse.jgit.http.server.GitSmartHttpTools;
import org.eclipse.jgit.http.server.ServletUtils;
import org.eclipse.jgit.transport.PacketLineOut;
import org.glassfish.jersey.client.ClientProperties;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.client.*;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.*;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import static io.onedev.server.model.Project.decodeFullRepoNameAsPath;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static org.apache.commons.lang3.StringUtils.strip;
@Singleton
public class GitFilter implements Filter {

View File

@ -1,8 +1,65 @@
package io.onedev.server.git;
import static com.google.common.hash.Hashing.sha256;
import static io.onedev.k8shelper.KubernetesHelper.BEARER;
import static io.onedev.server.model.Project.decodeFullRepoNameAsPath;
import static io.onedev.server.util.CollectionUtils.newHashMap;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static javax.servlet.http.HttpServletResponse.SC_CONFLICT;
import static javax.servlet.http.HttpServletResponse.SC_CREATED;
import static javax.servlet.http.HttpServletResponse.SC_FORBIDDEN;
import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
import static javax.servlet.http.HttpServletResponse.SC_NOT_ACCEPTABLE;
import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
import static javax.servlet.http.HttpServletResponse.SC_NOT_IMPLEMENTED;
import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED;
import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION;
import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM;
import static org.apache.commons.lang3.StringUtils.substringBeforeLast;
import static org.apache.tika.mime.MimeTypes.OCTET_STREAM;
import static org.glassfish.jersey.client.ClientProperties.REQUEST_ENTITY_PROCESSING;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.BooleanSupplier;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.hash.HashingInputStream;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.k8shelper.KubernetesHelper;
import io.onedev.server.cluster.ClusterManager;
@ -15,42 +72,8 @@ import io.onedev.server.persistence.SessionManager;
import io.onedev.server.persistence.dao.EntityCriteria;
import io.onedev.server.security.CodePullAuthorizationSource;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.IOUtils;
import io.onedev.server.util.facade.ProjectFacade;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.client.*;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.BooleanSupplier;
import static com.google.common.hash.Hashing.sha256;
import static io.onedev.k8shelper.KubernetesHelper.BEARER;
import static io.onedev.server.model.Project.decodeFullRepoNameAsPath;
import static io.onedev.server.util.CollectionUtils.newHashMap;
import static io.onedev.server.util.IOUtils.BUFFER_SIZE;
import static javax.servlet.http.HttpServletResponse.*;
import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION;
import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM;
import static org.apache.commons.lang3.StringUtils.substringBeforeLast;
import static org.apache.tika.mime.MimeTypes.OCTET_STREAM;
import static org.glassfish.jersey.client.ClientProperties.REQUEST_ENTITY_PROCESSING;
@Singleton
public class GitLfsFilter implements Filter {

View File

@ -12,7 +12,6 @@ import io.onedev.commons.utils.match.Matcher;
import io.onedev.commons.utils.match.PathMatcher;
import io.onedev.server.util.patternset.PatternSet;
@SuppressWarnings("serial")
public class FileChange implements Serializable {
private final String oldPath;

View File

@ -1,7 +1,11 @@
package io.onedev.server.git.command;
import java.io.File;
import java.util.*;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
@ -9,7 +13,6 @@ import org.eclipse.jgit.util.QuotedString;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import io.onedev.commons.utils.command.Commandline;
@ -17,8 +20,6 @@ import io.onedev.commons.utils.command.LineConsumer;
import io.onedev.server.git.CommandUtils;
import io.onedev.server.git.GitUtils;
import javax.annotation.Nullable;
public abstract class LogCommand {
private static final Logger logger = LoggerFactory.getLogger(LogCommand.class);

View File

@ -35,7 +35,6 @@ import java.util.List;
import static io.onedev.server.security.SecurityUtils.asPrincipals;
import static io.onedev.server.security.SecurityUtils.asSubject;
@SuppressWarnings("serial")
@Singleton
public class GitPostReceiveCallback extends HttpServlet {

View File

@ -30,7 +30,6 @@ import java.util.*;
import static io.onedev.server.security.SecurityUtils.*;
@SuppressWarnings("serial")
@Singleton
public class GitPreReceiveCallback extends HttpServlet {

View File

@ -2,7 +2,6 @@ package io.onedev.server.git.service;
import java.io.Serializable;
@SuppressWarnings("serial")
public class AheadBehind implements Serializable {
private final int ahead;

View File

@ -1,12 +1,12 @@
package io.onedev.server.git.service;
import io.onedev.server.git.GitUtils;
import org.eclipse.jgit.lib.ObjectId;
import static io.onedev.server.git.GitUtils.abbreviateSHA;
import javax.annotation.Nullable;
import java.io.Serializable;
import static io.onedev.server.git.GitUtils.abbreviateSHA;
import javax.annotation.Nullable;
import org.eclipse.jgit.lib.ObjectId;
public class CommitMessageError implements Serializable {

View File

@ -1,10 +1,78 @@
package io.onedev.server.git.service;
import static io.onedev.server.git.command.LogCommand.Field.BODY;
import static io.onedev.server.git.command.LogCommand.Field.PARENTS;
import static io.onedev.server.git.command.LogCommand.Field.SUBJECT;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.ObjectStreamException;
import java.io.Serializable;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReadWriteLock;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.apache.commons.lang3.SerializationUtils;
import org.bouncycastle.openpgp.PGPSecretKeyRing;
import org.eclipse.jgit.api.CreateBranchCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.diff.DiffEntry;
import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.errors.RevisionSyntaxException;
import org.eclipse.jgit.lib.AnyObjectId;
import org.eclipse.jgit.lib.CommitBuilder;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.FileMode;
import org.eclipse.jgit.lib.ObjectDatabase;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.ObjectInserter;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.RefUpdate;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.TagBuilder;
import org.eclipse.jgit.lib.TreeFormatter;
import org.eclipse.jgit.revwalk.LastCommitsOfChildren;
import org.eclipse.jgit.revwalk.LastCommitsOfChildren.Value;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevTree;
import org.eclipse.jgit.revwalk.RevWalk;
import org.eclipse.jgit.revwalk.RevWalkUtils;
import org.eclipse.jgit.revwalk.filter.RevFilter;
import org.eclipse.jgit.treewalk.TreeWalk;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import io.onedev.commons.loader.ManagedSerializedForm;
import io.onedev.commons.utils.*;
import io.onedev.commons.utils.ExceptionUtils;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.commons.utils.FileUtils;
import io.onedev.commons.utils.LinearRange;
import io.onedev.commons.utils.LockUtils;
import io.onedev.commons.utils.StringUtils;
import io.onedev.commons.utils.command.Commandline;
import io.onedev.commons.utils.command.LineConsumer;
import io.onedev.server.cluster.ClusterManager;
@ -14,43 +82,32 @@ import io.onedev.server.entitymanager.SettingManager;
import io.onedev.server.event.ListenerRegistry;
import io.onedev.server.event.project.DefaultBranchChanged;
import io.onedev.server.event.project.RefUpdated;
import io.onedev.server.git.*;
import io.onedev.server.git.command.*;
import io.onedev.server.git.BlameBlock;
import io.onedev.server.git.Blob;
import io.onedev.server.git.BlobContent;
import io.onedev.server.git.BlobEdits;
import io.onedev.server.git.BlobIdent;
import io.onedev.server.git.BlobIdentFilter;
import io.onedev.server.git.CommandUtils;
import io.onedev.server.git.GitTask;
import io.onedev.server.git.GitUtils;
import io.onedev.server.git.Submodule;
import io.onedev.server.git.command.BlameCommand;
import io.onedev.server.git.command.GetRawCommitCommand;
import io.onedev.server.git.command.GetRawTagCommand;
import io.onedev.server.git.command.ListChangedFilesCommand;
import io.onedev.server.git.command.LogCommand;
import io.onedev.server.git.command.LogCommit;
import io.onedev.server.git.command.RevListCommand;
import io.onedev.server.git.command.RevListOptions;
import io.onedev.server.git.exception.NotFileException;
import io.onedev.server.git.exception.NotTreeException;
import io.onedev.server.git.exception.ObjectAlreadyExistsException;
import io.onedev.server.git.exception.ObjectNotFoundException;
import io.onedev.server.model.Project;
import io.onedev.server.model.User;
import io.onedev.server.model.support.code.BranchProtection;
import io.onedev.server.persistence.SessionManager;
import io.onedev.server.persistence.annotation.Sessional;
import org.apache.commons.lang3.SerializationUtils;
import org.bouncycastle.openpgp.PGPSecretKeyRing;
import org.eclipse.jgit.api.CreateBranchCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.diff.DiffEntry;
import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.errors.RevisionSyntaxException;
import org.eclipse.jgit.lib.*;
import org.eclipse.jgit.revwalk.*;
import org.eclipse.jgit.revwalk.LastCommitsOfChildren.Value;
import org.eclipse.jgit.revwalk.filter.RevFilter;
import org.eclipse.jgit.treewalk.TreeWalk;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.ReadWriteLock;
import static io.onedev.server.git.command.LogCommand.Field.*;
@Singleton
public class DefaultGitService implements GitService, Serializable {
@ -1166,6 +1223,7 @@ public class DefaultGitService implements GitService, Serializable {
});
}
@SuppressWarnings("unchecked")
@Override
public LastCommitsOfChildren getLastCommitsOfChildren(Project project, ObjectId revId, String path) {
Long projectId = project.getId();

View File

@ -1,13 +1,12 @@
package io.onedev.server.imports;
import io.onedev.commons.utils.TaskLogger;
import io.onedev.server.model.Project;
import io.onedev.server.web.component.taskbutton.TaskResult;
import io.onedev.server.web.util.ImportStep;
import java.io.Serializable;
import java.util.List;
import io.onedev.commons.utils.TaskLogger;
import io.onedev.server.web.component.taskbutton.TaskResult;
import io.onedev.server.web.util.ImportStep;
public interface IssueImporter extends Serializable {
String getName();

View File

@ -1,9 +1,17 @@
package io.onedev.server.jetty;
import com.google.inject.servlet.GuiceFilter;
import io.onedev.commons.bootstrap.Bootstrap;
import io.onedev.commons.utils.ExceptionUtils;
import io.onedev.server.cluster.ClusterManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
import javax.servlet.DispatcherType;
import javax.servlet.http.HttpServletResponse;
import org.apache.tika.mime.MimeTypes;
import org.eclipse.jetty.http.HttpCookie.SameSite;
import org.eclipse.jetty.http.HttpMethod;
@ -13,12 +21,10 @@ import org.eclipse.jetty.server.session.SessionDataStoreFactory;
import org.eclipse.jetty.servlet.ErrorPageErrorHandler;
import org.eclipse.jetty.servlet.ServletContextHandler;
import javax.inject.Inject;
import javax.inject.Provider;
import javax.inject.Singleton;
import javax.servlet.DispatcherType;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import com.google.inject.servlet.GuiceFilter;
import io.onedev.commons.bootstrap.Bootstrap;
import io.onedev.commons.utils.ExceptionUtils;
@Singleton
public class DefaultJettyLauncher implements JettyLauncher, Provider<ServletContextHandler> {

View File

@ -18,18 +18,17 @@
package io.onedev.server.jetty;
import io.onedev.server.cluster.ClusterManager;
import org.eclipse.jetty.server.session.AbstractSessionDataStoreFactory;
import org.eclipse.jetty.server.session.SessionDataStore;
import org.eclipse.jetty.server.session.SessionDataStoreFactory;
import org.eclipse.jetty.server.session.SessionHandler;
import javax.inject.Inject;
import javax.inject.Singleton;
import org.eclipse.jetty.server.session.AbstractSessionDataStoreFactory;
import org.eclipse.jetty.server.session.SessionDataStore;
import org.eclipse.jetty.server.session.SessionHandler;
import io.onedev.server.cluster.ClusterManager;
@Singleton
public class DefaultSessionDataStoreFactory extends AbstractSessionDataStoreFactory
implements SessionDataStoreFactory {
public class DefaultSessionDataStoreFactory extends AbstractSessionDataStoreFactory {
private final ClusterManager clusterManager;

View File

@ -1,12 +1,17 @@
package io.onedev.server.job;
import java.util.Stack;
import org.apache.shiro.subject.Subject;
import org.eclipse.jgit.lib.ObjectId;
import org.jetbrains.annotations.Nullable;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.server.OneDev;
import io.onedev.server.buildspecmodel.inputspec.SecretInput;
import io.onedev.server.entitymanager.AccessTokenManager;
import io.onedev.server.job.match.JobMatch;
import io.onedev.server.job.match.JobMatchContext;
import io.onedev.server.job.match.OnBranchCriteria;
import io.onedev.server.model.Project;
import io.onedev.server.model.PullRequest;
import io.onedev.server.model.User;
@ -15,11 +20,6 @@ import io.onedev.server.model.support.build.JobSecret;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.ComponentContext;
import io.onedev.server.web.util.WicketUtils;
import org.apache.shiro.subject.Subject;
import org.eclipse.jgit.lib.ObjectId;
import org.jetbrains.annotations.Nullable;
import java.util.Stack;
public class JobAuthorizationContext {

View File

@ -1,14 +1,14 @@
package io.onedev.server.mail;
import io.onedev.server.model.Issue;
import io.onedev.server.model.PullRequest;
import java.util.Collection;
import java.util.concurrent.Future;
import java.util.function.Consumer;
import javax.annotation.Nullable;
import javax.mail.Message;
import java.util.Collection;
import java.util.List;
import java.util.concurrent.Future;
import java.util.function.Consumer;
import io.onedev.server.model.Issue;
import io.onedev.server.model.PullRequest;
public interface MailManager {

View File

@ -1,26 +1,46 @@
package io.onedev.server.model;
import static io.onedev.server.model.Agent.PROP_IP_ADDRESS;
import static io.onedev.server.model.Agent.PROP_NAME;
import static io.onedev.server.model.Agent.PROP_OS_ARCH;
import static io.onedev.server.model.Agent.PROP_OS_NAME;
import static io.onedev.server.model.Agent.PROP_OS_VERSION;
import static io.onedev.server.model.Agent.PROP_PAUSED;
import static io.onedev.server.model.AgentLastUsedDate.PROP_VALUE;
import static io.onedev.server.search.entity.EntitySort.Direction.DESCENDING;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Index;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import io.onedev.agent.AgentData;
import io.onedev.k8shelper.OsInfo;
import io.onedev.server.OneDev;
import io.onedev.server.cluster.ClusterManager;
import io.onedev.server.entitymanager.AgentManager;
import io.onedev.server.search.entity.EntitySort;
import io.onedev.server.search.entity.SortField;
import io.onedev.server.util.CollectionUtils;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.util.*;
import static io.onedev.server.model.Agent.*;
import static io.onedev.server.model.AgentLastUsedDate.PROP_VALUE;
import static io.onedev.server.search.entity.EntitySort.Direction.DESCENDING;
@Entity
@Table(indexes={

View File

@ -1,9 +1,70 @@
package io.onedev.server.model;
import static io.onedev.server.model.AbstractEntity.PROP_NUMBER;
import static io.onedev.server.model.Build.PROP_COMMIT_HASH;
import static io.onedev.server.model.Build.PROP_FINISH_DATE;
import static io.onedev.server.model.Build.PROP_FINISH_DAY;
import static io.onedev.server.model.Build.PROP_FINISH_MONTH;
import static io.onedev.server.model.Build.PROP_FINISH_WEEK;
import static io.onedev.server.model.Build.PROP_JOB_NAME;
import static io.onedev.server.model.Build.PROP_PENDING_DATE;
import static io.onedev.server.model.Build.PROP_REF_NAME;
import static io.onedev.server.model.Build.PROP_RUNNING_DATE;
import static io.onedev.server.model.Build.PROP_STATUS;
import static io.onedev.server.model.Build.PROP_SUBMIT_DATE;
import static io.onedev.server.model.Build.PROP_VERSION;
import static io.onedev.server.model.Project.BUILDS_DIR;
import static io.onedev.server.model.support.TimeGroups.PROP_DAY;
import static io.onedev.server.model.support.TimeGroups.PROP_MONTH;
import static io.onedev.server.model.support.TimeGroups.PROP_WEEK;
import static io.onedev.server.search.entity.EntitySort.Direction.DESCENDING;
import java.io.File;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.Stack;
import java.util.UUID;
import javax.annotation.Nullable;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Index;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.revwalk.RevCommit;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.commons.utils.WordUtils;
import io.onedev.server.OneDev;
@ -28,10 +89,8 @@ import io.onedev.server.model.support.LabelSupport;
import io.onedev.server.model.support.ProjectBelonging;
import io.onedev.server.model.support.TimeGroups;
import io.onedev.server.model.support.build.JobSecret;
import io.onedev.server.search.entity.EntitySort;
import io.onedev.server.search.entity.SortField;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.CollectionUtils;
import io.onedev.server.util.ComponentContext;
import io.onedev.server.util.FilenameUtils;
import io.onedev.server.util.Input;
@ -43,26 +102,6 @@ import io.onedev.server.web.editable.BeanDescriptor;
import io.onedev.server.web.editable.PropertyDescriptor;
import io.onedev.server.web.util.BuildAware;
import io.onedev.server.web.util.WicketUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.revwalk.RevCommit;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import javax.annotation.Nullable;
import javax.persistence.*;
import java.io.File;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.nio.file.Paths;
import java.util.*;
import static io.onedev.server.model.AbstractEntity.PROP_NUMBER;
import static io.onedev.server.model.Build.*;
import static io.onedev.server.model.Project.BUILDS_DIR;
import static io.onedev.server.model.support.TimeGroups.*;
import static io.onedev.server.search.entity.EntitySort.Direction.DESCENDING;
@Entity
@Table(

View File

@ -1,7 +1,36 @@
package io.onedev.server.model;
import static io.onedev.server.model.CodeComment.PROP_CREATE_DATE;
import static io.onedev.server.search.entity.EntitySort.Direction.DESCENDING;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import javax.annotation.Nullable;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Index;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jgit.lib.ObjectId;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import io.onedev.server.OneDev;
import io.onedev.server.attachment.AttachmentStorageSupport;
import io.onedev.server.entitymanager.UserManager;
@ -10,20 +39,9 @@ import io.onedev.server.model.support.CompareContext;
import io.onedev.server.model.support.LastActivity;
import io.onedev.server.model.support.Mark;
import io.onedev.server.model.support.ProjectBelonging;
import io.onedev.server.search.entity.EntitySort;
import io.onedev.server.search.entity.SortField;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.CollectionUtils;
import io.onedev.server.xodus.VisitInfoManager;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jgit.lib.ObjectId;
import javax.annotation.Nullable;
import javax.persistence.*;
import java.util.*;
import static io.onedev.server.model.CodeComment.PROP_CREATE_DATE;
import static io.onedev.server.search.entity.EntitySort.Direction.DESCENDING;
@Entity
@Table(indexes={

View File

@ -1065,6 +1065,7 @@ public class Project extends AbstractEntity implements LabelSupport<ProjectLabel
this.timeTracking = timeTracking;
}
@SuppressWarnings("unused")
private static String getTimeTrackingDescription() {
if (!WicketUtils.isSubscriptionActive()) {
return "<b class='text-warning'>NOTE: </b><a href='https://docs.onedev.io/tutorials/issue/time-tracking' target='_blank'>Time tracking</a> is an enterprise feature. " +
@ -1075,6 +1076,7 @@ public class Project extends AbstractEntity implements LabelSupport<ProjectLabel
}
}
@SuppressWarnings("unused")
private static boolean isIssueManagementEnabled() {
return (boolean) EditContext.get().getInputValue(PROP_ISSUE_MANAGEMENT);
}
@ -1084,6 +1086,7 @@ public class Project extends AbstractEntity implements LabelSupport<ProjectLabel
return packManagement;
}
@SuppressWarnings("unused")
private static String getPackManagementDescription() {
return "Enable <a href='https://docs.onedev.io/tutorials/package/working-with-packages' target='_blank'>package management</a> for this project";
}

View File

@ -380,6 +380,7 @@ public class Role extends AbstractEntity implements BasePermission {
return permissions;
}
@SuppressWarnings("unused")
private static boolean isSubscriptionActive() {
return WicketUtils.isSubscriptionActive();
}

View File

@ -1,5 +1,7 @@
package io.onedev.server.model.support.administration;
import static io.onedev.server.search.entity.agent.AgentQueryLexer.Is;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@ -8,12 +10,9 @@ import javax.annotation.Nullable;
import io.onedev.server.model.support.NamedAgentQuery;
import io.onedev.server.search.entity.agent.AgentQuery;
import io.onedev.server.search.entity.agent.AgentQueryLexer;
import io.onedev.server.search.entity.agent.NotUsedSinceCriteria;
import io.onedev.server.search.entity.agent.OsCriteria;
import static io.onedev.server.search.entity.agent.AgentQueryLexer.Is;
public class AgentSetting implements Serializable {
private static final long serialVersionUID = 1L;

View File

@ -6,7 +6,6 @@ import java.util.List;
import javax.annotation.Nullable;
import io.onedev.server.model.support.issue.NamedIssueQuery;
import io.onedev.server.model.support.pullrequest.NamedPullRequestQuery;
public class GlobalPullRequestSetting implements Serializable {

View File

@ -67,6 +67,7 @@ public class SecuritySetting implements Serializable {
this.allowedSelfRegisterEmailDomain = allowedSelfRegisterEmailDomain;
}
@SuppressWarnings("unused")
private static boolean isEnableSelfRegisterEnabled() {
return (boolean) EditContext.get().getInputValue("enableSelfRegister");
}

View File

@ -149,6 +149,7 @@ public class SystemSetting implements Serializable, Validatable {
this.disableDashboard = disableDashboard;
}
@SuppressWarnings("unused")
private static boolean isDisableDashboardEnabled() {
return WicketUtils.isSubscriptionActive();
}
@ -173,6 +174,7 @@ public class SystemSetting implements Serializable, Validatable {
this.avatarServiceUrl = avatarServiceUrl;
}
@SuppressWarnings("unused")
private static boolean isUseAvatarServiceEnabled() {
return (boolean) EditContext.get().getInputValue(PROP_USE_AVATAR_SERVICE);
}

View File

@ -38,6 +38,7 @@ public class RegistryLogin implements Serializable {
this.registryUrl = registryUrl;
}
@SuppressWarnings("unused")
private static List<InputSuggestion> suggestRegistryUrlVariables(String matchWith) {
return SuggestionUtils.suggest(Lists.newArrayList(JobVariable.SERVER_URL.name().toLowerCase()), matchWith);
}
@ -53,6 +54,7 @@ public class RegistryLogin implements Serializable {
this.userName = userName;
}
@SuppressWarnings("unused")
private static List<InputSuggestion> suggestUserNameVariables(String matchWith) {
return SuggestionUtils.suggest(Lists.newArrayList(JobVariable.JOB_TOKEN.name().toLowerCase()), matchWith);
}

View File

@ -1,13 +1,13 @@
package io.onedev.server.model.support.administration.mailservice;
import java.io.Serializable;
import java.util.Collection;
import javax.annotation.Nullable;
import io.onedev.server.annotation.Editable;
import io.onedev.server.mail.InboxMonitor;
import javax.annotation.Nullable;
import java.io.Serializable;
import java.util.Collection;
import java.util.concurrent.Future;
@Editable
public interface MailService extends Serializable {

View File

@ -1,11 +1,12 @@
package io.onedev.server.model.support.administration.sso;
import io.onedev.server.model.User;
import io.onedev.server.model.support.administration.authenticator.Authenticated;
import org.apache.shiro.authc.AuthenticationToken;
import java.util.Collection;
import javax.annotation.Nullable;
import java.util.Collection;
import org.apache.shiro.authc.AuthenticationToken;
import io.onedev.server.model.support.administration.authenticator.Authenticated;
public class SsoAuthenticated extends Authenticated implements AuthenticationToken {

View File

@ -1,20 +1,20 @@
package io.onedev.server.model.support.build;
import io.onedev.commons.codeassist.InputCompletion;
import io.onedev.commons.codeassist.InputStatus;
import io.onedev.server.annotation.RegEx;
import io.onedev.server.buildspec.BuildSpec;
import io.onedev.server.buildspec.NamedElement;
import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.SuggestionProvider;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotEmpty;
import io.onedev.commons.codeassist.InputCompletion;
import io.onedev.commons.codeassist.InputStatus;
import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.RegEx;
import io.onedev.server.annotation.SuggestionProvider;
import io.onedev.server.buildspec.BuildSpec;
import io.onedev.server.buildspec.NamedElement;
@Editable
public class JobProperty implements NamedElement, Serializable {
public class JobProperty implements NamedElement {
private static final long serialVersionUID = 1L;

View File

@ -1,6 +1,17 @@
package io.onedev.server.model.support.channelnotification;
import io.onedev.server.annotation.*;
import java.io.Serializable;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import io.onedev.server.annotation.BuildQuery;
import io.onedev.server.annotation.CodeCommentQuery;
import io.onedev.server.annotation.CommitQuery;
import io.onedev.server.annotation.Editable;
import io.onedev.server.annotation.IssueQuery;
import io.onedev.server.annotation.PullRequestQuery;
import io.onedev.server.annotation.ShowCondition;
import io.onedev.server.event.project.ProjectEvent;
import io.onedev.server.event.project.RefUpdated;
import io.onedev.server.event.project.build.BuildEvent;
@ -9,11 +20,6 @@ import io.onedev.server.event.project.issue.IssueEvent;
import io.onedev.server.event.project.pullrequest.PullRequestEvent;
import io.onedev.server.search.entity.issue.IssueQueryParseOption;
import io.onedev.server.util.EditContext;
import org.hibernate.validator.constraints.URL;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
@Editable
public class ChannelNotification implements Serializable {

View File

@ -166,6 +166,7 @@ public class BranchProtection implements Serializable {
this.enforceConventionalCommits = enforceConventionalCommits;
}
@SuppressWarnings("unused")
private static boolean isEnforceConventionalCommitsEnabled() {
return (boolean) EditContext.get().getInputValue("enforceConventionalCommits");
}
@ -202,6 +203,7 @@ public class BranchProtection implements Serializable {
this.checkCommitMessageFooter = checkCommitMessageFooter;
}
@SuppressWarnings("unused")
private static boolean isCheckCommitMessageFooterEnabled() {
return (boolean) EditContext.get().getInputValue("checkCommitMessageFooter");
}

View File

@ -1,17 +1,5 @@
package io.onedev.server.model.support.issue;
import io.onedev.server.OneDev;
import io.onedev.server.annotation.ChoiceProvider;
import io.onedev.server.annotation.Editable;
import io.onedev.server.entitymanager.LinkSpecManager;
import io.onedev.server.entitymanager.SettingManager;
import io.onedev.server.model.support.administration.GlobalIssueSetting;
import io.onedev.server.util.usage.Usage;
import org.apache.commons.lang3.StringUtils;
import javax.validation.ValidationException;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashSet;
@ -19,6 +7,18 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.validation.ValidationException;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import org.apache.commons.lang3.StringUtils;
import io.onedev.server.OneDev;
import io.onedev.server.annotation.ChoiceProvider;
import io.onedev.server.annotation.Editable;
import io.onedev.server.entitymanager.LinkSpecManager;
import io.onedev.server.util.usage.Usage;
@Editable
public class TimeTrackingSetting implements Serializable {
@ -69,6 +69,7 @@ public class TimeTrackingSetting implements Serializable {
this.aggregationLink = aggregationLink;
}
@SuppressWarnings("unused")
private static List<String> getLinkChoices() {
var choices = new LinkedHashSet<String>();
for (var linkSpec: OneDev.getInstance(LinkSpecManager.class).query()) {
@ -80,10 +81,6 @@ public class TimeTrackingSetting implements Serializable {
return new ArrayList<>(choices);
}
private static GlobalIssueSetting getIssueSetting() {
return OneDev.getInstance(SettingManager.class).getIssueSetting();
}
public Usage onDeleteLink(String linkName) {
Usage usage = new Usage();
if (linkName.equals(aggregationLink))

View File

@ -75,6 +75,7 @@ public class TimesheetSetting implements Serializable {
this.groupBy = groupBy;
}
@SuppressWarnings("unused")
private static List<String> getGroupByChoices() {
var choices = Lists.newArrayList(NAME_PROJECT);
for (var fieldSpec: OneDev.getInstance(SettingManager.class).getIssueSetting().getFieldSpecs()) {

View File

@ -65,6 +65,7 @@ public class GroupChoiceField extends FieldSpec {
this.editEstimatedTime = editEstimatedTime;
}
@SuppressWarnings("unused")
private static boolean isSubscriptionActive() {
return OneDev.getInstance(SubscriptionManager.class).isSubscriptionActive();
}

View File

@ -74,6 +74,7 @@ public class UserChoiceField extends FieldSpec {
return EditContext.get().getInputValue("allowMultiple").equals(true);
}
@SuppressWarnings("unused")
private static boolean isSubscriptionActive() {
return OneDev.getInstance(SubscriptionManager.class).isSubscriptionActive();
}

View File

@ -1,17 +1,17 @@
package io.onedev.server.model.support.issue.transitionspec;
import com.google.common.collect.Lists;
import io.onedev.commons.utils.StringUtils;
import io.onedev.server.annotation.ChoiceProvider;
import io.onedev.server.annotation.Editable;
import io.onedev.server.web.component.issue.workflowreconcile.ReconcileUtils;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedStateResolution;
import javax.validation.constraints.NotEmpty;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import javax.validation.constraints.NotEmpty;
import com.google.common.collect.Lists;
import io.onedev.server.annotation.ChoiceProvider;
import io.onedev.server.annotation.Editable;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedStateResolution;
@Editable
public abstract class AutoSpec extends TransitionSpec {

View File

@ -1,5 +1,12 @@
package io.onedev.server.model.support.issue.transitionspec;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import io.onedev.commons.utils.StringUtils;
import io.onedev.server.OneDev;
import io.onedev.server.annotation.ChoiceProvider;
@ -10,12 +17,12 @@ import io.onedev.server.model.support.issue.StateSpec;
import io.onedev.server.model.support.issue.field.spec.FieldSpec;
import io.onedev.server.search.entity.issue.IssueQueryUpdater;
import io.onedev.server.util.usage.Usage;
import io.onedev.server.web.component.issue.workflowreconcile.*;
import io.onedev.server.web.component.issue.workflowreconcile.ReconcileUtils;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedFieldResolution;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedFieldResolution.FixType;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.*;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedFieldValue;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedFieldValuesResolution;
import io.onedev.server.web.component.issue.workflowreconcile.UndefinedStateResolution;
@Editable
public abstract class TransitionSpec implements Serializable {
@ -60,7 +67,6 @@ public abstract class TransitionSpec implements Serializable {
this.removeFields = removeFields;
}
@SuppressWarnings("unused")
protected static List<String> getFieldChoices() {
List<String> fields = new ArrayList<>();
for (FieldSpec field: getIssueSetting().getFieldSpecs())
@ -95,7 +101,6 @@ public abstract class TransitionSpec implements Serializable {
return getQueryUpdater().onDeleteProject(projectPath);
}
@SuppressWarnings("unused")
protected static List<String> getStateChoices() {
List<String> stateNames = new ArrayList<>();
for (StateSpec state: getIssueSetting().getStateSpecs())

View File

@ -7,7 +7,6 @@ import javax.persistence.Column;
import javax.persistence.Embeddable;
import java.io.Serializable;
@SuppressWarnings("serial")
@Embeddable
public class MergePreview implements Serializable {

View File

@ -38,6 +38,7 @@ public class ProjectPullRequestSetting implements Serializable {
this.namedQueries = namedQueries;
}
@SuppressWarnings("unused")
private static String getLfsDescription() {
if (!Bootstrap.isInDocker()) {
return "Whether or not to fetch LFS objects if pull request is opened from a different project. " +
@ -69,6 +70,7 @@ public class ProjectPullRequestSetting implements Serializable {
this.defaultAssignees = defaultAssignees;
}
@SuppressWarnings("unused")
private static List<User> getAssigneeChoices() {
var choices = new ArrayList<>(SecurityUtils.getAuthorizedUsers(Project.get(), new WriteCode()));
Collections.sort(choices, Comparator.comparing(User::getDisplayName));

View File

@ -41,6 +41,7 @@ public abstract class ChannelNotificationManager<T extends ChannelNotificationSe
private final Class<T> settingClass;
@SuppressWarnings("unchecked")
public ChannelNotificationManager() {
List<Class<?>> typeArguments = ReflectionUtils.getTypeArguments(ChannelNotificationManager.class, getClass());
if (typeArguments.size() == 1 && ChannelNotificationSetting.class.isAssignableFrom(typeArguments.get(0))) {

View File

@ -1,20 +1,19 @@
package io.onedev.server.notification;
import static java.nio.charset.StandardCharsets.UTF_8;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.ExecutorService;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
@ -28,9 +27,6 @@ import io.onedev.server.event.project.ProjectEvent;
import io.onedev.server.model.support.WebHook;
import io.onedev.server.persistence.annotation.Sessional;
import static java.nio.charset.StandardCharsets.UTF_8;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
@Singleton
public class WebHookManager {

View File

@ -1,7 +1,6 @@
package io.onedev.server.persistence;
import java.util.Properties;
import java.util.concurrent.ExecutorService;
import org.hibernate.Interceptor;
import org.hibernate.SessionFactory;

View File

@ -98,6 +98,7 @@ public abstract class BaseEntityManager<T extends AbstractEntity> implements Ent
return entityClass;
}
@SuppressWarnings("rawtypes")
protected void addOrderByIdIfNecessary(CriteriaBuilder builder, From<?, ?> from, List<Order> orders) {
boolean orderByIdFound = false;
for (var order: orders) {

View File

@ -20,7 +20,6 @@ import org.hibernate.transform.ResultTransformer;
import io.onedev.server.model.AbstractEntity;
@SuppressWarnings("serial")
public class EntityCriteria<T extends AbstractEntity> implements CriteriaSpecification, Serializable {
private final CriteriaImpl impl;

View File

@ -13,7 +13,6 @@ import org.glassfish.jersey.servlet.ServletContainer;
import io.onedev.server.persistence.annotation.Sessional;
@SuppressWarnings("serial")
@Singleton
public class DefaultServletContainer extends ServletContainer {

View File

@ -32,7 +32,7 @@ import static javax.ws.rs.client.Entity.entity;
import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION;
import static javax.ws.rs.core.MediaType.APPLICATION_OCTET_STREAM;
import static javax.ws.rs.core.Response.ok;
import static org.apache.commons.compress.utils.IOUtils.copy;
import static io.onedev.server.util.IOUtils.copy;
@Api(order=4100, description="In most cases, artifact resource is operated with build id, which is different from build number. "
+ "To get build id of a particular build number, use the <a href='/~help/api/io.onedev.server.rest.BuildResource/queryBasicInfo'>Query Basic Info</a> operation with query for "

View File

@ -13,7 +13,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import io.onedev.server.model.UserAuthorization;
import org.apache.shiro.authz.UnauthorizedException;
import io.onedev.server.entitymanager.GroupAuthorizationManager;

View File

@ -1,20 +1,29 @@
package io.onedev.server.rest.resource;
import static io.onedev.server.security.SecurityUtils.canAccessIssue;
import static io.onedev.server.security.SecurityUtils.canModifyOrDelete;
import static io.onedev.server.security.SecurityUtils.getUser;
import static io.onedev.server.security.SecurityUtils.isAdministrator;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.validation.constraints.NotNull;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.shiro.authz.UnauthorizedException;
import io.onedev.server.entitymanager.IssueCommentManager;
import io.onedev.server.model.IssueComment;
import io.onedev.server.rest.annotation.Api;
import io.onedev.server.security.SecurityUtils;
import org.apache.shiro.authz.UnauthorizedException;
import javax.inject.Inject;
import javax.inject.Singleton;
import javax.validation.constraints.NotNull;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.ArrayList;
import static io.onedev.server.security.SecurityUtils.*;
@Api(order=2300)
@Path("/issue-comments")

View File

@ -225,6 +225,7 @@ public class IssueResource {
return issues;
}
@SuppressWarnings("unused")
private static List<Map<String, Object>> getIssuesExample() {
var issues = new ArrayList<Map<String, Object>>();
var issue = ApiHelpUtils.getExampleValue(Issue.class, ValueInfo.Origin.READ_BODY);
@ -391,6 +392,7 @@ public class IssueResource {
return Response.ok().build();
}
@SuppressWarnings("unchecked")
private Map<String, Object> getFieldObjs(Issue issue, Map<String, Serializable> fields) {
var issueSetting = settingManager.getIssueSetting();
Map<String, Object> fieldObjs = new HashMap<>();
@ -498,6 +500,7 @@ public class IssueResource {
this.fields = fields;
}
@SuppressWarnings("unused")
private static Map<String, Serializable> getFieldsExample() {
return IssueResource.getFieldsExample();
}
@ -554,6 +557,7 @@ public class IssueResource {
this.comment = comment;
}
@SuppressWarnings("unused")
private static Map<String, Serializable> getFieldsExample() {
return IssueResource.getFieldsExample();
}

View File

@ -292,6 +292,7 @@ public class RepositoryResource {
throw new ObjectNotFoundException("Commit not found");
}
@SuppressWarnings("unused")
private static List<String> getFieldsExample() {
return EnumSet.allOf(LogCommand.Field.class).stream().map(Enum::name).collect(toList());
}

View File

@ -1,13 +1,16 @@
package io.onedev.server.rest.resource;
import java.io.Serializable;
import javax.inject.Singleton;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import io.onedev.server.OneDev;
import io.onedev.server.rest.annotation.Api;
import javax.inject.Singleton;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.io.Serializable;
@Api(order=100000, description = "Version info for server and various tools")
@Path("/version")
@Produces(MediaType.APPLICATION_JSON)
@ -38,21 +41,6 @@ public class VersionResource {
@Api(example = "2.0.0", description = "Maximum version. Null means no upper bound")
String maxVersion;
public String getMinVersion() {
return minVersion;
}
public void setMinVersion(String minVersion) {
this.minVersion = minVersion;
}
public String getMaxVersion() {
return maxVersion;
}
public void setMaxVersion(String maxVersion) {
this.maxVersion = maxVersion;
}
}
}

View File

@ -235,7 +235,6 @@ public class DefaultCodeSearchManager implements CodeSearchManager, Serializable
private LeafReaderContext context;
@SuppressWarnings("unchecked")
@Override
public void collect(int doc) throws IOException {
Document document = searcher.doc(context.docBase+doc);

View File

@ -1,28 +1,34 @@
package io.onedev.server.search.commit;
import static io.onedev.commons.codeassist.FenceAware.unfence;
import static io.onedev.commons.utils.StringUtils.unescape;
import static org.apache.commons.lang3.StringUtils.join;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
import org.antlr.v4.runtime.BailErrorStrategy;
import org.antlr.v4.runtime.BaseErrorListener;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.RecognitionException;
import org.antlr.v4.runtime.Recognizer;
import org.antlr.v4.runtime.tree.TerminalNode;
import org.eclipse.jgit.lib.ObjectId;
import io.onedev.commons.utils.ExplicitException;
import io.onedev.server.OneDev;
import io.onedev.server.entitymanager.BuildManager;
import io.onedev.server.entityreference.BuildReference;
import io.onedev.server.entityreference.IssueReference;
import io.onedev.server.event.project.RefUpdated;
import io.onedev.server.git.command.RevListOptions;
import io.onedev.server.model.Build;
import io.onedev.server.model.Project;
import io.onedev.server.search.commit.CommitQueryParser.CriteriaContext;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.TerminalNode;
import org.apache.commons.lang.math.NumberUtils;
import org.eclipse.jgit.lib.ObjectId;
import javax.annotation.Nullable;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import static io.onedev.commons.codeassist.FenceAware.unfence;
import static io.onedev.commons.utils.StringUtils.join;
import static io.onedev.commons.utils.StringUtils.unescape;
public class CommitQuery implements Serializable {

View File

@ -1,19 +1,18 @@
package io.onedev.server.search.commit;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import io.onedev.commons.utils.StringUtils;
import io.onedev.server.event.project.RefUpdated;
import io.onedev.server.git.command.RevListOptions;
import io.onedev.server.git.service.RefFacade;
import io.onedev.server.model.Project;
import org.eclipse.jgit.revwalk.RevCommit;
import static io.onedev.commons.utils.match.WildcardUtils.matchString;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import static io.onedev.commons.utils.match.WildcardUtils.matchString;
import org.eclipse.jgit.revwalk.RevCommit;
import com.google.common.base.Preconditions;
import io.onedev.commons.utils.StringUtils;
import io.onedev.server.event.project.RefUpdated;
import io.onedev.server.git.command.RevListOptions;
import io.onedev.server.model.Project;
public class FuzzyCriteria extends CommitCriteria {

Some files were not shown because too many files have changed in this diff Show More