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