Change to use Path instead of File for @SitePath annotation
Bug: Issue 3299
Change-Id: I5d5208c15e025c35d70358e47bd8d5c7a4139c45
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterChangeState.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterChangeState.java
index a28c98f..c7108d0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterChangeState.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/GerritHookFilterChangeState.java
@@ -14,6 +14,7 @@
package com.googlesource.gerrit.plugins.hooks.workflow;
+
import com.google.gerrit.server.config.SitePath;
import com.google.gerrit.server.data.ApprovalAttribute;
import com.google.gerrit.server.data.ChangeAttribute;
@@ -36,6 +37,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -51,7 +53,7 @@
@Inject
@SitePath
- private File sitePath;
+ private Path sitePath;
@Inject
private IssueExtractor issueExtractor;
@@ -151,7 +153,7 @@
}
private List<Transition> loadTransitions() {
- File configFile = new File(sitePath, "etc/issue-state-transition.config");
+ File configFile = new File(sitePath.toFile(), "etc/issue-state-transition.config");
FileBasedConfig cfg = new FileBasedConfig(configFile, FS.DETECTED);
try {
cfg.load();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/RuleBase.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/RuleBase.java
index c6b669d..346946f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/RuleBase.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/RuleBase.java
@@ -14,6 +14,7 @@
package com.googlesource.gerrit.plugins.hooks.workflow;
+
import com.google.common.collect.Lists;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.server.config.SitePath;
@@ -27,6 +28,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.file.Path;
import java.util.Collection;
/**
@@ -56,7 +58,7 @@
*/
private static final String ACTION_KEY = "action";
- private final File sitePath;
+ private final Path sitePath;
private final Rule.Factory ruleFactory;
private final Condition.Factory conditionFactory;
private final ActionRequest.Factory actionRequestFactory;
@@ -69,7 +71,7 @@
}
@Inject
- public RuleBase(@SitePath File sitePath, Rule.Factory ruleFactory,
+ public RuleBase(@SitePath Path sitePath, Rule.Factory ruleFactory,
Condition.Factory conditionFactory,
ActionRequest.Factory actionRequestFactory,
@PluginName String pluginName) {
@@ -135,7 +137,7 @@
// "actions.config" (with trailing "s", we (for now) load files from both
// locations, but consider "actions.config" (with trailing "s" the
// canonical place.
- File faultyNameRuleFile = new File(sitePath, "etc" + File.separatorChar
+ File faultyNameRuleFile = new File(sitePath.toFile(), "etc" + File.separatorChar
+ "its" + File.separator + "action.config");
if (faultyNameRuleFile.exists()) {
log.warn("Loading rules from deprecated 'etc/its/action.config' (No "
@@ -145,12 +147,12 @@
}
// Add global rules
- File globalRuleFile = new File(sitePath, ITS_CONFIG_FILE_START +
+ File globalRuleFile = new File(sitePath.toFile(), ITS_CONFIG_FILE_START +
ITS_CONFIG_FILE_END);
addRulesFromFile(globalRuleFile);
// Add its-specific rules
- File itsSpecificRuleFile = new File(sitePath, ITS_CONFIG_FILE_START + "-" +
+ File itsSpecificRuleFile = new File(sitePath.toFile(), ITS_CONFIG_FILE_START + "-" +
pluginName + ITS_CONFIG_FILE_END);
addRulesFromFile(itsSpecificRuleFile);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/action/AddVelocityComment.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/action/AddVelocityComment.java
index 0a61316..7fce725 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/action/AddVelocityComment.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/workflow/action/AddVelocityComment.java
@@ -32,6 +32,7 @@
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
+import java.nio.file.Path;
import java.util.Arrays;
import java.util.Set;
@@ -56,11 +57,11 @@
"its" + File.separator + "templates";
private final ItsFacade its;
- private final File sitePath;
+ private final Path sitePath;
private final RuntimeInstance velocityRuntime;
@Inject
- public AddVelocityComment(RuntimeInstance velocityRuntime, @SitePath File sitePath, ItsFacade its) {
+ public AddVelocityComment(RuntimeInstance velocityRuntime, @SitePath Path sitePath, ItsFacade its) {
this.velocityRuntime = velocityRuntime;
this.sitePath = sitePath;
this.its = its;
@@ -104,7 +105,7 @@
if (templateName.isEmpty()) {
log.error("No template name given in " + actionRequest);
} else {
- File templateFile = new File(sitePath, ITS_TEMPLATE_DIR +
+ File templateFile = new File(sitePath.toFile(), ITS_TEMPLATE_DIR +
File.separator + templateName + ".vm");
if (templateFile.canRead()) {
template = FileUtils.readAllText(templateFile);