public void addSearchParam(RuntimeSearchParam theParam) { myNameToSearchParam.put(theParam.getName(), theParam); }
private List<String> toCompositeOfStrings(List<RuntimeSearchParam> theCompositeOf) { if (theCompositeOf == null) { return null; } ArrayList<String> retVal = new ArrayList<String>(); for (RuntimeSearchParam next : theCompositeOf) { retVal.add(next.getName()); } return retVal; }
@Override public int hashCode() { return new HashCodeBuilder(17, 37) .append(getId()) .append(getName()) .append(getPath()) .append(getUri()) .toHashCode(); }
@Override public boolean equals(Object theO) { if (this == theO) return true; if (theO == null || getClass() != theO.getClass()) return false; RuntimeSearchParam that = (RuntimeSearchParam) theO; return new EqualsBuilder() .append(getId(), that.getId()) .append(getName(), that.getName()) .append(getPath(), that.getPath()) .append(getUri(), that.getUri()) .isEquals(); }
@PostConstruct public void postConstruct() { Map<String, Map<String, RuntimeSearchParam>> resourceNameToSearchParams = new HashMap<>(); Set<String> resourceNames = myFhirContext.getResourceNames(); for (String resourceName : resourceNames) { RuntimeResourceDefinition nextResDef = myFhirContext.getResourceDefinition(resourceName); String nextResourceName = nextResDef.getName(); HashMap<String, RuntimeSearchParam> nameToParam = new HashMap<>(); resourceNameToSearchParams.put(nextResourceName, nameToParam); for (RuntimeSearchParam nextSp : nextResDef.getSearchParams()) { nameToParam.put(nextSp.getName(), nextSp); } } myBuiltInSearchParams = Collections.unmodifiableMap(resourceNameToSearchParams); }
private IQueryParameterType toParameterType(RuntimeSearchParam theParam, String theQualifier, String theValueAsQueryToken) { IQueryParameterType qp = toParameterType(theParam); qp.setValueAsQueryToken(myContext, theParam.getName(), theQualifier, theValueAsQueryToken); return qp; }
private void addStringParam(ResourceTable theEntity, Set<BaseResourceIndexedSearchParam> retVal, RuntimeSearchParam nextSpDef, String value) { if (value.length() > ResourceIndexedSearchParamString.MAX_LENGTH) { value = value.substring(0, ResourceIndexedSearchParamString.MAX_LENGTH); } ResourceIndexedSearchParamString nextEntity = new ResourceIndexedSearchParamString(getModelConfig(), nextSpDef.getName(), StringNormalizer.normalizeString(value), value); nextEntity.setResource(theEntity); retVal.add(nextEntity); }
private void addStringParam(ResourceTable theEntity, Set<BaseResourceIndexedSearchParam> retVal, RuntimeSearchParam nextSpDef, String value) { if (value.length() > ResourceIndexedSearchParamString.MAX_LENGTH) { value = value.substring(0, ResourceIndexedSearchParamString.MAX_LENGTH); } ResourceIndexedSearchParamString nextEntity = new ResourceIndexedSearchParamString(getModelConfig(), nextSpDef.getName(), StringNormalizer.normalizeString(value), value); nextEntity.setResource(theEntity); retVal.add(nextEntity); }
private void addStringParam(ResourceTable theEntity, Set<BaseResourceIndexedSearchParam> retVal, RuntimeSearchParam nextSpDef, String value) { if (value.length() > ResourceIndexedSearchParamString.MAX_LENGTH) { value = value.substring(0, ResourceIndexedSearchParamString.MAX_LENGTH); } ResourceIndexedSearchParamString nextEntity = new ResourceIndexedSearchParamString(getModelConfig(), nextSpDef.getName(), StringNormalizer.normalizeString(value), value); nextEntity.setResource(theEntity); retVal.add(nextEntity); }
case STRING: { From<ResourceIndexedSearchParamString, ResourceIndexedSearchParamString> stringJoin = theRoot.join("myParamsString", JoinType.INNER); retVal = createPredicateString(leftValue, theResourceName, theParam.getName(), myBuilder, stringJoin); break; retVal = createPredicateToken(leftValue, theResourceName, theParam.getName(), myBuilder, tokenJoin); break; retVal = createPredicateDate(leftValue, theResourceName, theParam.getName(), myBuilder, dateJoin); break; retVal = createPredicateQuantity(leftValue, theResourceName, theParam.getName(), myBuilder, dateJoin); break;
String resourceName = nextSpDef.getName(); boolean multiType = false; if (nextPath.endsWith("[x]")) {
List<RuntimeSearchParam> compositeOf = theParam.getCompositeOf(); if (compositeOf.size() != 2) { throw new InternalErrorException("Parameter " + theParam.getName() + " has " + compositeOf.size() + " composite parts. Don't know how handlt this.");
RuntimeResourceDefinition def = ctx.getResourceDefinition(next.getValue()); for (RuntimeSearchParam nextChainedParam : def.getSearchParams()) { nextParam.addChain(nextChainedParam.getName());
public void parse() { for (String nextResourceName : myResourceNames) { RuntimeResourceDefinition def = getCtx().getResourceDefinition(nextResourceName); Resource resource = new Resource(); resource.setName(def.getName()); resource.setElementName(def.getName()); addResource(resource); for (RuntimeSearchParam nextSearchParam : def.getSearchParams()) { SearchParameter param = new SearchParameter(getVersion(), def.getName()); param.setName(nextSearchParam.getName()); param.setDescription(nextSearchParam.getDescription()); param.setCompositeOf(toCompositeOfStrings(nextSearchParam.getCompositeOf())); param.setCompositeTypes(toCompositeOfTypes(nextSearchParam.getCompositeOf())); param.setPath(nextSearchParam.getPath()); param.setType(nextSearchParam.getParamType().getCode()); resource.addSearchParameter(param); } } }