mirror of https://github.com/apache/jclouds.git
added special parameter: jclouds.identity/jclouds.credential for use when the factory is given no identity/credential parameters. fixed aws demo
This commit is contained in:
parent
88d64ee76c
commit
c443309801
|
@ -25,8 +25,6 @@ import java.io.InputStream;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
import org.jclouds.aws.ec2.EC2PropertiesBuilder;
|
|
||||||
import org.jclouds.aws.s3.S3PropertiesBuilder;
|
|
||||||
import org.jclouds.util.Utils;
|
import org.jclouds.util.Utils;
|
||||||
import org.testng.annotations.BeforeTest;
|
import org.testng.annotations.BeforeTest;
|
||||||
import org.testng.annotations.Parameters;
|
import org.testng.annotations.Parameters;
|
||||||
|
@ -50,12 +48,17 @@ public class GoogleAppEngineLiveTest {
|
||||||
throws Exception {
|
throws Exception {
|
||||||
url = new URL(String.format("http://%s:%s", address, port));
|
url = new URL(String.format("http://%s:%s", address, port));
|
||||||
Properties props = new Properties();
|
Properties props = new Properties();
|
||||||
String identity = checkNotNull(System.getProperty("jclouds.test.identity"), "jclouds.test.identity");
|
String identity = checkNotNull(System.getProperty("jclouds.test.identity"),
|
||||||
String credential = checkNotNull(System.getProperty("jclouds.test.credential"), "jclouds.test.credential");
|
"jclouds.test.identity");
|
||||||
|
String credential = checkNotNull(System.getProperty("jclouds.test.credential"),
|
||||||
|
"jclouds.test.credential");
|
||||||
|
|
||||||
props = new S3PropertiesBuilder(props).credentials(identity, credential).build();
|
/**
|
||||||
|
* Since both s3 and ec2 use the same credentials, we can take a shortcut and specify both
|
||||||
props = new EC2PropertiesBuilder(props).credentials(identity, credential).build();
|
* here:
|
||||||
|
*/
|
||||||
|
props.setProperty("jclouds.identity", identity);
|
||||||
|
props.setProperty("jclouds.credential", credential);
|
||||||
|
|
||||||
server = new GoogleDevServer();
|
server = new GoogleDevServer();
|
||||||
server.writePropertiesAndStartServer(address, port, warfile, props);
|
server.writePropertiesAndStartServer(address, port, warfile, props);
|
||||||
|
|
|
@ -181,19 +181,43 @@ public class RestContextFactory {
|
||||||
NO_PROPERTIES);
|
NO_PROPERTIES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see RestContextFactory#createContextBuilder(String, Properties, Iterable<? extends Module>, Properties)
|
||||||
|
*/
|
||||||
public <S, A> RestContextBuilder<S, A> createContextBuilder(String provider, Properties overrides) {
|
public <S, A> RestContextBuilder<S, A> createContextBuilder(String provider, Properties overrides) {
|
||||||
return createContextBuilder(provider, null, null, ImmutableSet.<Module> of(), overrides);
|
return createContextBuilder(provider, overrides.getProperty("jclouds.identity"), overrides
|
||||||
|
.getProperty("jclouds.credential"), ImmutableSet.<Module> of(), overrides);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Identity will be found by searching {@code jclouds.identity} failing that {@code
|
||||||
|
* provider.identity} where provider corresponds to the parameter. Same pattern is used for
|
||||||
|
* credential ({@code jclouds.credential} failing that {@code provider.credential}).
|
||||||
|
*
|
||||||
|
* @param <S>
|
||||||
|
* Type of the provider specific client
|
||||||
|
* @param <A>
|
||||||
|
* Type of the provide specific async client (same as above, yet all methods return
|
||||||
|
* {@code Future} results)
|
||||||
|
* @param provider
|
||||||
|
* name of the provider (ex. s3, bluelock, etc.)
|
||||||
|
* @param wiring
|
||||||
|
* defines how objects are bound to interfaces, pass in here to override this, or
|
||||||
|
* specify service implementations.
|
||||||
|
* @param overrides
|
||||||
|
* properties to pass to the context.
|
||||||
|
*/
|
||||||
public <S, A> RestContextBuilder<S, A> createContextBuilder(String provider,
|
public <S, A> RestContextBuilder<S, A> createContextBuilder(String provider,
|
||||||
Iterable<? extends Module> modules, Properties overrides) {
|
Iterable<? extends Module> wiring, Properties overrides) {
|
||||||
return createContextBuilder(provider, null, null, modules, overrides);
|
return createContextBuilder(provider, overrides.getProperty("jclouds.identity"), overrides
|
||||||
|
.getProperty("jclouds.credential"), wiring, overrides);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <S, A> RestContextBuilder<S, A> createContextBuilder(String provider,
|
public <S, A> RestContextBuilder<S, A> createContextBuilder(String provider,
|
||||||
@Nullable String identity, @Nullable String credential,
|
@Nullable String identity, @Nullable String credential,
|
||||||
Iterable<? extends Module> modules) {
|
Iterable<? extends Module> wiring) {
|
||||||
return createContextBuilder(provider, identity, credential, modules, new Properties());
|
return createContextBuilder(provider, identity, credential, wiring, new Properties());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -204,7 +228,7 @@ public class RestContextFactory {
|
||||||
* nullable, if credentials are present in the overrides
|
* nullable, if credentials are present in the overrides
|
||||||
* @param credential
|
* @param credential
|
||||||
* nullable, if credentials are present in the overrides
|
* nullable, if credentials are present in the overrides
|
||||||
* @param modules
|
* @param wiring
|
||||||
* Configuration you'd like to pass to the context. Ex. ImmutableSet.<Module>of(new
|
* Configuration you'd like to pass to the context. Ex. ImmutableSet.<Module>of(new
|
||||||
* ExecutorServiceModule(myexecutor))
|
* ExecutorServiceModule(myexecutor))
|
||||||
* @param overrides
|
* @param overrides
|
||||||
|
@ -213,11 +237,11 @@ public class RestContextFactory {
|
||||||
*/
|
*/
|
||||||
public <S, A> RestContextBuilder<S, A> createContextBuilder(String providerName,
|
public <S, A> RestContextBuilder<S, A> createContextBuilder(String providerName,
|
||||||
@Nullable String identity, @Nullable String credential,
|
@Nullable String identity, @Nullable String credential,
|
||||||
Iterable<? extends Module> modules, Properties _overrides) {
|
Iterable<? extends Module> wiring, Properties _overrides) {
|
||||||
checkNotNull(modules, "modules");
|
checkNotNull(wiring, "wiring");
|
||||||
ContextSpec<S, A> contextSpec = createContextSpec(providerName, identity, credential,
|
ContextSpec<S, A> contextSpec = createContextSpec(providerName, identity, credential,
|
||||||
_overrides);
|
_overrides);
|
||||||
return createContextBuilder(contextSpec, modules, _overrides);
|
return createContextBuilder(contextSpec, wiring, _overrides);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -267,12 +291,12 @@ public class RestContextFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <S, A> RestContextBuilder<S, A> createContextBuilder(
|
public static <S, A> RestContextBuilder<S, A> createContextBuilder(
|
||||||
ContextSpec<S, A> contextSpec, Iterable<? extends Module> modules) {
|
ContextSpec<S, A> contextSpec, Iterable<? extends Module> wiring) {
|
||||||
return createContextBuilder(contextSpec, modules, new Properties());
|
return createContextBuilder(contextSpec, wiring, new Properties());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <S, A> RestContextBuilder<S, A> createContextBuilder(
|
public static <S, A> RestContextBuilder<S, A> createContextBuilder(
|
||||||
ContextSpec<S, A> contextSpec, Iterable<? extends Module> modules, Properties overrides) {
|
ContextSpec<S, A> contextSpec, Iterable<? extends Module> wiring, Properties overrides) {
|
||||||
try {
|
try {
|
||||||
PropertiesBuilder builder = contextSpec.propertiesBuilderClass.getConstructor(
|
PropertiesBuilder builder = contextSpec.propertiesBuilderClass.getConstructor(
|
||||||
Properties.class).newInstance(overrides);
|
Properties.class).newInstance(overrides);
|
||||||
|
@ -289,7 +313,7 @@ public class RestContextFactory {
|
||||||
contextSpec.contextBuilderClass, contextSpec.sync, contextSpec.async, builder
|
contextSpec.contextBuilderClass, contextSpec.sync, contextSpec.async, builder
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
contextBuilder.withModules(toArray(modules, Module.class));
|
contextBuilder.withModules(toArray(wiring, Module.class));
|
||||||
|
|
||||||
return contextBuilder;
|
return contextBuilder;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
@ -326,8 +350,8 @@ public class RestContextFactory {
|
||||||
* @see RestContextFactory#createContextBuilder(String, Iterable)
|
* @see RestContextFactory#createContextBuilder(String, Iterable)
|
||||||
*/
|
*/
|
||||||
public <S, A> RestContext<S, A> createContext(String provider,
|
public <S, A> RestContext<S, A> createContext(String provider,
|
||||||
Iterable<? extends Module> modules, Properties overrides) {
|
Iterable<? extends Module> wiring, Properties overrides) {
|
||||||
RestContextBuilder<S, A> builder = createContextBuilder(provider, modules, overrides);
|
RestContextBuilder<S, A> builder = createContextBuilder(provider, wiring, overrides);
|
||||||
return buildContextUnwrappingExceptions(builder);
|
return buildContextUnwrappingExceptions(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,9 +359,9 @@ public class RestContextFactory {
|
||||||
* @see RestContextFactory#createContextBuilder(String, String,String, Iterable)
|
* @see RestContextFactory#createContextBuilder(String, String,String, Iterable)
|
||||||
*/
|
*/
|
||||||
public <S, A> RestContext<S, A> createContext(String provider, @Nullable String identity,
|
public <S, A> RestContext<S, A> createContext(String provider, @Nullable String identity,
|
||||||
@Nullable String credential, Iterable<? extends Module> modules) {
|
@Nullable String credential, Iterable<? extends Module> wiring) {
|
||||||
RestContextBuilder<S, A> builder = createContextBuilder(provider, identity, credential,
|
RestContextBuilder<S, A> builder = createContextBuilder(provider, identity, credential,
|
||||||
modules);
|
wiring);
|
||||||
return buildContextUnwrappingExceptions(builder);
|
return buildContextUnwrappingExceptions(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,9 +369,9 @@ public class RestContextFactory {
|
||||||
* @see RestContextFactory#createContextBuilder(String, String,String, Iterable, Properties)
|
* @see RestContextFactory#createContextBuilder(String, String,String, Iterable, Properties)
|
||||||
*/
|
*/
|
||||||
public <S, A> RestContext<S, A> createContext(String provider, @Nullable String identity,
|
public <S, A> RestContext<S, A> createContext(String provider, @Nullable String identity,
|
||||||
@Nullable String credential, Iterable<? extends Module> modules, Properties overrides) {
|
@Nullable String credential, Iterable<? extends Module> wiring, Properties overrides) {
|
||||||
RestContextBuilder<S, A> builder = createContextBuilder(provider, identity, credential,
|
RestContextBuilder<S, A> builder = createContextBuilder(provider, identity, credential,
|
||||||
modules, overrides);
|
wiring, overrides);
|
||||||
return buildContextUnwrappingExceptions(builder);
|
return buildContextUnwrappingExceptions(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -355,8 +379,8 @@ public class RestContextFactory {
|
||||||
* @see RestContextFactory#createContextBuilder(ContextSpec, Iterable, Properties)
|
* @see RestContextFactory#createContextBuilder(ContextSpec, Iterable, Properties)
|
||||||
*/
|
*/
|
||||||
public static <S, A> RestContext<S, A> createContext(ContextSpec<S, A> contextSpec,
|
public static <S, A> RestContext<S, A> createContext(ContextSpec<S, A> contextSpec,
|
||||||
Iterable<? extends Module> modules, Properties overrides) {
|
Iterable<? extends Module> wiring, Properties overrides) {
|
||||||
RestContextBuilder<S, A> builder = createContextBuilder(contextSpec, modules, overrides);
|
RestContextBuilder<S, A> builder = createContextBuilder(contextSpec, wiring, overrides);
|
||||||
return buildContextUnwrappingExceptions(builder);
|
return buildContextUnwrappingExceptions(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -372,8 +396,8 @@ public class RestContextFactory {
|
||||||
* @see RestContextFactory#createContextBuilder(ContextSpec, Iterable)
|
* @see RestContextFactory#createContextBuilder(ContextSpec, Iterable)
|
||||||
*/
|
*/
|
||||||
public static <S, A> RestContext<S, A> createContext(ContextSpec<S, A> contextSpec,
|
public static <S, A> RestContext<S, A> createContext(ContextSpec<S, A> contextSpec,
|
||||||
Iterable<? extends Module> modules) {
|
Iterable<? extends Module> wiring) {
|
||||||
RestContextBuilder<S, A> builder = createContextBuilder(contextSpec, modules);
|
RestContextBuilder<S, A> builder = createContextBuilder(contextSpec, wiring);
|
||||||
return buildContextUnwrappingExceptions(builder);
|
return buildContextUnwrappingExceptions(builder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue