]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.linking.ontology/src/org/simantics/document/linking/ontology/DocumentLink.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.linking.ontology / src / org / simantics / document / linking / ontology / DocumentLink.java
diff --git a/bundles/org.simantics.document.linking.ontology/src/org/simantics/document/linking/ontology/DocumentLink.java b/bundles/org.simantics.document.linking.ontology/src/org/simantics/document/linking/ontology/DocumentLink.java
new file mode 100644 (file)
index 0000000..9d73b0d
--- /dev/null
@@ -0,0 +1,250 @@
+package org.simantics.document.linking.ontology;\r
+\r
+import org.simantics.db.RequestProcessor;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.request.Read;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.service.QueryControl;\r
+\r
+public class DocumentLink {\r
+    \r
+    public final Resource EvaluatorTree;\r
+    public final Resource EvaluatorTree_AligmentHint;\r
+    public final Resource EvaluatorTree_And;\r
+    public final Resource EvaluatorTree_Constant;\r
+    public final Resource EvaluatorTree_Date;\r
+    public final Resource EvaluatorTree_HasValue;\r
+    public final Resource EvaluatorTree_HasValue_Inverse;\r
+    public final Resource EvaluatorTree_If;\r
+    public final Resource EvaluatorTree_Lines;\r
+    public final Resource EvaluatorTree_Node;\r
+    public final Resource EvaluatorTree_Or;\r
+    public final Resource EvaluatorTree_Path;\r
+    public final Resource EvaluatorTree_Root;\r
+    public final Resource EvaluatorTree_Template;\r
+    public final Resource EvaluatorTree_TextSizeHint;\r
+    public final Resource EvaluatorTree_Variable;\r
+    public final Resource FunctionalSource;\r
+    public final Resource InstanceSource;\r
+    public final Resource ModelViewpointActionContext;\r
+    public final Resource ModelViewpointBrowseContext;\r
+    public final Resource ModelViewpointBrowseContext2;\r
+    public final Resource ModelViewpointBrowseContext2_ChildRule;\r
+    public final Resource ModelViewpointBrowseContext_ChildRule;\r
+    public final Resource ReportTemplate;\r
+    public final Resource SearchContribution;\r
+    public final Resource SearchFunction;\r
+    public final Resource Source;\r
+    public final Resource SourceObjectViewpointActionContext;\r
+    public final Resource SourceObjectViewpointActionContext_Category;\r
+    public final Resource SourceObjectViewpointBrowseContext;\r
+    public final Resource SourceObjectViewpointBrowseContext_ChildRule;\r
+    public final Resource SourcePropertyViewpointActionContext;\r
+    public final Resource SourcePropertyViewpointActionContext_Category;\r
+    public final Resource SourcePropertyViewpointActionContext_FixAll;\r
+    public final Resource SourcePropertyViewpointActionContext_FixAllReferences;\r
+    public final Resource SourcePropertyViewpointActionContext_Open;\r
+    public final Resource SourcePropertyViewpointActionContext_OpenWith;\r
+    public final Resource SourcePropertyViewpointActionContext_Remove;\r
+    public final Resource SourcePropertyViewpointActionContext_RemoveSource;\r
+    public final Resource SourcePropertyViewpointActionContext_Replace;\r
+    public final Resource SourcePropertyViewpointActionContext_ReplaceWithLatest;\r
+    public final Resource SourcePropertyViewpointActionContext_ShowDocument;\r
+    public final Resource SourcePropertyViewpointActionContext_ShowDocumentExternal;\r
+    public final Resource SourcePropertyViewpointActionContext_SourceObjectDropAction;\r
+    public final Resource SourcePropertyViewpointActionContext_SourceReferenceOldTest;\r
+    public final Resource SourcePropertyViewpointActionContext_VariableInstanceTest;\r
+    public final Resource SourcePropertyViewpointBrowseContext;\r
+    public final Resource SourcePropertyViewpointBrowseContext_ChildRule;\r
+    public final Resource SourcePropertyViewpointBrowseContext_Variable;\r
+    public final Resource SourcePropertyViewpointBrowseContext_VariableImageDecorationRule;\r
+    public final Resource SourcePropertyViewpointBrowseContext_VariableImageRule;\r
+    public final Resource SourcePropertyViewpointBrowseContext_VariableLabelRule;\r
+    public final Resource SourcePropertyViewpointBrowseContext_VariableModifierRule;\r
+    public final Resource consernsRelation;\r
+    public final Resource hasFunctionalSource;\r
+    public final Resource hasFunctionalSource_Inverse;\r
+    public final Resource hasInstanceSource;\r
+    public final Resource hasInstanceSource_Inverse;\r
+    public final Resource hasSource;\r
+    public final Resource hasSourceComment;\r
+    public final Resource hasSourceComment_Inverse;\r
+    public final Resource hasSourceReference;\r
+    public final Resource hasSourceReferenceURI;\r
+    public final Resource hasSourceReferenceURI_Inverse;\r
+    public final Resource hasSource_Inverse;\r
+        \r
+    public static class URIs {\r
+        public static final String EvaluatorTree = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree";\r
+        public static final String EvaluatorTree_AligmentHint = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/AligmentHint";\r
+        public static final String EvaluatorTree_And = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/And";\r
+        public static final String EvaluatorTree_Constant = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Constant";\r
+        public static final String EvaluatorTree_Date = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Date";\r
+        public static final String EvaluatorTree_HasValue = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/HasValue";\r
+        public static final String EvaluatorTree_HasValue_Inverse = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/HasValue/Inverse";\r
+        public static final String EvaluatorTree_If = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/If";\r
+        public static final String EvaluatorTree_Lines = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Lines";\r
+        public static final String EvaluatorTree_Node = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Node";\r
+        public static final String EvaluatorTree_Or = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Or";\r
+        public static final String EvaluatorTree_Path = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Path";\r
+        public static final String EvaluatorTree_Root = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Root";\r
+        public static final String EvaluatorTree_Template = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Template";\r
+        public static final String EvaluatorTree_TextSizeHint = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/TextSizeHint";\r
+        public static final String EvaluatorTree_Variable = "http://www.simantics.org/DocumentLink-1.0/EvaluatorTree/Variable";\r
+        public static final String FunctionalSource = "http://www.simantics.org/DocumentLink-1.0/FunctionalSource";\r
+        public static final String InstanceSource = "http://www.simantics.org/DocumentLink-1.0/InstanceSource";\r
+        public static final String ModelViewpointActionContext = "http://www.simantics.org/DocumentLink-1.0/ModelViewpointActionContext";\r
+        public static final String ModelViewpointBrowseContext = "http://www.simantics.org/DocumentLink-1.0/ModelViewpointBrowseContext";\r
+        public static final String ModelViewpointBrowseContext2 = "http://www.simantics.org/DocumentLink-1.0/ModelViewpointBrowseContext2";\r
+        public static final String ModelViewpointBrowseContext2_ChildRule = "http://www.simantics.org/DocumentLink-1.0/ModelViewpointBrowseContext2/ChildRule";\r
+        public static final String ModelViewpointBrowseContext_ChildRule = "http://www.simantics.org/DocumentLink-1.0/ModelViewpointBrowseContext/ChildRule";\r
+        public static final String ReportTemplate = "http://www.simantics.org/DocumentLink-1.0/ReportTemplate";\r
+        public static final String SearchContribution = "http://www.simantics.org/DocumentLink-1.0/SearchContribution";\r
+        public static final String SearchFunction = "http://www.simantics.org/DocumentLink-1.0/SearchFunction";\r
+        public static final String Source = "http://www.simantics.org/DocumentLink-1.0/Source";\r
+        public static final String SourceObjectViewpointActionContext = "http://www.simantics.org/DocumentLink-1.0/SourceObjectViewpointActionContext";\r
+        public static final String SourceObjectViewpointActionContext_Category = "http://www.simantics.org/DocumentLink-1.0/SourceObjectViewpointActionContext/Category";\r
+        public static final String SourceObjectViewpointBrowseContext = "http://www.simantics.org/DocumentLink-1.0/SourceObjectViewpointBrowseContext";\r
+        public static final String SourceObjectViewpointBrowseContext_ChildRule = "http://www.simantics.org/DocumentLink-1.0/SourceObjectViewpointBrowseContext/ChildRule";\r
+        public static final String SourcePropertyViewpointActionContext = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext";\r
+        public static final String SourcePropertyViewpointActionContext_Category = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/Category";\r
+        public static final String SourcePropertyViewpointActionContext_FixAll = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/FixAll";\r
+        public static final String SourcePropertyViewpointActionContext_FixAllReferences = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/FixAllReferences";\r
+        public static final String SourcePropertyViewpointActionContext_Open = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/Open";\r
+        public static final String SourcePropertyViewpointActionContext_OpenWith = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/OpenWith";\r
+        public static final String SourcePropertyViewpointActionContext_Remove = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/Remove";\r
+        public static final String SourcePropertyViewpointActionContext_RemoveSource = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/RemoveSource";\r
+        public static final String SourcePropertyViewpointActionContext_Replace = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/Replace";\r
+        public static final String SourcePropertyViewpointActionContext_ReplaceWithLatest = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/ReplaceWithLatest";\r
+        public static final String SourcePropertyViewpointActionContext_ShowDocument = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/ShowDocument";\r
+        public static final String SourcePropertyViewpointActionContext_ShowDocumentExternal = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/ShowDocumentExternal";\r
+        public static final String SourcePropertyViewpointActionContext_SourceObjectDropAction = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/SourceObjectDropAction";\r
+        public static final String SourcePropertyViewpointActionContext_SourceReferenceOldTest = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/SourceReferenceOldTest";\r
+        public static final String SourcePropertyViewpointActionContext_VariableInstanceTest = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointActionContext/VariableInstanceTest";\r
+        public static final String SourcePropertyViewpointBrowseContext = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext";\r
+        public static final String SourcePropertyViewpointBrowseContext_ChildRule = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext/ChildRule";\r
+        public static final String SourcePropertyViewpointBrowseContext_Variable = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext/Variable";\r
+        public static final String SourcePropertyViewpointBrowseContext_VariableImageDecorationRule = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext/VariableImageDecorationRule";\r
+        public static final String SourcePropertyViewpointBrowseContext_VariableImageRule = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext/VariableImageRule";\r
+        public static final String SourcePropertyViewpointBrowseContext_VariableLabelRule = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext/VariableLabelRule";\r
+        public static final String SourcePropertyViewpointBrowseContext_VariableModifierRule = "http://www.simantics.org/DocumentLink-1.0/SourcePropertyViewpointBrowseContext/VariableModifierRule";\r
+        public static final String consernsRelation = "http://www.simantics.org/DocumentLink-1.0/consernsRelation";\r
+        public static final String hasFunctionalSource = "http://www.simantics.org/DocumentLink-1.0/hasFunctionalSource";\r
+        public static final String hasFunctionalSource_Inverse = "http://www.simantics.org/DocumentLink-1.0/hasFunctionalSource/Inverse";\r
+        public static final String hasInstanceSource = "http://www.simantics.org/DocumentLink-1.0/hasInstanceSource";\r
+        public static final String hasInstanceSource_Inverse = "http://www.simantics.org/DocumentLink-1.0/hasInstanceSource/Inverse";\r
+        public static final String hasSource = "http://www.simantics.org/DocumentLink-1.0/hasSource";\r
+        public static final String hasSourceComment = "http://www.simantics.org/DocumentLink-1.0/hasSourceComment";\r
+        public static final String hasSourceComment_Inverse = "http://www.simantics.org/DocumentLink-1.0/hasSourceComment/Inverse";\r
+        public static final String hasSourceReference = "http://www.simantics.org/DocumentLink-1.0/hasSourceReference";\r
+        public static final String hasSourceReferenceURI = "http://www.simantics.org/DocumentLink-1.0/hasSourceReferenceURI";\r
+        public static final String hasSourceReferenceURI_Inverse = "http://www.simantics.org/DocumentLink-1.0/hasSourceReferenceURI/Inverse";\r
+        public static final String hasSource_Inverse = "http://www.simantics.org/DocumentLink-1.0/hasSource/Inverse";\r
+    }\r
+    \r
+    public static Resource getResourceOrNull(ReadGraph graph, String uri) {\r
+        try {\r
+            return graph.getResource(uri);\r
+        } catch(DatabaseException e) {\r
+            System.err.println(e.getMessage());\r
+            return null;\r
+        }\r
+    }\r
+    \r
+    public DocumentLink(ReadGraph graph) {\r
+        EvaluatorTree = getResourceOrNull(graph, URIs.EvaluatorTree);\r
+        EvaluatorTree_AligmentHint = getResourceOrNull(graph, URIs.EvaluatorTree_AligmentHint);\r
+        EvaluatorTree_And = getResourceOrNull(graph, URIs.EvaluatorTree_And);\r
+        EvaluatorTree_Constant = getResourceOrNull(graph, URIs.EvaluatorTree_Constant);\r
+        EvaluatorTree_Date = getResourceOrNull(graph, URIs.EvaluatorTree_Date);\r
+        EvaluatorTree_HasValue = getResourceOrNull(graph, URIs.EvaluatorTree_HasValue);\r
+        EvaluatorTree_HasValue_Inverse = getResourceOrNull(graph, URIs.EvaluatorTree_HasValue_Inverse);\r
+        EvaluatorTree_If = getResourceOrNull(graph, URIs.EvaluatorTree_If);\r
+        EvaluatorTree_Lines = getResourceOrNull(graph, URIs.EvaluatorTree_Lines);\r
+        EvaluatorTree_Node = getResourceOrNull(graph, URIs.EvaluatorTree_Node);\r
+        EvaluatorTree_Or = getResourceOrNull(graph, URIs.EvaluatorTree_Or);\r
+        EvaluatorTree_Path = getResourceOrNull(graph, URIs.EvaluatorTree_Path);\r
+        EvaluatorTree_Root = getResourceOrNull(graph, URIs.EvaluatorTree_Root);\r
+        EvaluatorTree_Template = getResourceOrNull(graph, URIs.EvaluatorTree_Template);\r
+        EvaluatorTree_TextSizeHint = getResourceOrNull(graph, URIs.EvaluatorTree_TextSizeHint);\r
+        EvaluatorTree_Variable = getResourceOrNull(graph, URIs.EvaluatorTree_Variable);\r
+        FunctionalSource = getResourceOrNull(graph, URIs.FunctionalSource);\r
+        InstanceSource = getResourceOrNull(graph, URIs.InstanceSource);\r
+        ModelViewpointActionContext = getResourceOrNull(graph, URIs.ModelViewpointActionContext);\r
+        ModelViewpointBrowseContext = getResourceOrNull(graph, URIs.ModelViewpointBrowseContext);\r
+        ModelViewpointBrowseContext2 = getResourceOrNull(graph, URIs.ModelViewpointBrowseContext2);\r
+        ModelViewpointBrowseContext2_ChildRule = getResourceOrNull(graph, URIs.ModelViewpointBrowseContext2_ChildRule);\r
+        ModelViewpointBrowseContext_ChildRule = getResourceOrNull(graph, URIs.ModelViewpointBrowseContext_ChildRule);\r
+        ReportTemplate = getResourceOrNull(graph, URIs.ReportTemplate);\r
+        SearchContribution = getResourceOrNull(graph, URIs.SearchContribution);\r
+        SearchFunction = getResourceOrNull(graph, URIs.SearchFunction);\r
+        Source = getResourceOrNull(graph, URIs.Source);\r
+        SourceObjectViewpointActionContext = getResourceOrNull(graph, URIs.SourceObjectViewpointActionContext);\r
+        SourceObjectViewpointActionContext_Category = getResourceOrNull(graph, URIs.SourceObjectViewpointActionContext_Category);\r
+        SourceObjectViewpointBrowseContext = getResourceOrNull(graph, URIs.SourceObjectViewpointBrowseContext);\r
+        SourceObjectViewpointBrowseContext_ChildRule = getResourceOrNull(graph, URIs.SourceObjectViewpointBrowseContext_ChildRule);\r
+        SourcePropertyViewpointActionContext = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext);\r
+        SourcePropertyViewpointActionContext_Category = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_Category);\r
+        SourcePropertyViewpointActionContext_FixAll = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_FixAll);\r
+        SourcePropertyViewpointActionContext_FixAllReferences = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_FixAllReferences);\r
+        SourcePropertyViewpointActionContext_Open = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_Open);\r
+        SourcePropertyViewpointActionContext_OpenWith = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_OpenWith);\r
+        SourcePropertyViewpointActionContext_Remove = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_Remove);\r
+        SourcePropertyViewpointActionContext_RemoveSource = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_RemoveSource);\r
+        SourcePropertyViewpointActionContext_Replace = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_Replace);\r
+        SourcePropertyViewpointActionContext_ReplaceWithLatest = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_ReplaceWithLatest);\r
+        SourcePropertyViewpointActionContext_ShowDocument = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_ShowDocument);\r
+        SourcePropertyViewpointActionContext_ShowDocumentExternal = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_ShowDocumentExternal);\r
+        SourcePropertyViewpointActionContext_SourceObjectDropAction = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_SourceObjectDropAction);\r
+        SourcePropertyViewpointActionContext_SourceReferenceOldTest = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_SourceReferenceOldTest);\r
+        SourcePropertyViewpointActionContext_VariableInstanceTest = getResourceOrNull(graph, URIs.SourcePropertyViewpointActionContext_VariableInstanceTest);\r
+        SourcePropertyViewpointBrowseContext = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext);\r
+        SourcePropertyViewpointBrowseContext_ChildRule = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext_ChildRule);\r
+        SourcePropertyViewpointBrowseContext_Variable = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext_Variable);\r
+        SourcePropertyViewpointBrowseContext_VariableImageDecorationRule = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext_VariableImageDecorationRule);\r
+        SourcePropertyViewpointBrowseContext_VariableImageRule = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext_VariableImageRule);\r
+        SourcePropertyViewpointBrowseContext_VariableLabelRule = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext_VariableLabelRule);\r
+        SourcePropertyViewpointBrowseContext_VariableModifierRule = getResourceOrNull(graph, URIs.SourcePropertyViewpointBrowseContext_VariableModifierRule);\r
+        consernsRelation = getResourceOrNull(graph, URIs.consernsRelation);\r
+        hasFunctionalSource = getResourceOrNull(graph, URIs.hasFunctionalSource);\r
+        hasFunctionalSource_Inverse = getResourceOrNull(graph, URIs.hasFunctionalSource_Inverse);\r
+        hasInstanceSource = getResourceOrNull(graph, URIs.hasInstanceSource);\r
+        hasInstanceSource_Inverse = getResourceOrNull(graph, URIs.hasInstanceSource_Inverse);\r
+        hasSource = getResourceOrNull(graph, URIs.hasSource);\r
+        hasSourceComment = getResourceOrNull(graph, URIs.hasSourceComment);\r
+        hasSourceComment_Inverse = getResourceOrNull(graph, URIs.hasSourceComment_Inverse);\r
+        hasSourceReference = getResourceOrNull(graph, URIs.hasSourceReference);\r
+        hasSourceReferenceURI = getResourceOrNull(graph, URIs.hasSourceReferenceURI);\r
+        hasSourceReferenceURI_Inverse = getResourceOrNull(graph, URIs.hasSourceReferenceURI_Inverse);\r
+        hasSource_Inverse = getResourceOrNull(graph, URIs.hasSource_Inverse);\r
+    }\r
+    \r
+    public static DocumentLink getInstance(ReadGraph graph) {\r
+        Session session = graph.getSession();\r
+        DocumentLink ret = session.peekService(DocumentLink.class);\r
+        if(ret == null) {\r
+            QueryControl qc = graph.getService(QueryControl.class);\r
+            ret = new DocumentLink(qc.getIndependentGraph(graph));\r
+            session.registerService(DocumentLink.class, ret);\r
+        }\r
+        return ret;\r
+    }\r
+    \r
+    public static DocumentLink getInstance(RequestProcessor session) throws DatabaseException {\r
+        DocumentLink ret = session.peekService(DocumentLink.class);\r
+        if(ret == null) {\r
+            ret = session.syncRequest(new Read<DocumentLink>() {\r
+                public DocumentLink perform(ReadGraph graph) throws DatabaseException {\r
+                    QueryControl qc = graph.getService(QueryControl.class);\r
+                    return new DocumentLink(qc.getIndependentGraph(graph));\r
+                }\r
+            });\r
+            session.registerService(DocumentLink.class, ret);\r
+        }\r
+        return ret;\r
+    }\r
+    \r
+}\r
+\r