source: trunk/src/atom/collection.lisp

Last change on this file was 328, checked in by lgiessmann, 14 years ago

fixed ticket #75 --> changed license terms from LGPL to LLGPL in the trunk tree

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1;;+-----------------------------------------------------------------------------
2;;+  Isidorus
3;;+  (c) 2008-2010 Marc Kuester, Christoph Ludwig, Lukas Georgieff
4;;+
5;;+  Isidorus is freely distributable under the LLGPL license.
6;;+  You can find a detailed description in trunk/docs/LLGPL-LICENSE.txt and
7;;+  trunk/docs/LGPL-LICENSE.txt.
8;;+-----------------------------------------------------------------------------
9
10(in-package :atom)
11
12(defclass collection-feed (feed)
13  ((dependency :accessor dependency 
14               :initarg :dependency :initform nil
15               :type list
16               :documentation "URLs of the feeds that this feed depends on")
17   (source-locator-prefix 
18    :accessor source-locator-prefix
19    :initarg :source-locator-prefix))
20  (:documentation "abstract class for atom feeds"))
21
22(defmethod feed-to-elem ((feed collection-feed))
23  (setf (updated feed) (get-most-recent-datetime-for-tm (id feed)))
24  (dolist (dependency (dependency feed))
25    (to-elem "e:dependency" dependency)))
26
27(defclass collection-entry (entry)
28  ((link-type :accessor link-type
29              :initarg :link-type
30              :type symbol
31              :documentation "one of 'fragments-feed or 'snapshots-feed")
32   (tm-id :accessor tm-id
33          :initarg :tm-id
34          :type string))
35  (:documentation "Class that represents an entry for a fragments feed or snapshots feed in a collection feed"))
36
37(defmethod entry-to-elem ((entry collection-entry))
38  (setf (updated entry) (get-most-recent-datetime-for-tm (tm-id entry)))
39  (to-link (link entry) 
40           (if (eq 'snapshots-feed (link-type entry))
41               "http://www.egovpt.org/sdshare/snapshotsfeed"
42               "http://www.egovpt.org/sdshare/fragmentsfeed") "application/atom+xml"))
43
Note: See TracBrowser for help on using the repository browser.