diff --git a/pom.xml b/pom.xml index f1dfc9e..9c53547 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.javaswift file-cli - 1.4.1 + 1.4.2 jar JOSS File CLI Command Line Interface for uploading files to the ObjectStore @@ -182,4 +182,4 @@ - \ No newline at end of file + diff --git a/src/main/java/org/javaswift/filecli/Arguments.java b/src/main/java/org/javaswift/filecli/Arguments.java index 6342e1f..8b0a79f 100644 --- a/src/main/java/org/javaswift/filecli/Arguments.java +++ b/src/main/java/org/javaswift/filecli/Arguments.java @@ -60,6 +60,14 @@ public class Arguments { @Parameter(names={ "--redirect" }, description="URL to which a redirect will take place after an upload") private String redirectUrl; + @Parameter(names={ "--method" }, description="which authencition method to use [BASIC, KEYSTONE, KEYSTONE_V3, TEMPAUTH, EXTERNAL], default = BASIC") + private String method; + + @Parameter(names={ "--domain" }, description="which domain to authenticate against") + private String domain; + + + public String getUsername() { return username; } @@ -131,4 +139,15 @@ public int getPort() { public String getRedirectUrl() { return redirectUrl; } + + public String getMethod() { + if (method == null) { + return "BASIC"; + } + return method; + } + + public String getDomain() { + return domain; + } } diff --git a/src/main/java/org/javaswift/filecli/Main.java b/src/main/java/org/javaswift/filecli/Main.java index 0f79064..d6b5845 100644 --- a/src/main/java/org/javaswift/filecli/Main.java +++ b/src/main/java/org/javaswift/filecli/Main.java @@ -4,6 +4,7 @@ import freemarker.template.Configuration; import freemarker.template.Template; import org.javaswift.joss.client.factory.AccountFactory; +import org.javaswift.joss.client.factory.AuthenticationMethod; import org.javaswift.joss.client.factory.TempUrlHashPrefixSource; import org.javaswift.joss.model.Account; import org.javaswift.joss.model.Container; @@ -80,7 +81,7 @@ private Account createAccount(Arguments arguments) { "tenant name "+arguments.getTenantName()+ ", tenant ID "+arguments.getTenantId()+ " and usr/pwd "+arguments.getUsername()+"/"+arguments.getPassword()+"@"+arguments.getUrl()); - + return new AccountFactory() .setUsername(arguments.getUsername()) .setPassword(arguments.getPassword()) @@ -90,6 +91,8 @@ private Account createAccount(Arguments arguments) { .setTenantName(arguments.getTenantName()) .setHashPassword(arguments.getHashPassword()) .setTempUrlHashPrefixSource(TempUrlHashPrefixSource.INTERNAL_URL_PATH) + .setAuthenticationMethod(AuthenticationMethod.valueOf(arguments.getMethod())) + .setDomain(arguments.getDomain()) .createAccount(); }