Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F77678070
Timers.java
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Aug 15, 20:24
Size
1 KB
Mime Type
text/x-java
Expires
Sat, Aug 17, 20:24 (1 d, 21 h)
Engine
blob
Format
Raw Data
Handle
19901910
Attached To
R4434 MedCo I2b2 Cell
Timers.java
View Options
package
ch.epfl.lca1.medco.util
;
import
com.eclipsesource.json.Json
;
import
com.eclipsesource.json.JsonObject
;
import
org.springframework.util.StopWatch
;
import
java.io.StringWriter
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* Created by misbach on 18.07.17.
*/
public
class
Timers
{
private
static
Map
<
String
,
StopWatch
>
timers
=
new
HashMap
<>();
private
static
List
<
String
>
additionalTimes
=
new
ArrayList
<>();
public
static
StopWatch
get
(
String
stopWatchName
)
{
if
(!
timers
.
containsKey
(
stopWatchName
))
{
timers
.
put
(
stopWatchName
,
new
StopWatch
(
stopWatchName
));
}
return
timers
.
get
(
stopWatchName
);
}
public
static
void
addAdditionalTimes
(
String
times
)
{
if
(
times
!=
null
)
{
additionalTimes
.
add
(
times
);
}
}
/**
* output: stopwatch_name / task_name ; etc
* time_ms ; etc
* @return
*/
public
static
JsonObject
generateFullReport
()
{
JsonObject
times
=
Json
.
object
();
for
(
String
timerName
:
timers
.
keySet
())
{
JsonObject
timerJson
=
Json
.
object
();
for
(
StopWatch
.
TaskInfo
task
:
timers
.
get
(
timerName
).
getTaskInfo
())
{
timerJson
.
add
(
task
.
getTaskName
(),
task
.
getTimeMillis
());
}
times
.
add
(
timerName
,
timerJson
);
}
if
(
additionalTimes
!=
null
)
{
for
(
String
additionalTime
:
additionalTimes
)
{
JsonObject
additionalTimesParsed
=
Json
.
parse
(
additionalTime
).
asObject
();
times
.
merge
(
additionalTimesParsed
);
}
}
return
times
;
}
public
static
void
resetTimers
()
{
timers
.
clear
();
additionalTimes
.
clear
();
}
}
Event Timeline
Log In to Comment