File Source: WeblogEntrySet.java
/*
P/P * Method: org.apache.roller.weblogger.webservices.adminprotocol.sdk.WeblogEntrySet__static_init
*/
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */
18 /*
19 * WeblogEntrySet.java
20 *
21 * Created on January 17, 2006, 12:44 PM
22 */
23
24 package org.apache.roller.weblogger.webservices.adminprotocol.sdk;
25
26 import java.io.IOException;
27 import java.io.InputStream;
28 import java.util.ArrayList;
29 import java.util.Iterator;
30 import java.util.List;
31 import org.jdom.Document;
32 import org.jdom.Element;
33 import org.jdom.JDOMException;
34 import org.jdom.input.SAXBuilder;
35 import org.apache.roller.weblogger.webservices.adminprotocol.sdk.EntrySet.Types;
36
37 /**
38 * This class describes a set of weblog entries.
39 * @author jtb
40 */
41 public class WeblogEntrySet extends EntrySet {
42 static interface Tags {
43 public static final String WEBLOGS = "weblogs";
44 }
45
/*
P/P * Method: void org.apache.roller.weblogger.webservices.adminprotocol.sdk.WeblogEntrySet(String)
*
* Postconditions:
* java.lang.StringBuilder:toString(...)._tainted == urlPrefix._tainted
* init'ed(java.lang.StringBuilder:toString(...)._tainted)
* this.entries == null
* this.href == &java.lang.StringBuilder:toString(...)
*/
46 public WeblogEntrySet(String urlPrefix) {
47 setHref(urlPrefix + "/" + Types.WEBLOGS);
48 }
49
/*
P/P * Method: void org.apache.roller.weblogger.webservices.adminprotocol.sdk.WeblogEntrySet(Document, String)
*
* Preconditions:
* d != null
*
* Postconditions:
* init'ed(java.lang.StringBuilder:toString(...)._tainted)
* init'ed(this.entries)
* this.href == &java.lang.StringBuilder:toString(...)
*/
50 public WeblogEntrySet(Document d, String urlPrefix) throws UnexpectedRootElementException {
51 populate(d, urlPrefix);
52 }
53
/*
P/P * Method: void org.apache.roller.weblogger.webservices.adminprotocol.sdk.WeblogEntrySet(InputStream, String)
*
* Presumptions:
* org.jdom.input.SAXBuilder:build(...)@56 != null
*
* Postconditions:
* init'ed(java.lang.StringBuilder:toString(...)._tainted)
* init'ed(this.entries)
* this.href == &java.lang.StringBuilder:toString(...)
*/
54 public WeblogEntrySet(InputStream stream, String urlPrefix) throws JDOMException, IOException, UnexpectedRootElementException {
55 SAXBuilder sb = new SAXBuilder();
56 Document d = sb.build(stream);
57
58 populate(d, urlPrefix);
59 }
60
61 private void populate(Document d, String urlPrefix) throws UnexpectedRootElementException {
/*
P/P * Method: void populate(Document, String)
*
* Preconditions:
* d != null
*
* Presumptions:
* java.lang.String:equals(...)@64 == 1
* java.util.Iterator:next(...)@71 != null
* org.jdom.Document:getRootElement(...)@62 != null
* org.jdom.Element:getName(...)@63 != null
*
* Postconditions:
* init'ed(java.lang.StringBuilder:toString(...)._tainted)
* possibly_updated(this.entries)
* this.href == &java.lang.StringBuilder:toString(...)
*
* Test Vectors:
* java.util.Iterator:hasNext(...)@70: {0}, {1}
* org.jdom.Element:getChildren(...)@67: Addr_Set{null}, Inverse{null}
*/
62 Element root = d.getRootElement();
63 String rootName = root.getName();
64 if (!rootName.equals(Tags.WEBLOGS)) {
65 throw new UnexpectedRootElementException("ERROR: Unexpected root element", Tags.WEBLOGS, rootName);
66 }
67 List weblogs = root.getChildren(WeblogEntry.Tags.WEBLOG, Service.NAMESPACE);
68 if (weblogs != null) {
69 List entries = new ArrayList();
70 for (Iterator i = weblogs.iterator(); i.hasNext(); ) {
71 Element weblog = (Element)i.next();
72 WeblogEntry entry = new WeblogEntry(weblog, urlPrefix);
73 entries.add(entry);
74 }
75 setEntries((Entry[])entries.toArray(new Entry[0]));
76 }
77 setHref(urlPrefix + "/" + Types.WEBLOGS);
78 }
79
80 public String getType() {
/*
P/P * Method: String getType()
*
* Postconditions:
* return_value == &"weblogs"
*/
81 return Types.WEBLOGS;
82 }
83 }
SofCheck Inspector Build Version : 2.18479
| WeblogEntrySet.java |
2009-Jan-02 14:25:22 |
| WeblogEntrySet.class |
2009-Sep-04 03:12:46 |
| WeblogEntrySet$Tags.class |
2009-Sep-04 03:12:46 |