added i18N handling to all BaseWorkerContexts
This commit is contained in:
parent
41e9b0e9fa
commit
7443eb3f59
|
@ -23,11 +23,15 @@ package org.hl7.fhir.dstu2.utils;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu2.model.BooleanType;
|
import org.hl7.fhir.dstu2.model.BooleanType;
|
||||||
|
@ -73,6 +77,8 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
// private ValueSetExpansionCache expansionCache; //
|
// private ValueSetExpansionCache expansionCache; //
|
||||||
|
|
||||||
protected FHIRToolingClient txServer;
|
protected FHIRToolingClient txServer;
|
||||||
|
private Locale locale;
|
||||||
|
private ResourceBundle i18Nmessages;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ValueSet fetchCodeSystem(String system) {
|
public ValueSet fetchCodeSystem(String system) {
|
||||||
|
@ -402,4 +408,37 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
return fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+typeName);
|
return fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+typeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Locale getLocale() {
|
||||||
|
if (Objects.nonNull(locale)){
|
||||||
|
return locale;
|
||||||
|
} else {
|
||||||
|
return Locale.US;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLocale(Locale locale) {
|
||||||
|
this.locale = locale;
|
||||||
|
setValidationMessageLanguage(getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String formatMessage(String theMessage, Object... theMessageArguments) {
|
||||||
|
String message;
|
||||||
|
if (theMessageArguments != null && theMessageArguments.length > 0) {
|
||||||
|
message = MessageFormat.format(i18Nmessages.getString(theMessage), theMessageArguments);
|
||||||
|
} else if (i18Nmessages.containsKey(theMessage)) {
|
||||||
|
message = i18Nmessages.getString(theMessage);
|
||||||
|
} else {
|
||||||
|
message = theMessage;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValidationMessageLanguage(Locale locale) {
|
||||||
|
i18Nmessages = ResourceBundle.getBundle("Messages", locale );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ package org.hl7.fhir.dstu2.utils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
import org.hl7.fhir.dstu2.formats.IParser;
|
import org.hl7.fhir.dstu2.formats.IParser;
|
||||||
import org.hl7.fhir.dstu2.formats.ParserType;
|
import org.hl7.fhir.dstu2.formats.ParserType;
|
||||||
import org.hl7.fhir.dstu2.model.CodeableConcept;
|
import org.hl7.fhir.dstu2.model.CodeableConcept;
|
||||||
|
@ -209,6 +210,14 @@ public interface IWorkerContext {
|
||||||
*/
|
*/
|
||||||
public ValueSetExpansionComponent expandVS(ConceptSetComponent inc);
|
public ValueSetExpansionComponent expandVS(ConceptSetComponent inc);
|
||||||
|
|
||||||
|
Locale getLocale();
|
||||||
|
|
||||||
|
void setLocale(Locale locale);
|
||||||
|
|
||||||
|
String formatMessage(String theMessage, Object... theMessageArguments);
|
||||||
|
|
||||||
|
void setValidationMessageLanguage(Locale locale);
|
||||||
|
|
||||||
public class ValidationResult {
|
public class ValidationResult {
|
||||||
private ConceptDefinitionComponent definition;
|
private ConceptDefinitionComponent definition;
|
||||||
private IssueSeverity severity;
|
private IssueSeverity severity;
|
||||||
|
|
|
@ -23,11 +23,15 @@ package org.hl7.fhir.dstu2016may.utils;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu2016may.model.BooleanType;
|
import org.hl7.fhir.dstu2016may.model.BooleanType;
|
||||||
|
@ -75,6 +79,8 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
|
|
||||||
protected FHIRToolingClient txServer;
|
protected FHIRToolingClient txServer;
|
||||||
private Bundle bndCodeSystems;
|
private Bundle bndCodeSystems;
|
||||||
|
private Locale locale;
|
||||||
|
private ResourceBundle i18Nmessages;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CodeSystem fetchCodeSystem(String system) {
|
public CodeSystem fetchCodeSystem(String system) {
|
||||||
|
@ -441,5 +447,37 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
return fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+typeName);
|
return fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+typeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Locale getLocale() {
|
||||||
|
if (Objects.nonNull(locale)){
|
||||||
|
return locale;
|
||||||
|
} else {
|
||||||
|
return Locale.US;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLocale(Locale locale) {
|
||||||
|
this.locale = locale;
|
||||||
|
setValidationMessageLanguage(getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String formatMessage(String theMessage, Object... theMessageArguments) {
|
||||||
|
String message;
|
||||||
|
if (theMessageArguments != null && theMessageArguments.length > 0) {
|
||||||
|
message = MessageFormat.format(i18Nmessages.getString(theMessage), theMessageArguments);
|
||||||
|
} else if (i18Nmessages.containsKey(theMessage)) {
|
||||||
|
message = i18Nmessages.getString(theMessage);
|
||||||
|
} else {
|
||||||
|
message = theMessage;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValidationMessageLanguage(Locale locale) {
|
||||||
|
i18Nmessages = ResourceBundle.getBundle("Messages", locale );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ package org.hl7.fhir.dstu2016may.utils;
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu2016may.formats.IParser;
|
import org.hl7.fhir.dstu2016may.formats.IParser;
|
||||||
|
@ -205,6 +206,14 @@ public interface IWorkerContext {
|
||||||
*/
|
*/
|
||||||
public ValueSetExpansionComponent expandVS(ConceptSetComponent inc);
|
public ValueSetExpansionComponent expandVS(ConceptSetComponent inc);
|
||||||
|
|
||||||
|
Locale getLocale();
|
||||||
|
|
||||||
|
void setLocale(Locale locale);
|
||||||
|
|
||||||
|
String formatMessage(String theMessage, Object... theMessageArguments);
|
||||||
|
|
||||||
|
void setValidationMessageLanguage(Locale locale);
|
||||||
|
|
||||||
public class ValidationResult {
|
public class ValidationResult {
|
||||||
private ConceptDefinitionComponent definition;
|
private ConceptDefinitionComponent definition;
|
||||||
private IssueSeverity severity;
|
private IssueSeverity severity;
|
||||||
|
|
|
@ -27,11 +27,15 @@ import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import ca.uhn.fhir.rest.api.Constants;
|
import ca.uhn.fhir.rest.api.Constants;
|
||||||
|
@ -122,6 +126,8 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
private int expandCodesLimit = 1000;
|
private int expandCodesLimit = 1000;
|
||||||
protected ILoggingService logger;
|
protected ILoggingService logger;
|
||||||
protected ExpansionProfile expProfile;
|
protected ExpansionProfile expProfile;
|
||||||
|
private Locale locale;
|
||||||
|
private ResourceBundle i18Nmessages;
|
||||||
|
|
||||||
public Map<String, CodeSystem> getCodeSystems() {
|
public Map<String, CodeSystem> getCodeSystems() {
|
||||||
return codeSystems;
|
return codeSystems;
|
||||||
|
@ -991,5 +997,37 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
return fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+typeName);
|
return fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/"+typeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Locale getLocale() {
|
||||||
|
if (Objects.nonNull(locale)){
|
||||||
|
return locale;
|
||||||
|
} else {
|
||||||
|
return Locale.US;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLocale(Locale locale) {
|
||||||
|
this.locale = locale;
|
||||||
|
setValidationMessageLanguage(getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String formatMessage(String theMessage, Object... theMessageArguments) {
|
||||||
|
String message;
|
||||||
|
if (theMessageArguments != null && theMessageArguments.length > 0) {
|
||||||
|
message = MessageFormat.format(i18Nmessages.getString(theMessage), theMessageArguments);
|
||||||
|
} else if (i18Nmessages.containsKey(theMessage)) {
|
||||||
|
message = i18Nmessages.getString(theMessage);
|
||||||
|
} else {
|
||||||
|
message = theMessage;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValidationMessageLanguage(Locale locale) {
|
||||||
|
i18Nmessages = ResourceBundle.getBundle("Messages", locale );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ package org.hl7.fhir.dstu3.context;
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.hl7.fhir.dstu3.formats.IParser;
|
import org.hl7.fhir.dstu3.formats.IParser;
|
||||||
|
@ -237,6 +238,14 @@ public interface IWorkerContext {
|
||||||
*/
|
*/
|
||||||
public ValueSetExpansionComponent expandVS(ConceptSetComponent inc, boolean heiarchical) throws TerminologyServiceException;
|
public ValueSetExpansionComponent expandVS(ConceptSetComponent inc, boolean heiarchical) throws TerminologyServiceException;
|
||||||
|
|
||||||
|
Locale getLocale();
|
||||||
|
|
||||||
|
void setLocale(Locale locale);
|
||||||
|
|
||||||
|
String formatMessage(String theMessage, Object... theMessageArguments);
|
||||||
|
|
||||||
|
void setValidationMessageLanguage(Locale locale);
|
||||||
|
|
||||||
public class ValidationResult {
|
public class ValidationResult {
|
||||||
private ConceptDefinitionComponent definition;
|
private ConceptDefinitionComponent definition;
|
||||||
private IssueSeverity severity;
|
private IssueSeverity severity;
|
||||||
|
|
|
@ -21,6 +21,10 @@ package org.hl7.fhir.r4.context;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import java.text.MessageFormat;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.fhir.ucum.UcumService;
|
import org.fhir.ucum.UcumService;
|
||||||
import org.hl7.fhir.exceptions.DefinitionException;
|
import org.hl7.fhir.exceptions.DefinitionException;
|
||||||
|
@ -99,6 +103,8 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
protected TerminologyCache txCache;
|
protected TerminologyCache txCache;
|
||||||
|
|
||||||
private boolean tlogging = true;
|
private boolean tlogging = true;
|
||||||
|
private Locale locale;
|
||||||
|
private ResourceBundle i18Nmessages;
|
||||||
|
|
||||||
public BaseWorkerContext() throws FileNotFoundException, IOException, FHIRException {
|
public BaseWorkerContext() throws FileNotFoundException, IOException, FHIRException {
|
||||||
super();
|
super();
|
||||||
|
@ -1174,5 +1180,37 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Locale getLocale() {
|
||||||
|
if (Objects.nonNull(locale)){
|
||||||
|
return locale;
|
||||||
|
} else {
|
||||||
|
return Locale.US;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLocale(Locale locale) {
|
||||||
|
this.locale = locale;
|
||||||
|
setValidationMessageLanguage(getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String formatMessage(String theMessage, Object... theMessageArguments) {
|
||||||
|
String message;
|
||||||
|
if (theMessageArguments != null && theMessageArguments.length > 0) {
|
||||||
|
message = MessageFormat.format(i18Nmessages.getString(theMessage), theMessageArguments);
|
||||||
|
} else if (i18Nmessages.containsKey(theMessage)) {
|
||||||
|
message = i18Nmessages.getString(theMessage);
|
||||||
|
} else {
|
||||||
|
message = theMessage;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setValidationMessageLanguage(Locale locale) {
|
||||||
|
i18Nmessages = ResourceBundle.getBundle("Messages", locale );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ package org.hl7.fhir.r4.context;
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -284,6 +285,14 @@ public interface IWorkerContext {
|
||||||
*/
|
*/
|
||||||
public ValueSetExpansionOutcome expandVS(ConceptSetComponent inc, boolean heirarchical) throws TerminologyServiceException;
|
public ValueSetExpansionOutcome expandVS(ConceptSetComponent inc, boolean heirarchical) throws TerminologyServiceException;
|
||||||
|
|
||||||
|
Locale getLocale();
|
||||||
|
|
||||||
|
void setLocale(Locale locale);
|
||||||
|
|
||||||
|
String formatMessage(String theMessage, Object... theMessageArguments);
|
||||||
|
|
||||||
|
void setValidationMessageLanguage(Locale locale);
|
||||||
|
|
||||||
public class ValidationResult {
|
public class ValidationResult {
|
||||||
private ConceptDefinitionComponent definition;
|
private ConceptDefinitionComponent definition;
|
||||||
private IssueSeverity severity;
|
private IssueSeverity severity;
|
||||||
|
|
|
@ -425,19 +425,6 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
this.expandCodesLimit = expandCodesLimit;
|
this.expandCodesLimit = expandCodesLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Locale getLocale() {
|
|
||||||
if (Objects.nonNull(locale)){
|
|
||||||
return locale;
|
|
||||||
} else {
|
|
||||||
return Locale.US;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setLocale(Locale locale) {
|
|
||||||
this.locale = locale;
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public ValueSetExpansionOutcome expandVS(ElementDefinitionBindingComponent binding, boolean cacheOk, boolean heirarchical) throws FHIRException {
|
public ValueSetExpansionOutcome expandVS(ElementDefinitionBindingComponent binding, boolean cacheOk, boolean heirarchical) throws FHIRException {
|
||||||
ValueSet vs = null;
|
ValueSet vs = null;
|
||||||
|
@ -1293,6 +1280,21 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
return binaries;
|
return binaries;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Locale getLocale() {
|
||||||
|
if (Objects.nonNull(locale)){
|
||||||
|
return locale;
|
||||||
|
} else {
|
||||||
|
return Locale.US;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setLocale(Locale locale) {
|
||||||
|
this.locale = locale;
|
||||||
|
setValidationMessageLanguage(getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String formatMessage(String theMessage, Object... theMessageArguments) {
|
public String formatMessage(String theMessage, Object... theMessageArguments) {
|
||||||
String message;
|
String message;
|
||||||
|
@ -1306,6 +1308,7 @@ public abstract class BaseWorkerContext implements IWorkerContext {
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setValidationMessageLanguage(Locale locale) {
|
public void setValidationMessageLanguage(Locale locale) {
|
||||||
i18Nmessages = ResourceBundle.getBundle("Messages", locale );
|
i18Nmessages = ResourceBundle.getBundle("Messages", locale );
|
||||||
}
|
}
|
||||||
|
|
|
@ -334,6 +334,8 @@ public interface IWorkerContext {
|
||||||
|
|
||||||
String formatMessage(String theMessage, Object... theMessageArguments);
|
String formatMessage(String theMessage, Object... theMessageArguments);
|
||||||
|
|
||||||
|
void setValidationMessageLanguage(Locale locale);
|
||||||
|
|
||||||
class ValidationResult {
|
class ValidationResult {
|
||||||
private ConceptDefinitionComponent definition;
|
private ConceptDefinitionComponent definition;
|
||||||
private IssueSeverity severity;
|
private IssueSeverity severity;
|
||||||
|
|
Loading…
Reference in New Issue