1
1
package javaxt .rss ;
2
-
3
2
import org .w3c .dom .*;
4
- import javaxt .xml .DOM ;
5
- //import javaxt.geospatial.geometry.Geometry;
6
- //import javaxt.geospatial.coordinate.Parser;
7
3
8
4
//******************************************************************************
9
5
//** RSS Feed
@@ -21,7 +17,7 @@ public class Feed {
21
17
private java .net .URL link = null ;
22
18
private Object geometry = null ;
23
19
24
- private javaxt . utils .Date lastUpdate = null ;
20
+ private java . util .Date lastUpdate = null ;
25
21
private Integer interval = null ;
26
22
27
23
private Item [] Items = null ;
@@ -33,82 +29,75 @@ public class Feed {
33
29
/** Creates a new instance of Feed */
34
30
35
31
protected Feed (org .w3c .dom .Node node ) {
36
- java .util .Vector vec = new java .util .Vector ();
32
+ java .util .ArrayList < Item > items = new java .util .ArrayList < Item > ();
37
33
NodeList nodeList = node .getChildNodes ();
38
34
for (int i =0 ; i <nodeList .getLength (); i ++){
39
- node = nodeList .item (i );
40
- String nodeName = node .getNodeName ().toLowerCase ();
41
- String nodeValue = DOM .getNodeValue (node );
42
- //System.out.println(nodeName + ": " + nodeValue);
43
- if (nodeName .equals ("title" )) title = nodeValue ;
44
- if (nodeName .equals ("description" ) || nodeName .equals ("subtitle" )){
45
- description = nodeValue ;
46
- }
47
-
48
-
49
- //Parse Location Information (GeoRSS)
50
- if (nodeName .equals ("where" ) || nodeName .equals ("georss:where" )){
51
- NodeList nodes = node .getChildNodes ();
52
- for (int j =0 ; j <nodes .getLength (); j ++){
53
- if (nodes .item (j ).getNodeType ()==1 ){
54
- if (Item .isGeometryNode (nodes .item (j ).getNodeName ().toLowerCase ())){
55
- geometry = Item .getGeometry (DOM .getNodeValue (nodes .item (j )).trim ());
56
- if (geometry !=null ) break ;
57
- }
58
- }
59
- }
60
- }
61
- if (Item .isGeometryNode (nodeName )){
62
- geometry = Item .getGeometry (nodeValue );
63
- }
64
-
65
-
66
- if (nodeName .equals ("link" )){
67
- String url = nodeValue .trim ();
68
- if (url .length ()==0 ){
69
- //get href attribute
70
- }
71
- try {
72
- link = new java .net .URL (url );
73
- }
74
- catch (Exception e ){}
75
- }
76
-
77
-
78
-
79
- if (nodeName .equals ("item" ) || nodeName .equals ("entry" )){
80
- vec .add (new Item (node ));
81
- }
82
-
83
- if (nodeName .equalsIgnoreCase ("lastBuildDate" )){
84
- if (nodeValue !=null ){
85
- try {
86
- lastUpdate = new javaxt .utils .Date (nodeValue );
87
- }
88
- catch (java .text .ParseException e ){
89
- lastUpdate = null ;
90
- }
91
- }
92
- }
93
-
94
- if (nodeName .equals ("ttl" )){
95
- try {
96
- interval = javaxt .utils .string .toInt (nodeValue );
97
- }
98
- catch (Exception e ){
99
- }
100
- }
101
-
102
- }
103
-
104
-
105
- //Convert Vector to Array
106
- Object [] arr = vec .toArray ();
107
- Items = new Item [arr .length ];
108
- for (int i =0 ; i <Items .length ; i ++){
109
- Items [i ] = (Item ) arr [i ];
35
+ node = nodeList .item (i );
36
+ if (node .getNodeType ()==1 ){
37
+ String nodeName = node .getNodeName ().toLowerCase ();
38
+ String nodeValue = Parser .getNodeValue (node ).trim ();
39
+ if (nodeName .equals ("title" )) title = nodeValue ;
40
+ if (nodeName .equals ("description" ) || nodeName .equals ("subtitle" )){
41
+ description = nodeValue ;
42
+ }
43
+
44
+
45
+ //Parse Location Information (GeoRSS)
46
+ if (nodeName .equals ("where" ) || nodeName .equals ("georss:where" )){
47
+ NodeList nodes = node .getChildNodes ();
48
+ for (int j =0 ; j <nodes .getLength (); j ++){
49
+ if (nodes .item (j ).getNodeType ()==1 ){
50
+ if (Item .isGeometryNode (nodes .item (j ).getNodeName ().toLowerCase ())){
51
+ geometry = Item .getGeometry (Parser .getNodeValue (nodes .item (j )).trim ());
52
+ if (geometry !=null ) break ;
53
+ }
54
+ }
55
+ }
56
+ }
57
+ if (Item .isGeometryNode (nodeName )){
58
+ geometry = Item .getGeometry (nodeValue );
59
+ }
60
+
61
+
62
+ if (nodeName .equals ("link" )){
63
+ String url = nodeValue .trim ();
64
+ if (url .length ()==0 ){
65
+ //get href attribute
66
+ }
67
+ try {
68
+ link = new java .net .URL (url );
69
+ }
70
+ catch (Exception e ){}
71
+ }
72
+
73
+
74
+
75
+ if (nodeName .equals ("item" ) || nodeName .equals ("entry" )){
76
+ items .add (new Item (node ));
77
+ }
78
+
79
+ if (nodeName .equalsIgnoreCase ("lastBuildDate" )){
80
+ if (nodeValue !=null ){
81
+ try {
82
+ lastUpdate = Parser .getDate (nodeValue );
83
+ }
84
+ catch (java .text .ParseException e ){
85
+ lastUpdate = null ;
86
+ }
87
+ }
88
+ }
89
+
90
+ if (nodeName .equals ("ttl" )){
91
+ try {
92
+ interval = Integer .parseInt (nodeValue );
93
+ }
94
+ catch (Exception e ){
95
+ }
96
+ }
97
+ }
110
98
}
111
-
99
+
100
+ this .Items = items .toArray (new Item [items .size ()]);
112
101
}
113
102
114
103
public String getTitle (){ return title ; }
@@ -117,7 +106,7 @@ protected Feed(org.w3c.dom.Node node) {
117
106
public Item [] getItems (){ return Items ; }
118
107
public Object getLocation (){ return geometry ; }
119
108
120
- public javaxt . utils .Date getLastUpdate (){
109
+ public java . util .Date getLastUpdate (){
121
110
return lastUpdate ;
122
111
}
123
112
0 commit comments