-package org.simantics.document.linking.report;\r
-\r
-import java.text.DateFormat;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.utils.NameUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.document.linking.report.Document.TextSize;\r
-import org.simantics.document.linking.report.TableColumn.Alignment;\r
-import org.simantics.document.linking.report.templates.CustomizableContentProvider;\r
-import org.simantics.document.linking.report.templates.ReportWriter;\r
-import org.simantics.document.linking.report.templates.custom.CustomizableContent;\r
-\r
-\r
-public abstract class DocumentTitlePage implements DocumentElement{\r
- \r
- \r
- public void writeTitle(ReadGraph graph, Map<Object, Object> context) throws Exception {\r
- ReportWriter<?> reportWriter = (ReportWriter<?>)context.get(ReportWriter.class);\r
- CustomizableContent content = null;\r
- if (reportWriter instanceof CustomizableContentProvider) {\r
- content = ((CustomizableContentProvider)reportWriter).getContent("Title");\r
- }\r
- if (content == null)\r
- writeTitle(getDefaultLines(graph, (Resource)context.get("model"), (String)context.get("DocumentName")));\r
- else {\r
- \r
- List<DocumentLine> lines = content.getLines(graph, (Resource)context.get("model"), context);\r
- writeTitle(lines);\r
- }\r
- }\r
- \r
- protected abstract void writeTitle(List<DocumentLine> lines) throws Exception;\r
-\r
-\r
- public List<DocumentLine> getDefaultLines(ReadGraph graph, Resource model, String documentName) throws DatabaseException{\r
- List<DocumentLine> result = new ArrayList<DocumentLine>();\r
- \r
- String modelName = NameUtils.getSafeLabel(graph, model);\r
- if (modelName.length() == 0)\r
- modelName = NameUtils.getSafeName(graph, model);\r
- \r
- java.util.Date date = new java.util.Date(System.currentTimeMillis());\r
- String dateString = DateFormat.getDateTimeInstance().format(date);\r
- \r
- result.add(new DocumentLine(modelName, Alignment.class, Alignment.CENTER, TextSize.class, TextSize.HUGE));\r
- result.add(new DocumentLine(documentName, Alignment.class, Alignment.CENTER, TextSize.class, TextSize.HUGE));\r
- result.add(new DocumentLine(dateString, Alignment.class, Alignment.CENTER, TextSize.class, TextSize.LARGE));\r
- \r
- return result;\r
- }\r
- \r
- \r
-\r
-}\r
+package org.simantics.document.linking.report;
+
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.utils.NameUtils;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.document.linking.report.Document.TextSize;
+import org.simantics.document.linking.report.TableColumn.Alignment;
+import org.simantics.document.linking.report.templates.CustomizableContentProvider;
+import org.simantics.document.linking.report.templates.ReportWriter;
+import org.simantics.document.linking.report.templates.custom.CustomizableContent;
+
+
+public abstract class DocumentTitlePage implements DocumentElement{
+
+
+ public void writeTitle(ReadGraph graph, Map<Object, Object> context) throws Exception {
+ ReportWriter<?> reportWriter = (ReportWriter<?>)context.get(ReportWriter.class);
+ CustomizableContent content = null;
+ if (reportWriter instanceof CustomizableContentProvider) {
+ content = ((CustomizableContentProvider)reportWriter).getContent("Title");
+ }
+ if (content == null)
+ writeTitle(getDefaultLines(graph, (Resource)context.get("model"), (String)context.get("DocumentName")));
+ else {
+
+ List<DocumentLine> lines = content.getLines(graph, (Resource)context.get("model"), context);
+ writeTitle(lines);
+ }
+ }
+
+ protected abstract void writeTitle(List<DocumentLine> lines) throws Exception;
+
+
+ public List<DocumentLine> getDefaultLines(ReadGraph graph, Resource model, String documentName) throws DatabaseException{
+ List<DocumentLine> result = new ArrayList<DocumentLine>();
+
+ String modelName = NameUtils.getSafeLabel(graph, model);
+ if (modelName.length() == 0)
+ modelName = NameUtils.getSafeName(graph, model);
+
+ java.util.Date date = new java.util.Date(System.currentTimeMillis());
+ String dateString = DateFormat.getDateTimeInstance().format(date);
+
+ result.add(new DocumentLine(modelName, Alignment.class, Alignment.CENTER, TextSize.class, TextSize.HUGE));
+ result.add(new DocumentLine(documentName, Alignment.class, Alignment.CENTER, TextSize.class, TextSize.HUGE));
+ result.add(new DocumentLine(dateString, Alignment.class, Alignment.CENTER, TextSize.class, TextSize.LARGE));
+
+ return result;
+ }
+
+
+
+}