From: <ac...@us...> - 2010-04-28 21:55:36
|
Revision: 13256 http://dcm4che.svn.sourceforge.net/dcm4che/?rev=13256&view=rev Author: achung Date: 2010-04-28 21:55:30 +0000 (Wed, 28 Apr 2010) Log Message: ----------- [#DCMEE-1407] Added ability to defer debug logging to doBeforeRsp() method for outboud C-Find Responses Modified Paths: -------------- dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/etc/conf/xmdesc/dcm4chee-qrscp-xmbean.xml dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/FindScp.java dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/QueryRetrieveScpService.java Modified: dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/etc/conf/xmdesc/dcm4chee-qrscp-xmbean.xml =================================================================== --- dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/etc/conf/xmdesc/dcm4chee-qrscp-xmbean.xml 2010-04-28 21:49:16 UTC (rev 13255) +++ dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/etc/conf/xmdesc/dcm4chee-qrscp-xmbean.xml 2010-04-28 21:55:30 UTC (rev 13256) @@ -1047,6 +1047,18 @@ </descriptors> </attribute> <attribute access="read-write" + getMethod="isCFindRspDebugLogDeferToDoBeforeRsp" + setMethod="setCFindRspDebugLogDeferToDoBeforeRsp"> + <description>Defer DEBUG logging of C-Find Response to doBeforeRsp() + function just before the response is actually being sent out + </description> + <name>CFindRspDebugLogDeferToDoBeforeRsp</name> + <type>boolean</type> + <descriptors> + <value value="false"/> + </descriptors> + </attribute> + <attribute access="read-write" getMethod="getDcmServerName" setMethod="setDcmServerName"> <description>Used internally. Do NOT modify. Modified: dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/FindScp.java =================================================================== --- dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/FindScp.java 2010-04-28 21:49:16 UTC (rev 13255) +++ dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/FindScp.java 2010-04-28 21:55:30 UTC (rev 13256) @@ -324,6 +324,23 @@ return queryCmd.getDataset(); } + protected void doBeforeRsp(ActiveAssociation assoc, Dimse rsp) { + if (log.isDebugEnabled()) + { + if (service.isCFindRspDebugLogDeferToDoBeforeRsp()) { + try { + Dataset ds = rsp.getDataset(); + if (ds != null) { + log.debug("Identifier:\n"); + log.debug(ds); + } + } catch (IOException iOException) { + log.error("Failed to debug log C-Find response", iOException); + } + } + } + } + protected void doMultiRsp(ActiveAssociation assoc, Dimse rq, Command rspCmd, MultiDimseRsp mdr) throws IOException, DcmServiceException { @@ -401,8 +418,10 @@ } rspCmd.putUS(Tags.Status, pendingStatus); Dataset data = getDataset(queryCmd); - log.debug("Identifier:\n"); - log.debug(data); + if (!service.isCFindRspDebugLogDeferToDoBeforeRsp()) { + log.debug("Identifier:\n"); + log.debug(data); + } service.logDIMSE(a, RESULT_XML, data); if (count++ == 0) { coerceTpl = service.getCoercionTemplates(callingAET, Modified: dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/QueryRetrieveScpService.java =================================================================== --- dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/QueryRetrieveScpService.java 2010-04-28 21:49:16 UTC (rev 13255) +++ dcm4chee/dcm4chee-arc/trunk/dcm4jboss-sar/src/java/org/dcm4chex/archive/dcm/qrscp/QueryRetrieveScpService.java 2010-04-28 21:55:30 UTC (rev 13256) @@ -254,6 +254,8 @@ private boolean coerceAttributeTopDown = false; + private boolean cFindRspDebugLogDeferToDoBeforeRsp = false; + public QueryRetrieveScpService() { moveScp = createMoveScp(); getScp = createGetScp(); @@ -1623,4 +1625,12 @@ public void setCoerceAttributeTopDown(boolean reverse) { this.coerceAttributeTopDown = reverse; } + + public boolean isCFindRspDebugLogDeferToDoBeforeRsp() { + return cFindRspDebugLogDeferToDoBeforeRsp; + } + + public void setCFindRspDebugLogDeferToDoBeforeRsp(boolean defer) { + this.cFindRspDebugLogDeferToDoBeforeRsp = defer; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |