Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Replace HTML_HYPERLINK_PREFIX_FOR_CGI with std::string argument #108

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrcomtn.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ class DCMTK_DCMSR_EXPORT DSRCompositeTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;


Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrcomvl.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,7 @@ class DCMTK_DCMSR_EXPORT DSRCompositeReferenceValue
virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

/** get SOP class UID
Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrcontn.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ class DCMTK_DCMSR_EXPORT DSRContainerTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

/** get continuity of content flag.
Expand Down
7 changes: 6 additions & 1 deletion dcmsr/include/dcmtk/dcmsr/dsrdoc.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */

#include "dcmtk/dcmsr/dsrtypes.h"
#include "dcmtk/dcmsr/dsrdoctr.h"
#include "dcmtk/dcmsr/dsrrtpl.h"
#include "dcmtk/dcmsr/dsrsoprf.h"
Expand Down Expand Up @@ -200,7 +201,9 @@ class DCMTK_DCMSR_EXPORT DSRDocument
*/
virtual OFCondition renderHTML(STD_NAMESPACE ostream &stream,
const size_t flags = 0,
const char *styleSheet = NULL);
const char* styleSheet = NULL,
const std::string& urlPrefixToCompositeObjects = HTML_HYPERLINK_PREFIX_FOR_CGI
);


// --- get/set misc attributes ---
Expand Down Expand Up @@ -1281,6 +1284,7 @@ class DCMTK_DCMSR_EXPORT DSRDocument
*/
void renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
DSRSOPInstanceReferenceList &refList,
const std::string& urlPrefixToCompositeObjects,
const size_t flags);

/** render list of referenced SOP instances in HTML/XHTML format
Expand All @@ -1290,6 +1294,7 @@ class DCMTK_DCMSR_EXPORT DSRDocument
*/
void renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
DSRReferencedInstanceList &refList,
const std::string& urlPrefixToCompositeObjects,
const size_t flags);

/** check the given dataset before reading.
Expand Down
3 changes: 3 additions & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrdoctn.h
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

/** check whether content item is digitally signed.
Expand Down Expand Up @@ -593,6 +594,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

/** write common item start (XML tag)
Expand Down Expand Up @@ -711,6 +713,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

// --- static function ---
Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrdoctr.h
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ class DCMTK_DCMSR_EXPORT DSRDocumentTree
*/
virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
const std::string& urlPrefixToCompositeObjects,
const size_t flags = 0);

/** get document type
Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrimgtn.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ class DCMTK_DCMSR_EXPORT DSRImageTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;


Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrimgvl.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ class DCMTK_DCMSR_EXPORT DSRImageReferenceValue
virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

/** create an icon image from the given DICOM image and associate it with this image
Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrwavtn.h
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ class DCMTK_DCMSR_EXPORT DSRWaveformTreeNode
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;


Expand Down
1 change: 1 addition & 0 deletions dcmsr/include/dcmtk/dcmsr/dsrwavvl.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ class DCMTK_DCMSR_EXPORT DSRWaveformReferenceValue
virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const;

/** get reference to waveform reference value
Expand Down
3 changes: 2 additions & 1 deletion dcmsr/libsrc/dsrcomtn.cc
Original file line number Diff line number Diff line change
Expand Up @@ -158,14 +158,15 @@ OFCondition DSRCompositeTreeNode::renderHTMLContentItem(STD_NAMESPACE ostream &d
STD_NAMESPACE ostream &annexStream,
const size_t /* nestingLevel */,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const
{
/* render ConceptName */
OFCondition result = renderHTMLConceptName(docStream, flags);
/* render Reference */
if (result.good())
{
result = DSRCompositeReferenceValue::renderHTML(docStream, annexStream, annexNumber, flags);
result = DSRCompositeReferenceValue::renderHTML(docStream, annexStream, annexNumber, urlPrefixToCompositeObjects, flags);
docStream << OFendl;
}
return result;
Expand Down
3 changes: 2 additions & 1 deletion dcmsr/libsrc/dsrcomvl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,11 @@ OFCondition DSRCompositeReferenceValue::writeSequence(DcmItem &dataset,
OFCondition DSRCompositeReferenceValue::renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream & /*annexStream*/,
size_t & /*annexNumber*/,
const std::string& urlPrefixToCompositeObjects,
const size_t /*flags*/) const
{
/* render reference */
docStream << "<a href=\"" << HTML_HYPERLINK_PREFIX_FOR_CGI;
docStream << "<a href=\"" << urlPrefixToCompositeObjects;
docStream << "?composite=" << SOPClassUID << "+" << SOPInstanceUID << "\">";
/* retrieve name of SOP class (if known) */
docStream << dcmFindNameOfUID(SOPClassUID.c_str(), "unknown composite object");
Expand Down
5 changes: 3 additions & 2 deletions dcmsr/libsrc/dsrcontn.cc
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ OFCondition DSRContainerTreeNode::renderHTML(STD_NAMESPACE ostream &docStream,
STD_NAMESPACE ostream &annexStream,
const size_t nestingLevel,
size_t &annexNumber,
const std::string& urlPrefixToCompositeObjects,
const size_t flags) const
{
/* check for validity */
Expand All @@ -237,9 +238,9 @@ OFCondition DSRContainerTreeNode::renderHTML(STD_NAMESPACE ostream &docStream,
{
/* section body: render child nodes */
if (ContinuityOfContent == COC_Continuous)
result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags & ~HF_renderItemsSeparately);
result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, urlPrefixToCompositeObjects, flags & ~HF_renderItemsSeparately);
else // might be invalid
result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, flags | HF_renderItemsSeparately);
result = renderHTMLChildNodes(docStream, annexStream, nestingLevel, annexNumber, urlPrefixToCompositeObjects, flags | HF_renderItemsSeparately);
} else
printContentItemErrorMessage("Rendering", result, this);
return result;
Expand Down
19 changes: 12 additions & 7 deletions dcmsr/libsrc/dsrdoc.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1569,6 +1569,7 @@ void DSRDocument::renderHTMLPatientData(STD_NAMESPACE ostream &stream,

void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
DSRSOPInstanceReferenceList &refList,
const std::string& urlPrefixToCompositeObjects,
const size_t flags)
{
/* goto first list item (if not empty) */
Expand All @@ -1589,7 +1590,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
OFString sopClass, sopInstance;
if (!refList.getSOPClassUID(sopClass).empty() && !refList.getSOPInstanceUID(sopInstance).empty())
{
stream << "<td><a href=\"" << HTML_HYPERLINK_PREFIX_FOR_CGI;
stream << "<td><a href=\"" << urlPrefixToCompositeObjects;
stream << "?composite=" << sopClass << "+" << sopInstance << "\">";
/* check whether referenced object has a well-known SOP class */
stream << dcmFindNameOfUID(sopClass.c_str(), "unknown composite object");
Expand All @@ -1608,6 +1609,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream,

void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
DSRReferencedInstanceList &refList,
const std::string& urlPrefixToCompositeObjects,
const size_t flags)
{
/* goto first list item (if not empty) */
Expand All @@ -1628,7 +1630,7 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream,
OFString sopClass, sopInstance;
if (!refList.getSOPClassUID(sopClass).empty() && !refList.getSOPInstanceUID(sopInstance).empty())
{
stream << "<td><a href=\"" << HTML_HYPERLINK_PREFIX_FOR_CGI;
stream << "<td><a href=\"" << urlPrefixToCompositeObjects;
stream << "?composite=" << sopClass << "+" << sopInstance << "\">";
/* retrieve name of SOP class (if known) */
stream << dcmFindNameOfUID(sopClass.c_str(), "unknown composite object");
Expand All @@ -1647,9 +1649,12 @@ void DSRDocument::renderHTMLReferenceList(STD_NAMESPACE ostream &stream,

OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream,
const size_t flags,
const char *styleSheet)
const char *styleSheet,
const std::string& urlPrefixToCompositeObjects
)
{
OFCondition result = SR_EC_InvalidDocument;

/* only render valid documents */
if (isValid())
{
Expand Down Expand Up @@ -1874,7 +1879,7 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream,
{
stream << "<tr>" << OFendl;
stream << "<td><b>Predecessor Docs:</b></td>" << OFendl;
renderHTMLReferenceList(stream, PredecessorDocuments, flags);
renderHTMLReferenceList(stream, PredecessorDocuments, urlPrefixToCompositeObjects, flags);
stream << "</tr>" << OFendl;
}
}
Expand All @@ -1883,15 +1888,15 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream,
{
stream << "<tr>" << OFendl;
stream << "<td><b>Identical Docs:</b></td>" << OFendl;
renderHTMLReferenceList(stream, IdenticalDocuments, flags);
renderHTMLReferenceList(stream, IdenticalDocuments, urlPrefixToCompositeObjects, flags);
stream << "</tr>" << OFendl;
}
/* referenced instances */
if (!ReferencedInstances.isEmpty())
{
stream << "<tr>" << OFendl;
stream << "<td><b>Referenced Objects:</b></td>" << OFendl;
renderHTMLReferenceList(stream, ReferencedInstances, flags);
renderHTMLReferenceList(stream, ReferencedInstances, urlPrefixToCompositeObjects, flags);
stream << "</tr>" << OFendl;
}
if (usesGeneralSRModules)
Expand Down Expand Up @@ -1972,7 +1977,7 @@ OFCondition DSRDocument::renderHTML(STD_NAMESPACE ostream &stream,
/* create memory output stream for the annex */
OFOStringStream annexStream;
/* render document tree two the streams */
result = DocumentTree.renderHTML(stream, annexStream, newFlags);
result = DocumentTree.renderHTML(stream, annexStream, urlPrefixToCompositeObjects, newFlags);
/* append annex (with heading) to main document */
if (result.good())
result = appendStream(stream, annexStream, "<h1>Annex</h1>");
Expand Down
Loading