Skip to content

Commit d28bcfd

Browse files
committed
Revert "No preloading of buckets."
This reverts commit 87452aa
1 parent 2880ca3 commit d28bcfd

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

hub/src/main/java/cloud/katta/protocols/hub/HubSession.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ public class HubSession extends HttpSession<HubApiClient> {
9090
private UserDto me;
9191
private ConfigDto config;
9292
private UserKeys userKeys;
93+
private AttributedList<Path> vaults;
9394

9495
public HubSession(final Host host, final X509TrustManager trust, final X509KeyManager key) {
9596
super(host, trust, key);
@@ -183,6 +184,15 @@ public void login(final LoginCallback prompt, final CancelCallback cancel) throw
183184
throw new InteroperabilityException(String.format("Unsupported storage configuration %s", storageProfile.getProtocol().name()));
184185
}
185186
}
187+
// Ensure vaults are registered
188+
try {
189+
vaults = new HubVaultListService(this, prompt).list(Home.root(), new DisabledListProgressListener());
190+
}
191+
finally {
192+
log.debug("Destroyed user keys {}", userKeys);
193+
// Short-lived
194+
userKeys.destroy();
195+
}
186196
}
187197
catch(ApiException e) {
188198
throw new HubExceptionMappingService().map(e);
@@ -243,7 +253,7 @@ public UserKeys getUserKeys() {
243253
@SuppressWarnings("unchecked")
244254
public <T> T _getFeature(final Class<T> type) {
245255
if(type == ListService.class) {
246-
return (T) new HubVaultListService(this);
256+
return (T) (ListService) (directory, listener) -> vaults;
247257
}
248258
if(type == Scheduler.class) {
249259
return (T) access;

hub/src/main/java/cloud/katta/protocols/hub/HubVaultListService.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
package cloud.katta.protocols.hub;
66

77
import ch.cyberduck.core.AttributedList;
8-
import ch.cyberduck.core.DisabledPasswordCallback;
98
import ch.cyberduck.core.ListProgressListener;
109
import ch.cyberduck.core.ListService;
1110
import ch.cyberduck.core.LocaleFactory;
11+
import ch.cyberduck.core.PasswordCallback;
1212
import ch.cyberduck.core.Path;
1313
import ch.cyberduck.core.exception.AccessDeniedException;
1414
import ch.cyberduck.core.exception.BackgroundException;
@@ -35,9 +35,11 @@ public class HubVaultListService implements ListService {
3535
private static final Logger log = LogManager.getLogger(HubVaultListService.class);
3636

3737
private final HubSession session;
38+
private final PasswordCallback prompt;
3839

39-
public HubVaultListService(final HubSession session) {
40+
public HubVaultListService(final HubSession session, final PasswordCallback prompt) {
4041
this.session = session;
42+
this.prompt = prompt;
4143
}
4244

4345
@Override
@@ -58,7 +60,7 @@ public AttributedList<Path> list(final Path directory, final ListProgressListene
5860
final UvfMetadataPayload vaultMetadata = vaultService.getVaultMetadataJWE(vaultDto.getId(), session.getUserKeys());
5961
final HubUVFVault vault = new HubUVFVault(session, vaultDto.getId(), vaultMetadata);
6062
try {
61-
registry.add(vault.load(session, new DisabledPasswordCallback()));
63+
registry.add(vault.load(session, prompt));
6264
vaults.add(vault.getHome());
6365
listener.chunk(directory, vaults);
6466
}

0 commit comments

Comments
 (0)