--- /dev/null
+import "Simantics/Model"\r
+import "Simantics/Ontologies"\r
+import "UI/Progress"\r
+ \r
+importJava "org.simantics.document.ui.actions.ImportDocumentWithDetail" where\r
+ importDocumentWithDetailSCL :: Resource -> String -> <WriteGraph> Resource\r
+ \r
+importJava "org.simantics.document.ui.graphfile.FileDocumentUtil" where\r
+ importFolderWithName :: String -> Resource -> Resource -> Resource -> ProgressMonitor -> <WriteGraph> Resource\r
+ \r
+importJava "org.simantics.document.ui.actions.AddUrlDocumentWithDetail" where\r
+ addUrlDocumentWithDetailSCL :: Resource -> String -> String -> <WriteGraph> Resource\r
+ \r
+importJava "org.simantics.document.ui.actions.ExportDocumentFile" where\r
+ exportDocument :: Resource -> String -> <Proc> ()\r
+\r
+documentsFolders :: Model -> <ReadGraph> [Resource]\r
+documentsFolders model = recurse DOCUMENT.DocumentLibrary (toResource model)\r
+ where\r
+ recurse t r = do\r
+ cs = resourceChildrenOf r \r
+ libraries = filter isLibrary cs\r
+ libraryGrp = filter (not . isLibrary) cs\r
+ libraries + concatMap (recurse t) libraryGrp\r
+ isLibrary r = isInstanceOf r DOCUMENT.DocumentLibrary\r
+\r
+documents :: Model -> <ReadGraph> [Resource]\r
+documents model = recurse DOCUMENT.Document (toResource model)\r
+ where\r
+ recurse t r = do\r
+ cs = resourceChildrenOf r \r
+ documents = filter isDocument cs\r
+ documentFolder = filter (not . isDocument) cs\r
+ documents + concatMap (recurse t) documentFolder\r
+ isDocument r = isInstanceOf r DOCUMENT.Document\r
+ \r
+document :: Model -> String -> <ReadGraph> [Resource]\r
+document model name = do\r
+ docs = documents model\r
+ filter (\x -> (relatedValue2 x L0.HasName :: String) == name) docs\r