aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit/src/org/eclipse/jgit/transport
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/transport')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java45
1 files changed, 28 insertions, 17 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java
index 56a5c9796d..79b88b6a73 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java
@@ -126,23 +126,7 @@ public class TransportAmazonS3 extends HttpTransport implements WalkTransport {
throws NotSupportedException {
super(local, uri);
- Properties props = null;
- File propsFile = new File(local.getDirectory(), uri.getUser());
- if (!propsFile.isFile())
- propsFile = new File(local.getFS().userHome(), uri.getUser());
- if (propsFile.isFile()) {
- try {
- props = AmazonS3.properties(propsFile);
- } catch (IOException e) {
- throw new NotSupportedException(MessageFormat.format(JGitText.get().cannotReadFile, propsFile), e);
- }
- } else {
- props = new Properties();
- props.setProperty("accesskey", uri.getUser());
- props.setProperty("secretkey", uri.getPass());
- }
-
- s3 = new AmazonS3(props);
+ s3 = new AmazonS3(loadProperties());
bucket = uri.getHost();
String p = uri.getPath();
@@ -153,6 +137,33 @@ public class TransportAmazonS3 extends HttpTransport implements WalkTransport {
keyPrefix = p;
}
+ private Properties loadProperties() throws NotSupportedException {
+ if (local.getDirectory() != null) {
+ File propsFile = new File(local.getDirectory(), uri.getUser());
+ if (propsFile.isFile())
+ return loadPropertiesFile(propsFile);
+ }
+
+ File propsFile = new File(local.getFS().userHome(), uri.getUser());
+ if (propsFile.isFile())
+ return loadPropertiesFile(propsFile);
+
+ Properties props = new Properties();
+ props.setProperty("accesskey", uri.getUser());
+ props.setProperty("secretkey", uri.getPass());
+ return props;
+ }
+
+ private static Properties loadPropertiesFile(File propsFile)
+ throws NotSupportedException {
+ try {
+ return AmazonS3.properties(propsFile);
+ } catch (IOException e) {
+ throw new NotSupportedException(MessageFormat.format(
+ JGitText.get().cannotReadFile, propsFile), e);
+ }
+ }
+
@Override
public FetchConnection openFetch() throws TransportException {
final DatabaseS3 c = new DatabaseS3(bucket, keyPrefix + "/objects");