More work on threadlocal interceptors

This commit is contained in:
James Agnew 2019-03-22 09:54:02 -04:00
parent c701de2861
commit 87c0b3778b
4 changed files with 12 additions and 1 deletions

View File

@ -483,6 +483,7 @@ public class SearchCoordinatorSvcImpl implements ISearchCoordinatorSvc {
myResourceType = theResourceType; myResourceType = theResourceType;
myCompletionLatch = new CountDownLatch(1); myCompletionLatch = new CountDownLatch(1);
mySearchRuntimeDetails = new SearchRuntimeDetails(mySearch.getUuid()); mySearchRuntimeDetails = new SearchRuntimeDetails(mySearch.getUuid());
mySearchRuntimeDetails.setQueryString(theParams.toNormalizedQueryString(theCallingDao.getContext()));
} }
public SearchRuntimeDetails getSearchRuntimeDetails() { public SearchRuntimeDetails getSearchRuntimeDetails() {
@ -703,6 +704,7 @@ public class SearchCoordinatorSvcImpl implements ISearchCoordinatorSvc {
} }
}); });
// FIXME: JA interceptor
ourLog.info("Have completed search for [{}{}] and found {} resources in {}ms - Status is {}", mySearch.getResourceType(), mySearch.getSearchQueryString(), mySyncedPids.size(), sw.getMillis(), mySearch.getStatus()); ourLog.info("Have completed search for [{}{}] and found {} resources in {}ms - Status is {}", mySearch.getResourceType(), mySearch.getSearchQueryString(), mySyncedPids.size(), sw.getMillis(), mySearch.getStatus());
} catch (Throwable t) { } catch (Throwable t) {

View File

@ -460,6 +460,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test {
.setValue(new BooleanType(true)); .setValue(new BooleanType(true));
mySearchParameterDao.create(sp); mySearchParameterDao.create(sp);
mySearchParamRegistry.forceRefresh(); mySearchParamRegistry.forceRefresh();
ourLog.info(myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(sp));
// Now create matching/non-matching resources // Now create matching/non-matching resources
Patient pt = new Patient(); Patient pt = new Patient();

View File

@ -11,6 +11,7 @@ public class SearchRuntimeDetails {
private StopWatch myQueryStopwatch; private StopWatch myQueryStopwatch;
private int myFoundMatchesCount; private int myFoundMatchesCount;
private boolean myLoadSynchronous; private boolean myLoadSynchronous;
private String myQueryString;
public SearchRuntimeDetails(String theSearchUuid) { public SearchRuntimeDetails(String theSearchUuid) {
mySearchUuid = theSearchUuid; mySearchUuid = theSearchUuid;
@ -43,4 +44,12 @@ public class SearchRuntimeDetails {
public boolean getLoadSynchronous() { public boolean getLoadSynchronous() {
return myLoadSynchronous; return myLoadSynchronous;
} }
public void setQueryString(String theQueryString) {
myQueryString = theQueryString;
}
public String getQueryString() {
return myQueryString;
}
} }

View File

@ -373,7 +373,6 @@ public class SearchParameterMap implements Serializable {
b.append(','); b.append(',');
} }
String valueAsQueryToken = nextValueOr.getValueAsQueryToken(theCtx); String valueAsQueryToken = nextValueOr.getValueAsQueryToken(theCtx);
// b.append(ParameterUtil.escapeAndUrlEncode(valueAsQueryToken));
b.append(UrlUtil.escapeUrlParam(valueAsQueryToken)); b.append(UrlUtil.escapeUrlParam(valueAsQueryToken));
} }
} }