mirror of https://github.com/apache/jclouds.git
Expose the Guice injector as a @Beta API
This commit is contained in:
parent
8dd04b5ce5
commit
3cec3293f0
|
@ -23,6 +23,7 @@ import java.util.concurrent.ExecutorService;
|
|||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import com.google.inject.Injector;
|
||||
import org.jclouds.Constants;
|
||||
import org.jclouds.compute.Utils;
|
||||
import org.jclouds.compute.domain.NodeMetadata;
|
||||
|
@ -49,11 +50,11 @@ public class UtilsImpl extends org.jclouds.rest.internal.UtilsImpl implements Ut
|
|||
private final Function<NodeMetadata, SshClient> sshForNode;
|
||||
|
||||
@Inject
|
||||
UtilsImpl(Json json, HttpClient simpleClient, HttpAsyncClient simpleAsyncClient, Crypto encryption,
|
||||
UtilsImpl(Injector injector, Json json, HttpClient simpleClient, HttpAsyncClient simpleAsyncClient, Crypto encryption,
|
||||
DateService date, @Named(Constants.PROPERTY_USER_THREADS) ExecutorService userThreads,
|
||||
@Named(Constants.PROPERTY_IO_WORKER_THREADS) ExecutorService ioThreads, LoggerFactory loggerFactory,
|
||||
Function<NodeMetadata, SshClient> sshForNode) {
|
||||
super(json, simpleClient, simpleAsyncClient, encryption, date, userThreads, ioThreads, loggerFactory);
|
||||
super(injector, json, simpleClient, simpleAsyncClient, encryption, date, userThreads, ioThreads, loggerFactory);
|
||||
this.sshForNode = sshForNode;
|
||||
}
|
||||
|
||||
|
@ -71,5 +72,4 @@ public class UtilsImpl extends org.jclouds.rest.internal.UtilsImpl implements Ut
|
|||
public Function<NodeMetadata, SshClient> sshForNode() {
|
||||
return sshForNode;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@ package org.jclouds.rest;
|
|||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import com.google.common.annotations.Beta;
|
||||
import com.google.inject.Injector;
|
||||
import org.jclouds.crypto.Crypto;
|
||||
import org.jclouds.date.DateService;
|
||||
import org.jclouds.json.Json;
|
||||
|
@ -92,4 +94,14 @@ public interface Utils {
|
|||
* #see #getLoggerFactory
|
||||
*/
|
||||
LoggerFactory loggerFactory();
|
||||
|
||||
|
||||
@Beta
|
||||
Injector getInjector();
|
||||
|
||||
/**
|
||||
* #see #getInjector
|
||||
*/
|
||||
@Beta
|
||||
Injector injector();
|
||||
}
|
||||
|
|
|
@ -23,6 +23,8 @@ import java.util.concurrent.ExecutorService;
|
|||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import com.google.common.annotations.Beta;
|
||||
import com.google.inject.Injector;
|
||||
import org.jclouds.Constants;
|
||||
import org.jclouds.crypto.Crypto;
|
||||
import org.jclouds.date.DateService;
|
||||
|
@ -48,12 +50,14 @@ public class UtilsImpl implements Utils {
|
|||
private final ExecutorService userExecutor;
|
||||
private final ExecutorService ioExecutor;
|
||||
private final LoggerFactory loggerFactory;
|
||||
private Injector injector;
|
||||
|
||||
@Inject
|
||||
protected UtilsImpl(Json json, HttpClient simpleClient, HttpAsyncClient simpleAsyncClient,
|
||||
protected UtilsImpl(Injector injector, Json json, HttpClient simpleClient, HttpAsyncClient simpleAsyncClient,
|
||||
Crypto encryption, DateService date,
|
||||
@Named(Constants.PROPERTY_USER_THREADS) ExecutorService userThreads,
|
||||
@Named(Constants.PROPERTY_IO_WORKER_THREADS) ExecutorService ioThreads, LoggerFactory loggerFactory) {
|
||||
this.injector = injector;
|
||||
this.json = json;
|
||||
this.simpleClient = simpleClient;
|
||||
this.simpleAsyncClient = simpleAsyncClient;
|
||||
|
@ -144,4 +148,16 @@ public class UtilsImpl implements Utils {
|
|||
return json;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Beta
|
||||
public Injector getInjector() {
|
||||
return injector;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Beta
|
||||
public Injector injector() {
|
||||
return getInjector();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue