01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package org.libresource.forum;
34:
35: import org.libresource.Libresource;
36:
37: import org.libresource.forum.ejb.model.MessageResourceValue;
38: import org.libresource.forum.interfaces.LibresourceForumService;
39:
40: import org.libresource.xml.ImportExportLogger;
41: import org.libresource.xml.LibresourceExportHandler;
42: import org.libresource.xml.XmlDumpAttributes;
43: import org.libresource.xml.XmlDumpHelper;
44:
45: import org.xml.sax.ContentHandler;
46:
47: import java.net.URI;
48:
49: import java.text.SimpleDateFormat;
50:
51: /**
52: * LibreSource
53: * @author <a href="mailto:bort@loria.fr">Guillaume Bort</a> - <a href="http://www.inria.fr">INRIA Lorraine</a>
54: */
55: public class MessageExportHandler extends LibresourceExportHandler {
56: private URI uri;
57:
58: public MessageExportHandler(URI uri) {
59: this .uri = uri;
60: }
61:
62: public void export(ContentHandler handler, ImportExportLogger logger)
63: throws Exception {
64: LibresourceForumService forumService = (LibresourceForumService) Libresource
65: .getService("LibresourceForum");
66: MessageResourceValue messageResourceValue = forumService
67: .getMessage(uri);
68:
69: XmlDumpAttributes attributes = new XmlDumpAttributes();
70: attributes.put("author", messageResourceValue.getAuthorName());
71: attributes.put("date", Libresource
72: .formatDate(messageResourceValue.getDate()));
73: XmlDumpHelper.beginElement("forum", "message", XmlDumpHelper
74: .generateAttributesSet(attributes), handler);
75:
76: XmlDumpHelper.outputElementWithContent("message", "title",
77: messageResourceValue.getTitle(), XmlDumpHelper
78: .getEmptyAttributesSet(), handler);
79: XmlDumpHelper.outputElementWithContent("message", "author",
80: messageResourceValue.getAuthorName(), XmlDumpHelper
81: .getEmptyAttributesSet(), handler);
82: XmlDumpHelper.outputElementWithContent("message", "date",
83: Libresource.formatDate(messageResourceValue.getDate()),
84: XmlDumpHelper.getEmptyAttributesSet(), handler);
85: XmlDumpHelper.outputElementWithContent("message", "body",
86: messageResourceValue.getBody(), XmlDumpHelper
87: .getEmptyAttributesSet(), handler);
88:
89: XmlDumpHelper.endElement("forum", "message", handler);
90: }
91: }
|