]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.wiki.ui/src/org/simantics/wiki/ui/DefaultWikiTemplateFactory.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.wiki.ui / src / org / simantics / wiki / ui / DefaultWikiTemplateFactory.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.wiki.ui;
13
14 import org.simantics.databoard.Bindings;
15 import org.simantics.db.ReadGraph;
16 import org.simantics.db.Resource;
17 import org.simantics.db.exception.DatabaseException;
18 import org.simantics.document.DocumentResource;
19 import org.simantics.layer0.Layer0;
20
21 public class DefaultWikiTemplateFactory implements DocumentFactory {
22
23     String template;
24
25     public DefaultWikiTemplateFactory(ReadGraph graph, Resource r) {
26         template = "";
27
28         try {
29             Layer0 l0 = Layer0.getInstance(graph);
30             DocumentResource DOC = DocumentResource.getInstance(graph);
31             Resource resource = r;
32
33             while(resource != null) {
34                 if(graph.hasStatement(resource, DOC.HasDocumentTemplate)) {
35                     Resource dt = graph.getSingleObject(resource, DOC.HasDocumentTemplate);
36                     template = (String)graph.getRelatedValue(dt, DOC.HasDocumentation, Bindings.STRING);
37                     break;
38                 }
39                 resource = graph.getPossibleObject(resource, l0.PartOf);
40             }
41         } catch (DatabaseException e) {
42             e.printStackTrace();
43         }
44     }
45
46     @Override
47     public String createDocument() {
48         return template;
49     }
50
51 }