Added freemarker template
This commit is contained in:
parent
90733d8115
commit
ee36dd6fc2
6
pom.xml
6
pom.xml
|
@ -82,6 +82,12 @@
|
|||
<artifactId>javax.ws.rs-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.freemarker</groupId>
|
||||
<artifactId>freemarker</artifactId>
|
||||
<version>2.3.32</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Added to support Java 11 JDK -->
|
||||
<dependency>
|
||||
<groupId>javax.xml.ws</groupId>
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
package org.gcube.grsf.freemarker;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.Writer;
|
||||
import java.net.URL;
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Test;
|
||||
|
||||
import freemarker.template.Configuration;
|
||||
import freemarker.template.Template;
|
||||
import freemarker.template.TemplateExceptionHandler;
|
||||
|
||||
public class FreeMarkerTest {
|
||||
|
||||
public File getResourcesDirectory() throws Exception {
|
||||
URL logbackFileURL = this.getClass().getClassLoader().getResource("logback-test.xml");
|
||||
File logbackFile = new File(logbackFileURL.toURI());
|
||||
File resourcesDirectory = logbackFile.getParentFile();
|
||||
return resourcesDirectory;
|
||||
}
|
||||
|
||||
public File getTraceabilityUnitExampleDirectory() throws Exception {
|
||||
File resourcesDirectory = getResourcesDirectory();
|
||||
return new File(resourcesDirectory, "examples/AssessmentUnit");
|
||||
}
|
||||
|
||||
public File getFreemarkerDirectory() throws Exception {
|
||||
File resourcesDirectory = getResourcesDirectory();
|
||||
return new File(resourcesDirectory, "freemarker");
|
||||
}
|
||||
|
||||
public Configuration getConfiguration() throws Exception {
|
||||
Configuration cfg = new Configuration(Configuration.VERSION_2_3_23);
|
||||
cfg.setDirectoryForTemplateLoading(getFreemarkerDirectory());
|
||||
cfg.setDefaultEncoding("UTF-8");
|
||||
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
|
||||
return cfg;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIt() throws Exception {
|
||||
Configuration cfg = getConfiguration();
|
||||
Template template = cfg.getTemplate("example.ftl");
|
||||
|
||||
File json = new File(getTraceabilityUnitExampleDirectory(), "00a1f849-1b43-3fd1-9255-1d1134c969bb.json");
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
Map map = mapper.readValue(json, Map.class);
|
||||
|
||||
File out = new File(getFreemarkerDirectory(), "output.json");
|
||||
out.delete();
|
||||
|
||||
Writer writer = new FileWriter(out);
|
||||
template.process(map, writer);
|
||||
writer.flush();
|
||||
writer.close();
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"title" : "${stock_name}",
|
||||
"license_id": "${license_id}",
|
||||
"description":
|
||||
"Short Name: ${short_name}\nGRSF Semantic Identifier: ${grsf_semantic_identifier}\nRecord URL: https://data.d4science.org/ctlg/GRSF_Admin/${grsf_uuid}",
|
||||
"tags" : [
|
||||
{
|
||||
"name": "${similarities_indicator}"
|
||||
}
|
||||
],
|
||||
"extras": [
|
||||
{
|
||||
"key": "Record URL",
|
||||
"value": "https://data.d4science.org/ctlg/GRSF_Admin/${grsf_uuid}"
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue