in services/resource-service/server/src/main/java/org/apache/airavata/mft/resource/server/backend/sql/SQLResourceBackend.java [133:168]
public StorageListResponse searchStorages(StorageSearchRequest request) throws Exception {
StorageListResponse.Builder resp = StorageListResponse.newBuilder();
switch (request.getSearchQueryCase()) {
case STORAGEID:
Optional<ResolveStorageEntity> storageOp = resolveStorageRepository.getByStorageId(request.getStorageId());
if (storageOp.isPresent()) {
StorageListEntry.Builder entry = StorageListEntry.newBuilder();
entry.setStorageId(storageOp.get().getStorageId());
entry.setStorageName(storageOp.get().getStorageName());
entry.setStorageType(StorageType.valueOf(storageOp.get().getStorageType().name()));
resp.addStorageList(entry);
}
break;
case STORAGENAME:
List<ResolveStorageEntity> storages = resolveStorageRepository.getByStorageName(request.getStorageName());
storages.forEach(st -> {
StorageListEntry.Builder entry = StorageListEntry.newBuilder();
entry.setStorageId(st.getStorageId());
entry.setStorageName(st.getStorageName());
entry.setStorageType(StorageType.valueOf(st.getStorageType().name()));
resp.addStorageList(entry);
});
break;
case STORAGETYPE:
storages = resolveStorageRepository.getByStorageType(ResolveStorageEntity.StorageType.valueOf(request.getStorageType().name()));
storages.forEach(st -> {
StorageListEntry.Builder entry = StorageListEntry.newBuilder();
entry.setStorageId(st.getStorageId());
entry.setStorageName(st.getStorageName());
entry.setStorageType(StorageType.valueOf(st.getStorageType().name()));
resp.addStorageList(entry);
});
break;
}
return resp.build();
}