Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
AKTIN
dwh-import
Commits
86172058
Commit
86172058
authored
Nov 17, 2017
by
R.W.Majeed
Browse files
don't write empty operation outcome, add ok information if empty
parent
f059485a
Changes
1
Show whitespace changes
Inline
Side-by-side
cda-server/src/main/java/org/aktin/cda/etl/fhir/SimplifiedOperationOutcome.java
View file @
86172058
...
...
@@ -65,6 +65,7 @@ public class SimplifiedOperationOutcome {
public
static
class
Issue
{
Severity
severity
;
String
details
;
String
diagnostics
;
IssueType
code
;
public
Issue
(
Severity
severity
,
IssueType
type
,
String
details
){
this
.
severity
=
severity
;
...
...
@@ -86,6 +87,11 @@ public class SimplifiedOperationOutcome {
break
;
}
}
public
static
Issue
diagnosticInfo
(
String
message
){
Issue
i
=
new
Issue
(
Severity
.
information
,
IssueType
.
informational
,
null
);
i
.
diagnostics
=
"all ok"
;
return
i
;
}
}
private
List
<
Issue
>
issues
;
...
...
@@ -110,6 +116,24 @@ public class SimplifiedOperationOutcome {
issues
.
add
(
new
Issue
(
severity
,
details
));
}
private
void
writeIssue
(
XMLStreamWriter
writer
,
Issue
issue
)
throws
XMLStreamException
{
writer
.
writeStartElement
(
"issue"
);
// severity
writer
.
writeStartElement
(
"severity"
);
writer
.
writeAttribute
(
"value"
,
issue
.
severity
.
name
());
writer
.
writeEndElement
();
// code
writer
.
writeStartElement
(
"code"
);
writer
.
writeAttribute
(
"value"
,
issue
.
code
.
value
);
writer
.
writeEndElement
();
if
(
issue
.
details
!=
null
){
writer
.
writeStartElement
(
"details"
);
writer
.
writeAttribute
(
"value"
,
issue
.
details
);
writer
.
writeEndElement
();
}
writer
.
writeEndElement
();
}
/**
* Generate the XML representation of the response
*
...
...
@@ -128,22 +152,11 @@ public class SimplifiedOperationOutcome {
// writer.setDefaultNamespace(FHIR_NAMESPACE);
// writer.writeDefaultNamespace(FHIR_NAMESPACE);
for
(
Issue
issue
:
issues
){
writer
.
writeStartElement
(
"issue"
);
// severity
writer
.
writeStartElement
(
"severity"
);
writer
.
writeAttribute
(
"value"
,
issue
.
severity
.
name
());
writer
.
writeEndElement
();
// code
writer
.
writeStartElement
(
"code"
);
writer
.
writeAttribute
(
"value"
,
issue
.
code
.
value
);
writer
.
writeEndElement
();
if
(
issue
.
details
!=
null
){
writer
.
writeStartElement
(
"details"
);
writer
.
writeAttribute
(
"value"
,
issue
.
details
);
writer
.
writeEndElement
();
writeIssue
(
writer
,
issue
);
}
writer
.
writeEndElement
();
// prevent empty ObservationOutcome. Write success info for empty issues
if
(
issues
.
isEmpty
()
){
writeIssue
(
writer
,
Issue
.
diagnosticInfo
(
"all ok"
));
}
writer
.
writeEndElement
();
writer
.
writeEndDocument
();
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment