public StorageListResponse searchStorages()

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();
    }