mirror of https://github.com/apache/jclouds.git
Issue 327: fixed caching bug
This commit is contained in:
parent
09e155bf0d
commit
3363f62b83
|
@ -86,7 +86,6 @@ import com.google.common.base.Function;
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.base.Supplier;
|
import com.google.common.base.Supplier;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
import com.google.inject.TypeLiteral;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configures the VCloud authentication service connection, including logging
|
* Configures the VCloud authentication service connection, including logging
|
||||||
|
@ -106,12 +105,6 @@ public abstract class BaseVCloudRestClientModule<S extends VCloudClient, A exten
|
||||||
@Override
|
@Override
|
||||||
protected void configure() {
|
protected void configure() {
|
||||||
requestInjection(this);
|
requestInjection(this);
|
||||||
bind(new TypeLiteral<Supplier<Map<String, NamedResource>>>() {
|
|
||||||
}).annotatedWith(Org.class).to(new TypeLiteral<OrgNameToOrgSupplier>() {
|
|
||||||
});
|
|
||||||
bind(new TypeLiteral<Supplier<Map<URI, ? extends org.jclouds.vcloud.domain.VDC>>>() {
|
|
||||||
}).to(new TypeLiteral<URItoVDC>() {
|
|
||||||
});
|
|
||||||
super.configure();
|
super.configure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,6 +138,33 @@ public abstract class BaseVCloudRestClientModule<S extends VCloudClient, A exten
|
||||||
return getLast(orgs).getName();
|
return getLast(orgs).getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Org
|
||||||
|
@Singleton
|
||||||
|
protected Supplier<Map<String, NamedResource>> provideVDCtoORG(@Named(PROPERTY_SESSION_INTERVAL) long seconds,
|
||||||
|
final OrgNameToOrgSupplier supplier) {
|
||||||
|
return new RetryOnTimeOutButNotOnAuthorizationExceptionSupplier<Map<String, NamedResource>>(authException,
|
||||||
|
seconds, new Supplier<Map<String, NamedResource>>() {
|
||||||
|
@Override
|
||||||
|
public Map<String, NamedResource> get() {
|
||||||
|
return supplier.get();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
protected Supplier<Map<URI, ? extends org.jclouds.vcloud.domain.VDC>> provideVDCtoORG(
|
||||||
|
@Named(PROPERTY_SESSION_INTERVAL) long seconds, final URItoVDC supplier) {
|
||||||
|
return new RetryOnTimeOutButNotOnAuthorizationExceptionSupplier<Map<URI, ? extends org.jclouds.vcloud.domain.VDC>>(
|
||||||
|
authException, seconds, new Supplier<Map<URI, ? extends org.jclouds.vcloud.domain.VDC>>() {
|
||||||
|
@Override
|
||||||
|
public Map<URI, ? extends org.jclouds.vcloud.domain.VDC> get() {
|
||||||
|
return supplier.get();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
@VDC
|
@VDC
|
||||||
|
|
|
@ -238,7 +238,7 @@ public class TerremarkVCloudComputeClient extends BaseVCloudComputeClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
void blockOnLastTask(VApp vApp) {
|
void blockOnLastTask(VApp vApp) {
|
||||||
TasksList list = client.getTasksList(vApp.getVDC());
|
TasksList list = client.findTasksListInOrgNamed(null, null);
|
||||||
try {
|
try {
|
||||||
Task lastTask = getLast(filter(list.getTasks(), new Predicate<Task>() {
|
Task lastTask = getLast(filter(list.getTasks(), new Predicate<Task>() {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue