Narrative fixes
This commit is contained in:
parent
5a3de7c3dd
commit
57a3a4881e
File diff suppressed because it is too large
Load Diff
|
@ -1,6 +1,6 @@
|
|||
package ca.uhn.fhir.narrative;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.*;
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
@ -32,14 +32,13 @@ import org.thymeleaf.standard.expression.StandardExpressions;
|
|||
import org.thymeleaf.templateresolver.TemplateResolver;
|
||||
import org.thymeleaf.util.DOMUtils;
|
||||
|
||||
import ca.uhn.fhir.context.ConfigurationException;
|
||||
import ca.uhn.fhir.model.api.IResource;
|
||||
import ca.uhn.fhir.model.dstu.composite.NarrativeDt;
|
||||
import ca.uhn.fhir.model.dstu.valueset.NarrativeStatusEnum;
|
||||
import ca.uhn.fhir.model.primitive.XhtmlDt;
|
||||
import ca.uhn.fhir.parser.DataFormatException;
|
||||
|
||||
public class BaseThymeleafNarrativeGenerator implements INarrativeGenerator {
|
||||
public abstract class BaseThymeleafNarrativeGenerator implements INarrativeGenerator {
|
||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(BaseThymeleafNarrativeGenerator.class);
|
||||
|
||||
private boolean myCleanWhitespace = true;
|
||||
|
@ -112,9 +111,7 @@ public class BaseThymeleafNarrativeGenerator implements INarrativeGenerator {
|
|||
}
|
||||
}
|
||||
|
||||
public String getPropertyFile() {
|
||||
return null;
|
||||
}
|
||||
protected abstract String getPropertyFile();
|
||||
|
||||
/**
|
||||
* If set to <code>true</code> (which is the default), most whitespace will
|
||||
|
@ -233,7 +230,7 @@ public class BaseThymeleafNarrativeGenerator implements INarrativeGenerator {
|
|||
if (resource == null) {
|
||||
resource = DefaultThymeleafNarrativeGenerator.class.getResourceAsStream("/" + cpName);
|
||||
if (resource == null) {
|
||||
throw new ConfigurationException("Can not find '" + cpName + "' on classpath");
|
||||
throw new IOException("Can not find '" + cpName + "' on classpath");
|
||||
}
|
||||
}
|
||||
return resource;
|
||||
|
@ -244,7 +241,7 @@ public class BaseThymeleafNarrativeGenerator implements INarrativeGenerator {
|
|||
}
|
||||
return new FileInputStream(file);
|
||||
} else {
|
||||
throw new IllegalArgumentException("Invalid resource name: '" + name + "'");
|
||||
throw new IOException("Invalid resource name: '" + name + "'");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,14 +2,17 @@ package ca.uhn.fhir.narrative;
|
|||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.apache.commons.lang3.Validate;
|
||||
|
||||
public class CustomThymeleafNarrativeGenerator extends BaseThymeleafNarrativeGenerator {
|
||||
|
||||
private String myPropertyFile;
|
||||
|
||||
/**
|
||||
* Create a new narrative generator
|
||||
*
|
||||
* @param thePropertyFile
|
||||
* The name of the property file, in one of the following
|
||||
* formats:
|
||||
* The name of the property file, in one of the following formats:
|
||||
* <ul>
|
||||
* <li>file:/path/to/file/file.properties</li>
|
||||
* <li>classpath:/com/package/file.properties</li>
|
||||
|
@ -18,7 +21,29 @@ public class CustomThymeleafNarrativeGenerator extends BaseThymeleafNarrativeGen
|
|||
* If the file can not be found/read
|
||||
*/
|
||||
public CustomThymeleafNarrativeGenerator(String thePropertyFile) throws IOException {
|
||||
super();
|
||||
setPropertyFile(thePropertyFile);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the property file to use
|
||||
*
|
||||
* @param thePropertyFile
|
||||
* The name of the property file, in one of the following formats:
|
||||
* <ul>
|
||||
* <li>file:/path/to/file/file.properties</li>
|
||||
* <li>classpath:/com/package/file.properties</li>
|
||||
* </ul>
|
||||
* @throws IOException
|
||||
* If the file can not be found/read
|
||||
*/
|
||||
public void setPropertyFile(String thePropertyFile) {
|
||||
Validate.notNull(thePropertyFile, "Property file can not be null");
|
||||
myPropertyFile = thePropertyFile;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPropertyFile() {
|
||||
return myPropertyFile;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ public class DefaultThymeleafNarrativeGenerator extends BaseThymeleafNarrativeGe
|
|||
}
|
||||
|
||||
@Override
|
||||
public String getPropertyFile() {
|
||||
protected String getPropertyFile() {
|
||||
return "classpath:ca/uhn/fhir/narrative/narratives.properties";
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package ca.uhn.fhir.narrative;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class CustomThymeleafNarrativeGeneratorTest {
|
||||
|
||||
@Test
|
||||
public void testGenerator() throws IOException {
|
||||
|
||||
CustomThymeleafNarrativeGenerator gen = new CustomThymeleafNarrativeGenerator("src/test/resources/narrative/customnarrative.properties");
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue