[Fencommits] fenserve: baby steps forward: fenserve apparently can read and write directory resource specifications correctly now

Benja Fallenstein benja.fallenstein at gmail.com
Thu Apr 5 18:23:32 EEST 2007


Thu Apr  5 18:22:38 EEST 2007  Benja Fallenstein <benja.fallenstein at gmail.com>
  * baby steps forward: fenserve apparently can read and write directory resource specifications correctly now
diff -rN -u old-fenserve-1/FenServe.hs new-fenserve-1/FenServe.hs
--- old-fenserve-1/FenServe.hs	2007-04-05 18:23:26.000000000 +0300
+++ new-fenserve-1/FenServe.hs	2007-04-05 18:23:26.000000000 +0300
@@ -139,6 +139,10 @@
                        r <- resolve defaultResolvers p
                        handleResource r req
                        
+toResourceRDF :: Node -> [Node -> ToRdfM ()] -> ToRdfM Node
+toResourceRDF ty fs = do n <- newFrag; tellTs [(n, fs_type, ty)]
+                         mapM ($ n) fs; return n
+                       
 data File = File Node
 
 instance FromRDF File where fromRDF = error "FenServe: XXX"
@@ -160,8 +164,10 @@
     fromRDF g n = fmap (Dir . Map.fromList) $ fromRDFConns fs_entry
         (fromRDFPair fs_filename fromRDF fs_spec fromRDF) g n
 instance ToRDF Directory where 
-    toRDF (Dir m) = toRDFConns fs_entry
-        (toRDFPair fs_filename toRDF fs_spec toRDF) (Map.toList m)
+    toRDF (Dir m) = toResourceRDF fs_Directory
+        [ addRDFConns fs_entry
+             (toRDFPair fs_filename toRDF fs_spec toRDF) (Map.toList m)
+        ]
 
 resolveDir rs (Dir m) put' (p:ps) =
     resolve' rs (m Map.! p) (\n -> put' $ Dir $ Map.insert p n m) ps




More information about the Fencommits mailing list