mirror of https://github.com/apache/jclouds.git
Support for setting RunScriptOnNode.Factory
- Set default RunScriptOnNode.Factory impl using @ImplementedBy, rather than hardcoding the binding
This commit is contained in:
parent
9212d4ff26
commit
3f3037c729
|
@ -27,6 +27,7 @@ import org.jclouds.scriptbuilder.domain.Statement;
|
||||||
|
|
||||||
import com.google.common.annotations.Beta;
|
import com.google.common.annotations.Beta;
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
|
import com.google.inject.ImplementedBy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Separates out how one implements the ability to run a script on a node.
|
* Separates out how one implements the ability to run a script on a node.
|
||||||
|
@ -36,6 +37,7 @@ import com.google.common.util.concurrent.ListenableFuture;
|
||||||
@Beta
|
@Beta
|
||||||
public interface RunScriptOnNode extends Callable<ExecResponse> {
|
public interface RunScriptOnNode extends Callable<ExecResponse> {
|
||||||
|
|
||||||
|
@ImplementedBy(org.jclouds.compute.config.BaseComputeServiceContextModule.RunScriptOnNodeFactoryImpl.class)
|
||||||
public interface Factory {
|
public interface Factory {
|
||||||
|
|
||||||
RunScriptOnNode create(NodeMetadata node, Statement script, RunScriptOptions options);
|
RunScriptOnNode create(NodeMetadata node, Statement script, RunScriptOptions options);
|
||||||
|
|
|
@ -104,8 +104,6 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule {
|
||||||
|
|
||||||
install(new PersistNodeCredentialsModule());
|
install(new PersistNodeCredentialsModule());
|
||||||
|
|
||||||
bind(RunScriptOnNode.Factory.class).to(RunScriptOnNodeFactoryImpl.class);
|
|
||||||
|
|
||||||
install(new FactoryModuleBuilder().implement(new TypeLiteral<Callable<Void>>() {
|
install(new FactoryModuleBuilder().implement(new TypeLiteral<Callable<Void>>() {
|
||||||
}, CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.class)
|
}, CustomizeNodeAndAddToGoodMapOrPutExceptionIntoBadMap.class)
|
||||||
.implement(new TypeLiteral<Function<AtomicReference<NodeMetadata>, Void>>() {
|
.implement(new TypeLiteral<Function<AtomicReference<NodeMetadata>, Void>>() {
|
||||||
|
@ -124,7 +122,7 @@ public abstract class BaseComputeServiceContextModule extends AbstractModule {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
static class RunScriptOnNodeFactoryImpl implements RunScriptOnNode.Factory {
|
public static class RunScriptOnNodeFactoryImpl implements RunScriptOnNode.Factory {
|
||||||
|
|
||||||
static interface Factory {
|
static interface Factory {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue