From: <gun...@us...> - 2007-10-30 09:56:04
|
Revision: 5364 http://dcm4che.svn.sourceforge.net/dcm4che/?rev=5364&view=rev Author: gunterze Date: 2007-10-30 02:56:01 -0700 (Tue, 30 Oct 2007) Log Message: ----------- [#DCMEE-603] Patient Root C-Find response inconsistency Modified Paths: -------------- dcm4chee/dcm4chee-arc/trunk/dcm4jboss-ejb/src/java/org/dcm4chex/archive/ejb/jdbc/QueryCmd.java Modified: dcm4chee/dcm4chee-arc/trunk/dcm4jboss-ejb/src/java/org/dcm4chex/archive/ejb/jdbc/QueryCmd.java =================================================================== --- dcm4chee/dcm4chee-arc/trunk/dcm4jboss-ejb/src/java/org/dcm4chex/archive/ejb/jdbc/QueryCmd.java 2007-10-29 16:54:58 UTC (rev 5363) +++ dcm4chee/dcm4chee-arc/trunk/dcm4jboss-ejb/src/java/org/dcm4chex/archive/ejb/jdbc/QueryCmd.java 2007-10-30 09:56:01 UTC (rev 5364) @@ -216,9 +216,19 @@ boolean noMatchForNoValue, Subject subject) throws SQLException { super(keys, filterResult, noMatchForNoValue, transactionIsolationLevel); this.subject = subject; + if (!keys.contains(Tags.SpecificCharacterSet)) { + keys.putCS(Tags.SpecificCharacterSet); + } matchingKeys.add(Tags.QueryRetrieveLevel); } + protected void addAdditionalReturnKeys() { + keys.putAE(Tags.RetrieveAET); + keys.putSH(Tags.StorageMediaFileSetID); + keys.putUI(Tags.StorageMediaFileSetUID); + keys.putCS(Tags.InstanceAvailability); + } + protected void init() { sqlBuilder.setSelect(getSelectAttributes()); sqlBuilder.setFrom(getTables()); @@ -540,14 +550,7 @@ if (!otherPatientIDMatchNotSupported) addOtherPatientSeq(ds, keys); adjustDataset(ds, keys); - if (!filterResult) - return ds; - keys.putCS(Tags.SpecificCharacterSet); - keys.putAE(Tags.RetrieveAET); - keys.putSH(Tags.StorageMediaFileSetID); - keys.putUI(Tags.StorageMediaFileSetUID); - keys.putCS(Tags.InstanceAvailability); - return ds.subSet(keys); + return filterResult ? ds.subSet(keys) : ds; } private void addOtherPatientSeq(Dataset ds, Dataset keys) @@ -680,6 +683,7 @@ boolean noMatchForNoValue, Subject subject) throws SQLException { super(keys, filterResult, noMatchForNoValue, subject); + addAdditionalReturnKeys(); } protected void init() { @@ -735,6 +739,7 @@ boolean noMatchForNoValue, Subject subject) throws SQLException { super(keys, filterResult, noMatchForNoValue, subject); + addAdditionalReturnKeys(); } protected void init() { @@ -801,6 +806,7 @@ boolean noMatchForNoValue, Subject subject) throws SQLException { super(keys, filterResult, noMatchForNoValue, subject); + addAdditionalReturnKeys(); } protected void init() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |