Bump version to 2.12-SNAPSHOT and move to java.nio
File was changed to Path in several places in order
to benefit from the Java 7 nio File-operations.
Change-Id: Icb8ea3d1d13874b49d4e1b990521e36597e7dde7
diff --git a/github-oauth/pom.xml b/github-oauth/pom.xml
index 094a9db..fe43a82 100644
--- a/github-oauth/pom.xml
+++ b/github-oauth/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>com.googlesource.gerrit.plugins.github</groupId>
<artifactId>github-parent</artifactId>
- <version>2.11-SNAPSHOT</version>
+ <version>2.12-SNAPSHOT</version>
</parent>
<artifactId>github-oauth</artifactId>
<name>Gerrit Code Review - GitHub OAuth login</name>
diff --git a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java
index 6929d16..6291481 100644
--- a/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java
+++ b/github-oauth/src/main/java/com/googlesource/gerrit/plugins/github/oauth/OAuthWebFilter.java
@@ -26,8 +26,8 @@
import org.slf4j.LoggerFactory;
import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.nio.file.Files;
+import java.nio.file.attribute.FileTime;
import java.util.Random;
import java.util.Set;
@@ -183,8 +183,8 @@
String user, String access_token) throws IOException,
ConfigInvalidException {
FileBasedConfig currentSecureConfig =
- new FileBasedConfig(sites.secure_config, FS.DETECTED);
- long currentSecureConfigUpdateTs = sites.secure_config.lastModified();
+ new FileBasedConfig(sites.secure_config.toFile(), FS.DETECTED);
+ FileTime currentSecureConfigUpdateTs = Files.getLastModifiedTime(sites.secure_config);
currentSecureConfig.load();
boolean configUpdate =
@@ -202,19 +202,17 @@
log.info("Updating " + sites.secure_config + " credentials for user "
+ user);
- if (sites.secure_config.lastModified() != currentSecureConfigUpdateTs) {
+ FileTime secureConfigCurrentModifiedTime =
+ Files.getLastModifiedTime(sites.secure_config);
+ if (!secureConfigCurrentModifiedTime.equals(currentSecureConfigUpdateTs)) {
throw new ConcurrentFileBasedConfigWriteException("File "
+ sites.secure_config + " was written at "
- + formatTS(sites.secure_config.lastModified())
+ + secureConfigCurrentModifiedTime
+ " while was trying to update security for user " + user);
}
currentSecureConfig.save();
}
- private String formatTS(long ts) {
- return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(ts));
- }
-
private boolean updateConfigSection(FileBasedConfig config, String section,
String user, String password) {
String configUser = config.getString("remote", section, "username");
diff --git a/github-plugin/pom.xml b/github-plugin/pom.xml
index 259f559..adb635b 100644
--- a/github-plugin/pom.xml
+++ b/github-plugin/pom.xml
@@ -20,7 +20,7 @@
<parent>
<artifactId>github-parent</artifactId>
<groupId>com.googlesource.gerrit.plugins.github</groupId>
- <version>2.11-SNAPSHOT</version>
+ <version>2.12-SNAPSHOT</version>
</parent>
<artifactId>github-plugin</artifactId>
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
index 17c3b9e..44a4b4e 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/GitHubConfig.java
@@ -26,8 +26,8 @@
import org.eclipse.jgit.lib.Config;
-import java.io.File;
import java.net.MalformedURLException;
+import java.nio.file.Path;
import java.util.HashMap;
@Singleton
@@ -48,7 +48,7 @@
private static final String CONF_PUBLIC_BASE_PROJECT = "publicBaseProject";
private static final String CONF_PRIVATE_BASE_PROJECT = "privateBaseProject";
- public final File gitDir;
+ public final Path gitDir;
public final int jobPoolLimit;
public final int jobExecTimeout;
public final int pullRequestListLimit;
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java
index 4b6cfb7..1ca982d 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/GitCloneStep.java
@@ -53,7 +53,7 @@
GitDestinationNotWritableException {
super(gitConfig.gitHubUrl, organisation, repository, gitHubRepoFactory);
LOG.debug("GitHub Clone " + organisation + "/" + repository);
- this.gitDir = gitConfig.gitDir;
+ this.gitDir = gitConfig.gitDir.toFile();
this.destinationDirectory =
getDestinationDirectory(organisation, repository);
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java
index 1784e0e..60e8502 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/ReplicationConfig.java
@@ -35,9 +35,9 @@
@Inject
public ReplicationConfig(final SitePaths site) {
replicationConf =
- new FileBasedConfig(new File(site.etc_dir, "replication.config"),
+ new FileBasedConfig(new File(site.etc_dir.toFile(), "replication.config"),
FS.DETECTED);
- secureConf = new FileBasedConfig(site.secure_config, FS.DETECTED);
+ secureConf = new FileBasedConfig(site.secure_config.toFile(), FS.DETECTED);
}
public synchronized void addSecureCredentials(String organisation,
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java
index e383fe1..ab8fa24 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/replication/GitHubDestinations.java
@@ -34,9 +34,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -79,7 +80,7 @@
replicationUserFactory = ruf;
gitRepositoryManager = grm;
groupBackend = gb;
- configs = getDestinations(new File(site.etc_dir, "replication.config"));
+ configs = getDestinations(site.etc_dir.resolve("replication.config"));
organisations = getOrganisations(configs);
}
@@ -94,13 +95,13 @@
return organisations;
}
- private List<Destination> getDestinations(File cfgPath)
+ private List<Destination> getDestinations(Path cfgPath)
throws ConfigInvalidException, IOException {
- FileBasedConfig cfg = new FileBasedConfig(cfgPath, FS.DETECTED);
- if (!cfg.getFile().exists() || cfg.getFile().length() == 0) {
+ if (!Files.exists(cfgPath) || Files.size(cfgPath) == 0) {
return Collections.emptyList();
- }
-
+ }
+
+ FileBasedConfig cfg = new FileBasedConfig(cfgPath.toFile(), FS.DETECTED);
try {
cfg.load();
} catch (ConfigInvalidException e) {
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java
index 57b4780..431a438 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/velocity/PluginVelocityRuntimeProvider.java
@@ -26,7 +26,6 @@
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;
import org.apache.velocity.runtime.resource.loader.JarResourceLoader;
-import java.io.File;
import java.util.Properties;
@Singleton
@@ -65,13 +64,14 @@
p.setProperty(VELOCITY_FILE_RESOURCE_LOADER_CLASS, pkg
+ ".FileResourceLoader");
p.setProperty(VELOCITY_FILE_RESOURCE_LOADER_PATH,
- new File(site.static_dir.getAbsolutePath(), "..").getAbsolutePath());
+ site.static_dir.getParent().toAbsolutePath().toString());
p.setProperty(VELOCITY_CLASS_RESOURCE_LOADER_CLASS,
ClasspathResourceLoader.class.getName());
p.setProperty(VELOCITY_JAR_RESOURCE_LOADER_CLASS,
JarResourceLoader.class.getName());
p.setProperty(VELOCITY_JAR_RESOURCE_LOADER_PATH, "jar:file:"
- + new File(site.plugins_dir, pluginName + ".jar").getAbsolutePath());
+ + site.plugins_dir.resolve(pluginName + ".jar").toAbsolutePath()
+ .toString());
RuntimeInstance ri = new RuntimeInstance();
try {
diff --git a/pom.xml b/pom.xml
index 948a764..fdc25c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.googlesource.gerrit.plugins.github</groupId>
<artifactId>github-parent</artifactId>
- <version>2.11-SNAPSHOT</version>
+ <version>2.12-SNAPSHOT</version>
<name>Gerrit Code Review - GitHub integration</name>
<url>http://www.gerritforge.com</url>
<packaging>pom</packaging>