-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from qbicsoftware/development
Prepare release 1.6.0
- Loading branch information
Showing
8 changed files
with
158 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package life.qbic.datamodel | ||
|
||
class Constants { | ||
|
||
static final public String ISO_8601_DATETIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'" | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
package life.qbic.datamodel.services; | ||
|
||
public enum Status { | ||
WAITING, PROCESSING, PROCESSED, FAILED_QC, DATA_AT_QBIC | ||
} | ||
WAITING, PROCESSING, PROCESSED, FAILED_QC, DATA_AT_QBIC, METADATA_REGISTERED | ||
} |
40 changes: 40 additions & 0 deletions
40
src/main/groovy/life/qbic/datamodel/workflows/MetaData.groovy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
package life.qbic.datamodel.workflows | ||
|
||
import com.fasterxml.jackson.annotation.JsonProperty | ||
import groovy.transform.EqualsAndHashCode | ||
|
||
@EqualsAndHashCode() | ||
class MetaData { | ||
|
||
@JsonProperty('metadata') | ||
private final Map metadata | ||
|
||
MetaData() { | ||
metadata = [:].asImmutable() | ||
} | ||
|
||
MetaData(Map metadata){ | ||
this.metadata = metadata.asImmutable() | ||
} | ||
|
||
@Override | ||
Object getProperty(String s) { | ||
return this.metadata.get(s) | ||
} | ||
|
||
@Override | ||
boolean equals(Object o) { | ||
if( !o instanceof MetaData ) { | ||
return false | ||
} | ||
def trace = o as MetaData | ||
for( String key in this.metadata.keySet() ) { | ||
def thisProperty = this.getProperty(key) | ||
def otherProperty = trace.getProperty(key) | ||
if( ! otherProperty || ( otherProperty != thisProperty ) ) { | ||
return false | ||
} | ||
} | ||
return true | ||
} | ||
} |
64 changes: 64 additions & 0 deletions
64
src/main/groovy/life/qbic/datamodel/workflows/RunInfo.groovy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
package life.qbic.datamodel.workflows | ||
|
||
import com.fasterxml.jackson.annotation.JsonFormat | ||
import com.fasterxml.jackson.annotation.JsonProperty | ||
import groovy.transform.EqualsAndHashCode | ||
import life.qbic.datamodel.Constants | ||
|
||
import java.text.SimpleDateFormat | ||
|
||
enum NextflowEventType | ||
{ | ||
STARTED, PROCESS_SUBMITTED, PROCESS_STARTED, PROCESS_COMPLETED, ERROR, COMPLETED, UNKNOWN | ||
} | ||
|
||
@EqualsAndHashCode() | ||
class RunInfo { | ||
|
||
@JsonProperty("event") | ||
private NextflowEventType event | ||
|
||
@JsonProperty("runName") | ||
private String name | ||
|
||
@JsonProperty("runStatus") | ||
private String status | ||
|
||
@JsonProperty("runId") | ||
private String id | ||
|
||
@JsonProperty("utcTime") | ||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = Constants.ISO_8601_DATETIME_FORMAT) | ||
private Date time | ||
|
||
RunInfo() { | ||
event = NextflowEventType.UNKNOWN | ||
name = "" | ||
status = "" | ||
id = "" | ||
time = new Date() | ||
} | ||
|
||
RunInfo(Map weblogRunInformation) { | ||
event = convertEventStringToEventType(weblogRunInformation.get('event') as String) | ||
name = weblogRunInformation.get('runName') ?: "" | ||
status = weblogRunInformation.get('runStatus') ?: "" | ||
id = weblogRunInformation.get('runId') ?: "" | ||
time = convertStringToDate(weblogRunInformation.get('utcTime') as String) | ||
} | ||
|
||
private static Date convertStringToDate(String s) { | ||
Date date = new SimpleDateFormat(Constants.ISO_8601_DATETIME_FORMAT).parse(s) | ||
return date | ||
} | ||
|
||
private static NextflowEventType convertEventStringToEventType(String event) { | ||
try { | ||
def eventType = event.toUpperCase() as NextflowEventType | ||
return eventType | ||
} catch (IllegalArgumentException e) { | ||
return NextflowEventType.UNKNOWN | ||
} | ||
} | ||
|
||
} |
39 changes: 39 additions & 0 deletions
39
src/main/groovy/life/qbic/datamodel/workflows/Trace.groovy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
package life.qbic.datamodel.workflows | ||
|
||
import com.fasterxml.jackson.annotation.JsonProperty | ||
|
||
|
||
class Trace { | ||
|
||
@JsonProperty("properties") | ||
private final Map traceInformation | ||
|
||
Trace() { | ||
traceInformation = [:].asImmutable() | ||
} | ||
|
||
Trace(Map trace) { | ||
traceInformation = trace.asImmutable() | ||
} | ||
|
||
@Override | ||
Object getProperty(String s) { | ||
return traceInformation.get(s) | ||
} | ||
|
||
@Override | ||
boolean equals(Object o) { | ||
if( !o instanceof Trace ) { | ||
return false | ||
} | ||
def trace = o as Trace | ||
for( String key in this.traceInformation.keySet() ) { | ||
def thisProperty = this.getProperty(key) | ||
def otherProperty = trace.getProperty(key) | ||
if( ! otherProperty || ( otherProperty != thisProperty ) ) { | ||
return false | ||
} | ||
} | ||
return true | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters