|
21 | 21 | */
|
22 | 22 | package org.openiot.ui.sensorschema.utils;
|
23 | 23 |
|
| 24 | +import java.io.File; |
| 25 | +import java.io.FileWriter; |
| 26 | +import java.io.IOException; |
24 | 27 | import java.io.InputStream;
|
| 28 | +import java.io.OutputStreamWriter; |
| 29 | +import java.io.StringWriter; |
| 30 | +import java.io.Writer; |
| 31 | +import java.util.ArrayList; |
25 | 32 | import java.util.Arrays;
|
| 33 | +import java.util.HashMap; |
26 | 34 | import java.util.List;
|
| 35 | +import java.util.Map; |
27 | 36 |
|
| 37 | +import org.openiot.ui.sensorschema.bean.FieldMetaDataBean; |
| 38 | +import org.openiot.ui.sensorschema.bean.SensorMetaDataBean; |
28 | 39 | import org.slf4j.Logger;
|
29 | 40 | import org.slf4j.LoggerFactory;
|
30 | 41 |
|
| 42 | +import freemarker.template.Configuration; |
| 43 | +import freemarker.template.Template; |
| 44 | +import freemarker.template.TemplateException; |
| 45 | + |
31 | 46 | /**
|
32 | 47 | * A collection of helper methods
|
33 | 48 | */
|
@@ -110,4 +125,66 @@ public static String formatHTML(String html){
|
110 | 125 | temp_html = "<pre><code>" + temp_html + "</pre></code>";
|
111 | 126 | return temp_html;
|
112 | 127 | }
|
| 128 | + |
| 129 | + |
| 130 | + |
| 131 | + public String writetoTemplate(SensorMetaDataBean metadata){ |
| 132 | + //Freemarker configuration object |
| 133 | + Configuration cfg = new Configuration(); |
| 134 | + try { |
| 135 | + |
| 136 | + //Load template from source folder |
| 137 | + cfg.setClassForTemplateLoading(this.getClass(), "../../../../../"); |
| 138 | + |
| 139 | + //cfg.get |
| 140 | + Template template = cfg.getTemplate("xgsn-output.ftl"); |
| 141 | + |
| 142 | + // Build the data-model |
| 143 | + Map<String, Object> data = new HashMap<String, Object>(); |
| 144 | + data.put("sensorname", metadata.getSensorName()); |
| 145 | + data.put("source", metadata.getSensorName()); |
| 146 | + data.put("sensortype", metadata.getSensorName()); |
| 147 | + data.put("sourcetype", metadata.getSensorName()); |
| 148 | + data.put("information", metadata.getSensorName()); |
| 149 | + data.put("authors", metadata.getSensorName()); |
| 150 | + data.put("featureofinterest", metadata.getSensorName()); |
| 151 | + |
| 152 | + List<FieldMetaDataBean> fielddata = new ArrayList<FieldMetaDataBean>(); |
| 153 | + Map<String, FieldMetaDataBean> fieldmetadata = metadata.getFields(); |
| 154 | + for (Map.Entry<String, FieldMetaDataBean> entry : fieldmetadata.entrySet()) |
| 155 | + { |
| 156 | + fielddata.add(entry.getValue()); |
| 157 | + //System.out.println(entry.getKey() + "/" + entry.getValue()); |
| 158 | + } |
| 159 | + |
| 160 | + |
| 161 | + data.put("fields", fielddata); |
| 162 | + data.put("latitude", metadata.getLatitude()); |
| 163 | + data.put("longitude", metadata.getLongitude()); |
| 164 | + data.put("sensorID", metadata.getSensorID()); |
| 165 | + |
| 166 | + // Console output |
| 167 | + //Writer out = new OutputStreamWriter(System.out); |
| 168 | + //template.process(data, out); |
| 169 | + //out.flush(); |
| 170 | + |
| 171 | + // File output |
| 172 | + //Writer file = new FileWriter (new File("FTL_helloworld.txt")); |
| 173 | + //template.process(data, file); |
| 174 | + //file.flush(); |
| 175 | + //file.close(); |
| 176 | + |
| 177 | + //String output |
| 178 | + Writer out = new StringWriter(); |
| 179 | + template.process(data, out); |
| 180 | + return out.toString(); |
| 181 | + |
| 182 | + } catch (IOException e) { |
| 183 | + e.printStackTrace(); |
| 184 | + return null; |
| 185 | + } catch (TemplateException e) { |
| 186 | + e.printStackTrace(); |
| 187 | + return null; |
| 188 | + } |
| 189 | + } |
113 | 190 | }
|
0 commit comments