1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.sun.syndication.io.impl;
18
19 import com.sun.syndication.feed.module.SyModule;
20 import com.sun.syndication.feed.module.ModuleI;
21 import com.sun.syndication.feed.module.SyModuleI;
22 import com.sun.syndication.io.ModuleParser;
23 import org.jdom.Element;
24 import org.jdom.Namespace;
25
26 import java.util.HashMap;
27 import java.util.Map;
28
29 /***
30 */
31 public class SyModuleParser implements ModuleParser {
32
33 public String getNamespaceUri() {
34 return SyModuleI.URI;
35 }
36
37 private Namespace getDCNamespace() {
38 return Namespace.getNamespace(SyModuleI.URI);
39 }
40
41 private static final Map PERIODS = new HashMap();
42
43 static {
44 PERIODS.put(SyModuleI.HOURLY.toString(),SyModuleI.HOURLY);
45 PERIODS.put(SyModuleI.DAILY.toString(),SyModuleI.DAILY);
46 PERIODS.put(SyModuleI.WEEKLY.toString(),SyModuleI.WEEKLY);
47 PERIODS.put(SyModuleI.MONTHLY.toString(),SyModuleI.MONTHLY);
48 PERIODS.put(SyModuleI.YEARLY.toString(),SyModuleI.YEARLY);
49 }
50
51 public ModuleI parse(Element syndRoot) {
52 boolean foundSomething = false;
53 SyModuleI sm = new SyModule();
54
55 Element e = syndRoot.getChild("updatePeriod",getDCNamespace());
56 if (e!=null) {
57 foundSomething = true;
58 sm.setUpdatePeriod((SyModuleI.Period)PERIODS.get(e.getText()));
59 }
60 e = syndRoot.getChild("updateFrequency",getDCNamespace());
61 if (e!=null) {
62 foundSomething = true;
63 sm.setUpdateFrequency(Integer.parseInt(e.getText()));
64 }
65 e = syndRoot.getChild("updateBase",getDCNamespace());
66 if (e!=null) {
67 foundSomething = true;
68 sm.setUpdateBase(DateParser.parseW3CDateTime(e.getText()));
69 }
70 return (foundSomething) ? sm : null;
71 }
72
73 }