Skip to content

Commit cf31063

Browse files
committed
Several views were throwing errors trying to access a None value
in `EventSinkService` when a user was not logged in. Replaced `get()` with `getOrElse()`.
1 parent 3c16b47 commit cf31063

File tree

5 files changed

+33
-27
lines changed

5 files changed

+33
-27
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/)
55
and this project adheres to [Semantic Versioning](http://semver.org/).
66

7+
## 1.15.1 - 2021-03-12
8+
9+
### Fixed
10+
- Several views were throwing errors trying to access a None value in `EventSinkService` when a user was not logged in.
11+
Replaced `get()` with `getOrElse()`.
12+
713
## 1.15.0 - 2021-03-03
814

915
### Added

app/services/EventSinkService.scala

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ class EventSinkService {
8080
"resource_name" -> dataset.name,
8181
"author_id" -> dataset.author.id,
8282
"author_name" -> dataset.author.fullName,
83-
"viewer_id" -> viewer.get.id,
84-
"viewer_name" -> viewer.get.getMiniUser.fullName
83+
"viewer_id" -> viewer.getOrElse(User.anonymous).id,
84+
"viewer_name" -> viewer.getOrElse(User.anonymous).getMiniUser.fullName
8585
))
8686
}
8787

@@ -94,8 +94,8 @@ class EventSinkService {
9494
"resource_name" -> file.filename,
9595
"author_id" -> file.author.id,
9696
"author_name" -> file.author.fullName,
97-
"viewer_id" -> viewer.get.id,
98-
"viewer_name" -> viewer.get.getMiniUser.fullName
97+
"viewer_id" -> viewer.getOrElse(User.anonymous).id,
98+
"viewer_name" -> viewer.getOrElse(User.anonymous).getMiniUser.fullName
9999
))
100100
}
101101

@@ -108,8 +108,8 @@ class EventSinkService {
108108
"resource_name" -> collection.name,
109109
"author_id" -> collection.author.id,
110110
"author_name" -> collection.author.fullName,
111-
"viewer_id" -> viewer.get.id,
112-
"viewer_name" -> viewer.get.getMiniUser.fullName
111+
"viewer_id" -> viewer.getOrElse(User.anonymous).id,
112+
"viewer_name" -> viewer.getOrElse(User.anonymous).getMiniUser.fullName
113113
))
114114
}
115115

@@ -135,8 +135,8 @@ class EventSinkService {
135135
"resource_name" -> space.name,
136136
"author_id" -> author.id,
137137
"author_name" -> author.fullName,
138-
"viewer_id" -> "",
139-
"viewer_name" -> "Anonymous"
138+
"viewer_id" -> User.anonymous.id,
139+
"viewer_name" -> User.anonymous.fullName
140140
))
141141
}
142142
case (Some(v), None) => {
@@ -159,8 +159,8 @@ class EventSinkService {
159159
"resource_name" -> space.name,
160160
"author_id" -> space.creator.stringify,
161161
"author_name" -> "",
162-
"viewer_id" -> "",
163-
"viewer_name" -> "Anonymous"
162+
"viewer_id" -> User.anonymous.id,
163+
"viewer_name" -> User.anonymous.fullName
164164
))
165165
}
166166
}
@@ -174,8 +174,8 @@ class EventSinkService {
174174
"resource_name" -> file.filename,
175175
"author_id" -> file.author.id,
176176
"author_name" -> file.author.fullName,
177-
"submitter_id" -> submitter.get.id,
178-
"submitter_name" -> submitter.get.getMiniUser.fullName
177+
"submitter_id" -> submitter.getOrElse(User.anonymous).id,
178+
"submitter_name" -> submitter.getOrElse(User.anonymous).getMiniUser.fullName
179179
))
180180
}
181181

@@ -187,8 +187,8 @@ class EventSinkService {
187187
"resource_name" -> dataset.name,
188188
"author_id" -> dataset.author.id,
189189
"author_name" -> dataset.author.fullName,
190-
"submitter_id" -> submitter.get.id,
191-
"submitter_name" -> submitter.get.getMiniUser.fullName
190+
"submitter_id" -> submitter.getOrElse(User.anonymous).id,
191+
"submitter_name" -> submitter.getOrElse(User.anonymous).getMiniUser.fullName
192192
))
193193
}
194194

@@ -201,8 +201,8 @@ class EventSinkService {
201201
"resource_name" -> dataset.name,
202202
"author_id" -> dataset.author.id,
203203
"author_name" -> dataset.author.fullName,
204-
"submitter_id" -> submitter.get.id,
205-
"submitter_name" -> submitter.get.getMiniUser.fullName
204+
"submitter_id" -> submitter.getOrElse(User.anonymous).id,
205+
"submitter_name" -> submitter.getOrElse(User.anonymous).getMiniUser.fullName
206206
))
207207
}
208208

@@ -214,16 +214,16 @@ class EventSinkService {
214214
"dataset_name" -> d.name,
215215
"dataset_author_name" -> d.author.fullName,
216216
"dataset_author_id" -> d.author.id,
217-
"uploader_id" -> uploader.get.id,
218-
"uploader_name" -> uploader.get.getMiniUser.fullName,
217+
"uploader_id" -> uploader.getOrElse(User.anonymous).id,
218+
"uploader_name" -> uploader.getOrElse(User.anonymous).getMiniUser.fullName,
219219
"filename" -> file.filename,
220220
"length" -> file.length
221221
))
222222
}
223223
case None => {
224224
logEvent("upload", Json.obj(
225-
"uploader_id" -> uploader.get.id,
226-
"uploader_name" -> uploader.get.getMiniUser.fullName,
225+
"uploader_id" -> uploader.getOrElse(User.anonymous).id,
226+
"uploader_name" -> uploader.getOrElse(User.anonymous).getMiniUser.fullName,
227227
"filename" -> file.filename,
228228
"length" -> file.length
229229
))
@@ -240,8 +240,8 @@ class EventSinkService {
240240
"type" -> "file",
241241
"uploader_id" -> file.author.id,
242242
"uploader_name" -> file.author.fullName,
243-
"downloader_id" -> downloader.get.id,
244-
"downloader_name" -> downloader.get.getMiniUser.fullName,
243+
"downloader_id" -> downloader.getOrElse(User.anonymous).id,
244+
"downloader_name" -> downloader.getOrElse(User.anonymous).getMiniUser.fullName,
245245
"filename" -> file.filename,
246246
"length" -> file.length
247247
))
@@ -254,8 +254,8 @@ class EventSinkService {
254254
"dataset_name" -> dataset.name,
255255
"dataset_author_name" -> dataset.author.fullName,
256256
"dataset_author_id" -> dataset.author.id,
257-
"downloader_id" -> downloader.get.id,
258-
"downloader_name" -> downloader.get.getMiniUser.fullName,
257+
"downloader_id" -> downloader.getOrElse(User.anonymous).id,
258+
"downloader_name" -> downloader.getOrElse(User.anonymous).getMiniUser.fullName,
259259
"files_length" -> dataset.files.length,
260260
"folder_length" -> dataset.folders.length
261261
))

doc/src/sphinx/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
author = 'Luigi Marini'
2323

2424
# The full version, including alpha/beta/rc tags
25-
release = '1.15.0'
25+
release = '1.15.1'
2626

2727

2828
# -- General configuration ---------------------------------------------------

project/Build.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import NativePackagerKeys._
1313
object ApplicationBuild extends Build {
1414

1515
val appName = "clowder"
16-
val version = "1.15.0"
16+
val version = "1.15.1"
1717
val jvm = "1.7"
1818

1919
def appVersion: String = {

public/swagger.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ info:
99
Clowder is a customizable and scalable data management system to support any
1010
data format and multiple research domains. It is under active development
1111
and deployed for a variety of research projects.
12-
version: 1.15.0
12+
version: 1.15.1
1313
termsOfService: https://clowder.ncsa.illinois.edu/clowder/tos
1414
contact:
1515
name: Clowder

0 commit comments

Comments
 (0)