//# 1 errors, 291 messages
//#
/*
    //#PlanetSubscriptions.java:1:1: class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
 * Copyright 2005 Sun Microsystems, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.roller.weblogger.planet.ui;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.RollerException;
import org.apache.roller.planet.business.PlanetFactory;
import org.apache.roller.planet.business.PlanetManager;
import org.apache.roller.planet.business.fetcher.FeedFetcher;
import org.apache.roller.planet.pojos.PlanetGroup;
import org.apache.roller.planet.pojos.Subscription;
import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;


/**
 * Manage planet group subscriptions, default group is "all".
 */
public class PlanetSubscriptions extends PlanetUIAction {
    
    private static final Log log = LogFactory.getLog(PlanetSubscriptions.class);
    //#PlanetSubscriptions.java:40: method: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init
    //#PlanetSubscriptions.java:40: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.delete()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.execute()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getGroup()Lorg/apache/roller/planet/pojos/PlanetGroup;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getGroupHandle()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getPlanet()Lorg/apache/roller/planet/pojos/Planet;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getSubUrl()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getSubscriptions()Ljava/util/List;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.isWeblogRequired()Z
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.myPrepare()V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.myValidate()V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.save()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.setGroup(Lorg/apache/roller/planet/pojos/PlanetGroup;)V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.setGroupHandle(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.setSubUrl(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): log
    //#output(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): org/apache/roller/weblogger/planet/ui/PlanetUIAction.__Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): org/apache/roller/weblogger/planet/ui/PlanetUIAction.__Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.delete()Ljava/lang/String; == &delete
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.execute()Ljava/lang/String; == &execute
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getGroup()Lorg/apache/roller/planet/pojos/PlanetGroup; == &getGroup
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getGroupHandle()Ljava/lang/String; == &getGroupHandle
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getPlanet()Lorg/apache/roller/planet/pojos/Planet; == &org/apache/roller/weblogger/planet/ui/PlanetUIAction.getPlanet
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getSubUrl()Ljava/lang/String; == &getSubUrl
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.getSubscriptions()Ljava/util/List; == &getSubscriptions
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.isWeblogRequired()Z == &isWeblogRequired
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.myPrepare()V == &myPrepare
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.myValidate()V == &myValidate
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.requiredUserRole()Ljava/lang/String; == &requiredUserRole
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.save()Ljava/lang/String; == &save
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.setGroup(Lorg/apache/roller/planet/pojos/PlanetGroup;)V == &setGroup
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.setGroupHandle(Ljava/lang/String;)V == &setGroupHandle
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): __Dispatch_Table.setSubUrl(Ljava/lang/String;)V == &setSubUrl
    //#post(org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init): init'ed(log)
    //#PlanetSubscriptions.java:40: end of method: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.org.apache.roller.weblogger.planet.ui.PlanetSubscriptions__static_init
    
    // id of the group we are working in
    private String groupHandle = null;
    
    // the planet group we are working in
    private PlanetGroup group = null;
    
    // the subscription to deal with
    private String subUrl = null;
    
    
    public PlanetSubscriptions() {
    //#PlanetSubscriptions.java:52: method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()
    //#input(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.actionName
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.desiredMenu
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.group
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.groupHandle
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.pageTitle
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.planet
    //#output(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.subUrl
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.actionName == &"planetSubscriptions"
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.desiredMenu == &"admin"
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.group == null
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.groupHandle == null
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.planet == null
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.subUrl == null
    //#post(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): this.pageTitle == &"planetSubscriptions.title"
    //#unanalyzed(void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()): Effects-of-calling:org.apache.roller.weblogger.ui.struts2.util.UIAction
        this.actionName = "planetSubscriptions";
        this.desiredMenu = "admin";
        this.pageTitle = "planetSubscriptions.title";
    }
    //#PlanetSubscriptions.java:56: end of method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.org.apache.roller.weblogger.planet.ui.PlanetSubscriptions()
    
    
    @Override
    public String requiredUserRole() {
        return "admin";
    //#PlanetSubscriptions.java:61: method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.requiredUserRole()
    //#output(String requiredUserRole()): return_value
    //#post(String requiredUserRole()): return_value == &"admin"
    //#PlanetSubscriptions.java:61: end of method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.requiredUserRole()
    }
    
    @Override
    public boolean isWeblogRequired() {
        return false;
    //#PlanetSubscriptions.java:66: method: bool org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.isWeblogRequired()
    //#output(bool isWeblogRequired()): return_value
    //#post(bool isWeblogRequired()): return_value == 0
    //#PlanetSubscriptions.java:66: end of method: bool org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.isWeblogRequired()
    }
    
    
    @Override
    public void myPrepare() {
        
        PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
    //#PlanetSubscriptions.java:73: method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.myPrepare()
    //#PlanetSubscriptions.java:73: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: void myPrepare()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetSubscriptions.java:73: Warning: method not available
    //#    -- call on PlanetManager org.apache.roller.planet.business.Planet:getPlanetManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: void myPrepare()
    //#    unanalyzed callee: PlanetManager org.apache.roller.planet.business.Planet:getPlanetManager()
    //#input(void myPrepare()): "Error looking up planet group - "._tainted
    //#input(void myPrepare()): "all"._tainted
    //#input(void myPrepare()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#input(void myPrepare()): __Descendant_Table[others]
    //#input(void myPrepare()): __Dispatch_Table.getGroupHandle()Ljava/lang/String;
    //#input(void myPrepare()): __Dispatch_Table.getPlanet()Lorg/apache/roller/planet/pojos/Planet;
    //#input(void myPrepare()): __Dispatch_Table.setGroup(Lorg/apache/roller/planet/pojos/PlanetGroup;)V
    //#input(void myPrepare()): __Dispatch_Table.setGroupHandle(Ljava/lang/String;)V
    //#input(void myPrepare()): log
    //#input(void myPrepare()): org/apache/roller/weblogger/planet/ui/PlanetUIAction.log
    //#input(void myPrepare()): this
    //#input(void myPrepare()): this.__Tag
    //#input(void myPrepare()): this.groupHandle
    //#input(void myPrepare()): this.groupHandle._tainted
    //#input(void myPrepare()): this.planet
    //#output(void myPrepare()): this.group
    //#output(void myPrepare()): this.groupHandle
    //#output(void myPrepare()): this.planet
    //#pre[2] (void myPrepare()): init'ed(this.groupHandle)
    //#pre[6] (void myPrepare()): this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetSubscriptions
    //#pre[3] (void myPrepare()): (soft) init'ed(this.planet)
    //#pre[4] (void myPrepare()): (soft) org/apache/roller/weblogger/planet/ui/PlanetUIAction.log != null
    //#presumption(void myPrepare()): org.apache.commons.logging.LogFactory:getLog(...)@40 != null
    //#presumption(void myPrepare()): org.apache.roller.planet.business.Planet:getPlanetManager(...)@73 != null
    //#presumption(void myPrepare()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@73 != null
    //#post(void myPrepare()): possibly_updated(this.group)
    //#post(void myPrepare()): this.groupHandle == One-of{old this.groupHandle, &"all"}
    //#post(void myPrepare()): this.groupHandle != null
    //#post(void myPrepare()): init'ed(this.planet)
    //#unanalyzed(void myPrepare()): Effects-of-calling:org.apache.roller.planet.business.PlanetFactory:getPlanet
    //#unanalyzed(void myPrepare()): Effects-of-calling:org.apache.roller.planet.business.Planet:getPlanetManager
    //#unanalyzed(void myPrepare()): Effects-of-calling:org.apache.roller.planet.business.PlanetManager:getPlanet
    //#unanalyzed(void myPrepare()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void myPrepare()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#test_vector(void myPrepare()): this.groupHandle: Inverse{null}, Addr_Set{null}
        
        // lookup group we are operating on, if none specified then use default
        if (getGroupHandle() == null) {
            setGroupHandle("all");
        }
        
        try {
            setGroup(pmgr.getGroup(getPlanet(), getGroupHandle()));
    //#PlanetSubscriptions.java:81: Warning: method not available
    //#    -- call on PlanetGroup org.apache.roller.planet.business.PlanetManager:getGroup(Planet, String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: void myPrepare()
    //#    unanalyzed callee: PlanetGroup org.apache.roller.planet.business.PlanetManager:getGroup(Planet, String)
        } catch (RollerException ex) {
            log.error("Error looking up planet group - "+getGroupHandle(), ex);
    //#PlanetSubscriptions.java:83: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: void myPrepare()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
        }
    }
    //#PlanetSubscriptions.java:85: end of method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.myPrepare()
    
    
    /**
     * Populate page model and forward to subscription page
     */
    public String execute() {
        return LIST;
    //#PlanetSubscriptions.java:92: method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.execute()
    //#output(String execute()): return_value
    //#post(String execute()): return_value == &"list"
    //#PlanetSubscriptions.java:92: end of method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.execute()
    }

    
    /** 
     * Save subscription, add to current group 
     */
    public String save() {
        
        myValidate();
    //#PlanetSubscriptions.java:101: method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.save()
    //#input(String save()): "Adding Existing Subscription - "._tainted
    //#input(String save()): "Adding New Subscription - "._tainted
    //#input(String save()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#input(String save()): __Descendant_Table[others]
    //#input(String save()): __Dispatch_Table.getSubUrl()Ljava/lang/String;
    //#input(String save()): __Dispatch_Table.setSubUrl(Ljava/lang/String;)V
    //#input(String save()): log
    //#input(String save()): this
    //#input(String save()): this.__Tag
    //#input(String save()): this.group
    //#input(String save()): this.subUrl
    //#input(String save()): this.subUrl._tainted
    //#output(String save()): return_value
    //#output(String save()): this.subUrl
    //#pre[1] (String save()): init'ed(this.subUrl)
    //#pre[3] (String save()): this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetSubscriptions
    //#pre[4] (String save()): (soft) this.group != null
    //#presumption(String save()): org.apache.commons.logging.LogFactory:getLog(...)@40 != null
    //#presumption(String save()): org.apache.roller.planet.business.Planet:getFeedFetcher(...)@112 != null
    //#presumption(String save()): org.apache.roller.planet.business.Planet:getPlanetManager(...)@104 != null
    //#presumption(String save()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@104 != null
    //#presumption(String save()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@112 != null
    //#presumption(String save()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@130 != null
    //#presumption(String save()): org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions(...)@125 != null
    //#presumption(String save()): org.apache.roller.planet.pojos.Subscription:getGroups(...)@126 != null
    //#post(String save()): return_value == &"list"
    //#post(String save()): this.subUrl == One-of{old this.subUrl, null}
    //#post(String save()): init'ed(this.subUrl)
    //#unanalyzed(String save()): Effects-of-calling:org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError
    //#unanalyzed(String save()): Effects-of-calling:org.apache.commons.lang.StringUtils:isEmpty
    //#test_vector(String save()): org.apache.roller.planet.business.PlanetManager:getSubscription(...)@107: Inverse{null}, Addr_Set{null}
    //#test_vector(String save()): org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:hasActionErrors(...)@103: {1}, {0}
        
        if(!hasActionErrors()) try {
    //#PlanetSubscriptions.java:103: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:hasActionErrors()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:hasActionErrors()
            PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
    //#PlanetSubscriptions.java:104: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetSubscriptions.java:104: Warning: method not available
    //#    -- call on PlanetManager org.apache.roller.planet.business.Planet:getPlanetManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: PlanetManager org.apache.roller.planet.business.Planet:getPlanetManager()
            
            // check if this subscription already exists before adding it
            Subscription sub = pmgr.getSubscription(getSubUrl());
    //#PlanetSubscriptions.java:107: Warning: method not available
    //#    -- call on Subscription org.apache.roller.planet.business.PlanetManager:getSubscription(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Subscription org.apache.roller.planet.business.PlanetManager:getSubscription(String)
            if(sub == null) {
                log.debug("Adding New Subscription - "+getSubUrl());
    //#PlanetSubscriptions.java:109: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
                
                // sub doesn't exist yet, so we need to fetch it
                FeedFetcher fetcher = PlanetFactory.getPlanet().getFeedFetcher();
    //#PlanetSubscriptions.java:112: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetSubscriptions.java:112: Warning: method not available
    //#    -- call on FeedFetcher org.apache.roller.planet.business.Planet:getFeedFetcher()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: FeedFetcher org.apache.roller.planet.business.Planet:getFeedFetcher()
                sub = fetcher.fetchSubscription(getSubUrl());
    //#PlanetSubscriptions.java:113: Warning: method not available
    //#    -- call on Subscription org.apache.roller.planet.business.fetcher.FeedFetcher:fetchSubscription(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Subscription org.apache.roller.planet.business.fetcher.FeedFetcher:fetchSubscription(String)
                
                // save new sub
                pmgr.saveSubscription(sub);
    //#PlanetSubscriptions.java:116: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.PlanetManager:saveSubscription(Subscription)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.planet.business.PlanetManager:saveSubscription(Subscription)
            } else {
                log.debug("Adding Existing Subscription - "+getSubUrl());
    //#PlanetSubscriptions.java:118: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:debug(Object)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:debug(Object)
                
                // Subscription already exists
                addMessage("planetSubscription.foundExisting", sub.getTitle());
    //#PlanetSubscriptions.java:121: Warning: method not available
    //#    -- call on String org.apache.roller.planet.pojos.Subscription:getTitle()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.planet.pojos.Subscription:getTitle()
    //#PlanetSubscriptions.java:121: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addMessage(String, String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addMessage(String, String)
            }
            
            // add the sub to the group
            group.getSubscriptions().add(sub);
    //#PlanetSubscriptions.java:125: Warning: method not available
    //#    -- call on Set org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Set org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions()
            sub.getGroups().add(group);
    //#PlanetSubscriptions.java:126: ?null dereference
    //#    sub != null
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    basic block: bb_6
    //#    assertion: sub != null
    //#    VN: sub
    //#    Expected: Inverse{null} or Invalid
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad  Uncertain
    //#PlanetSubscriptions.java:126: Warning: method not available
    //#    -- call on Set org.apache.roller.planet.pojos.Subscription:getGroups()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Set org.apache.roller.planet.pojos.Subscription:getGroups()
            pmgr.saveGroup(group);
    //#PlanetSubscriptions.java:127: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.PlanetManager:saveGroup(PlanetGroup)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.planet.business.PlanetManager:saveGroup(PlanetGroup)
            
            // flush changes
            PlanetFactory.getPlanet().flush();
    //#PlanetSubscriptions.java:130: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetSubscriptions.java:130: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.Planet:flush()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.planet.business.Planet:flush()
            
            // clear field after success
            setSubUrl(null);
            
            addMessage("planetSubscription.success.saved");
    //#PlanetSubscriptions.java:135: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addMessage(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addMessage(String)
            
        } catch (RollerException ex) {
            log.error("Unexpected error saving subscription", ex);
    //#PlanetSubscriptions.java:138: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            addError("planetSubscriptions.error.duringSave", ex.getRootCauseMessage());
    //#PlanetSubscriptions.java:139: Warning: method not available
    //#    -- call on String org.apache.roller.RollerException:getRootCauseMessage()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: String org.apache.roller.RollerException:getRootCauseMessage()
    //#PlanetSubscriptions.java:139: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError(String, String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String save()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError(String, String)
        }
        
        return LIST;
    //#PlanetSubscriptions.java:142: end of method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.save()
    }

    
    /** 
     * Delete subscription, reset form  
     */
    public String delete() {
        
        if(getSubUrl() != null) try {
    //#PlanetSubscriptions.java:151: method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.delete()
    //#input(String delete()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#input(String delete()): __Descendant_Table[others]
    //#input(String delete()): __Dispatch_Table.getGroup()Lorg/apache/roller/planet/pojos/PlanetGroup;
    //#input(String delete()): __Dispatch_Table.getSubUrl()Ljava/lang/String;
    //#input(String delete()): __Dispatch_Table.setSubUrl(Ljava/lang/String;)V
    //#input(String delete()): log
    //#input(String delete()): this
    //#input(String delete()): this.__Tag
    //#input(String delete()): this.group
    //#input(String delete()): this.subUrl
    //#output(String delete()): return_value
    //#output(String delete()): this.subUrl
    //#pre[1] (String delete()): init'ed(this.subUrl)
    //#pre[3] (String delete()): this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetSubscriptions
    //#pre[4] (String delete()): (soft) this.group != null
    //#presumption(String delete()): org.apache.commons.logging.LogFactory:getLog(...)@40 != null
    //#presumption(String delete()): org.apache.roller.planet.business.Planet:getPlanetManager(...)@153 != null
    //#presumption(String delete()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@153 != null
    //#presumption(String delete()): org.apache.roller.planet.business.PlanetFactory:getPlanet(...)@160 != null
    //#presumption(String delete()): org.apache.roller.planet.business.PlanetManager:getSubscription(...)@156 != null
    //#presumption(String delete()): org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions(...)@157 != null
    //#presumption(String delete()): org.apache.roller.planet.pojos.Subscription:getGroups(...)@158 != null
    //#post(String delete()): return_value == &"list"
    //#post(String delete()): this.subUrl == One-of{old this.subUrl, null}
    //#post(String delete()): init'ed(this.subUrl)
    //#test_vector(String delete()): this.subUrl: Addr_Set{null}, Inverse{null}
            
            PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
    //#PlanetSubscriptions.java:153: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetSubscriptions.java:153: Warning: method not available
    //#    -- call on PlanetManager org.apache.roller.planet.business.Planet:getPlanetManager()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: PlanetManager org.apache.roller.planet.business.Planet:getPlanetManager()
            
            // remove subscription
            Subscription sub = pmgr.getSubscription(getSubUrl());
    //#PlanetSubscriptions.java:156: Warning: method not available
    //#    -- call on Subscription org.apache.roller.planet.business.PlanetManager:getSubscription(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: Subscription org.apache.roller.planet.business.PlanetManager:getSubscription(String)
            getGroup().getSubscriptions().remove(sub);
    //#PlanetSubscriptions.java:157: Warning: method not available
    //#    -- call on Set org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: Set org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions()
            sub.getGroups().remove(getGroup());
    //#PlanetSubscriptions.java:158: Warning: method not available
    //#    -- call on Set org.apache.roller.planet.pojos.Subscription:getGroups()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: Set org.apache.roller.planet.pojos.Subscription:getGroups()
            pmgr.saveGroup(getGroup());
    //#PlanetSubscriptions.java:159: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.PlanetManager:saveGroup(PlanetGroup)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: void org.apache.roller.planet.business.PlanetManager:saveGroup(PlanetGroup)
            PlanetFactory.getPlanet().flush();
    //#PlanetSubscriptions.java:160: Warning: method not available
    //#    -- call on Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: Planet org.apache.roller.planet.business.PlanetFactory:getPlanet()
    //#PlanetSubscriptions.java:160: Warning: method not available
    //#    -- call on void org.apache.roller.planet.business.Planet:flush()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: void org.apache.roller.planet.business.Planet:flush()
            
            // clear field after success
            setSubUrl(null);
            
            addMessage("planetSubscription.success.deleted");
    //#PlanetSubscriptions.java:165: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addMessage(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addMessage(String)
            
        } catch (RollerException ex) {
            log.error("Error removing planet subscription", ex);
    //#PlanetSubscriptions.java:168: Warning: method not available
    //#    -- call on void org.apache.commons.logging.Log:error(Object, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: void org.apache.commons.logging.Log:error(Object, Throwable)
            addError("planetSubscription.error.deleting");
    //#PlanetSubscriptions.java:169: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: String delete()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError(String)
        }

        return LIST;
    //#PlanetSubscriptions.java:172: end of method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.delete()
    }
    
    
    /** 
     * Validate posted subscription, fill in blanks via Technorati 
     */
    private void myValidate() {
        
        if(StringUtils.isEmpty(getSubUrl())) {
    //#PlanetSubscriptions.java:181: method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.myValidate()
    //#PlanetSubscriptions.java:181: Warning: method not available
    //#    -- call on bool org.apache.commons.lang.StringUtils:isEmpty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: void myValidate()
    //#    unanalyzed callee: bool org.apache.commons.lang.StringUtils:isEmpty(String)
    //#input(void myValidate()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#input(void myValidate()): __Descendant_Table[others]
    //#input(void myValidate()): __Dispatch_Table.getSubUrl()Ljava/lang/String;
    //#input(void myValidate()): this
    //#input(void myValidate()): this.__Tag
    //#input(void myValidate()): this.subUrl
    //#pre[2] (void myValidate()): this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetSubscriptions
    //#pre[3] (void myValidate()): init'ed(this.subUrl)
    //#test_vector(void myValidate()): org.apache.commons.lang.StringUtils:isEmpty(...)@181: {0}, {1}
            addError("planetSubscription.error.feedUrl");
    //#PlanetSubscriptions.java:182: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: void myValidate()
    //#    unanalyzed callee: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions:addError(String)
        }
    }
    //#PlanetSubscriptions.java:184: end of method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.myValidate()
    
    
    public List<Subscription> getSubscriptions() {
        
        List<Subscription> subs = Collections.EMPTY_LIST;
    //#PlanetSubscriptions.java:189: method: List org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getSubscriptions()
    //#input(List getSubscriptions()): __Descendant_Table[org/apache/roller/weblogger/planet/ui/PlanetSubscriptions]
    //#input(List getSubscriptions()): __Descendant_Table[others]
    //#input(List getSubscriptions()): __Dispatch_Table.getGroup()Lorg/apache/roller/planet/pojos/PlanetGroup;
    //#input(List getSubscriptions()): java.util.Collections.EMPTY_LIST
    //#input(List getSubscriptions()): this
    //#input(List getSubscriptions()): this.__Tag
    //#input(List getSubscriptions()): this.group
    //#output(List getSubscriptions()): new ArrayList(getSubscriptions#1) num objects
    //#output(List getSubscriptions()): return_value
    //#new obj(List getSubscriptions()): new ArrayList(getSubscriptions#1)
    //#pre[2] (List getSubscriptions()): this.__Tag == org/apache/roller/weblogger/planet/ui/PlanetSubscriptions
    //#pre[3] (List getSubscriptions()): init'ed(this.group)
    //#presumption(List getSubscriptions()): init'ed(java.util.Collections.EMPTY_LIST)
    //#presumption(List getSubscriptions()): java.util.Iterator:next(...)@195 != null
    //#presumption(List getSubscriptions()): org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions(...)@191 != null
    //#presumption(List getSubscriptions()): org.apache.roller.planet.pojos.Subscription:getFeedURL(...)@197 != null
    //#post(List getSubscriptions()): return_value == One-of{java.util.Collections.EMPTY_LIST, &new ArrayList(getSubscriptions#1)}
    //#post(List getSubscriptions()): (soft) init'ed(return_value)
    //#post(List getSubscriptions()): new ArrayList(getSubscriptions#1) num objects <= 1
    //#test_vector(List getSubscriptions()): this.group: Addr_Set{null}, Inverse{null}
    //#test_vector(List getSubscriptions()): java.lang.String:startsWith(...)@197: {1}, {0}
    //#test_vector(List getSubscriptions()): java.util.Iterator:hasNext(...)@195: {0}, {1}
        if(getGroup() != null) {
            Set<Subscription> subsSet = getGroup().getSubscriptions();
    //#PlanetSubscriptions.java:191: Warning: method not available
    //#    -- call on Set org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: List getSubscriptions()
    //#    unanalyzed callee: Set org.apache.roller.planet.pojos.PlanetGroup:getSubscriptions()
            
            // iterate over list and build display list
            subs = new ArrayList();
            for( Subscription sub : subsSet ) {
                // only include external subs for display
                if(!sub.getFeedURL().startsWith("weblogger:")) {
    //#PlanetSubscriptions.java:197: Warning: method not available
    //#    -- call on String org.apache.roller.planet.pojos.Subscription:getFeedURL()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
    //#    method: List getSubscriptions()
    //#    unanalyzed callee: String org.apache.roller.planet.pojos.Subscription:getFeedURL()
                    subs.add(sub);
                }
            }
        }
        
        return subs;
    //#PlanetSubscriptions.java:203: end of method: List org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getSubscriptions()
    }
    
    
    public String getGroupHandle() {
        return groupHandle;
    //#PlanetSubscriptions.java:208: method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getGroupHandle()
    //#input(String getGroupHandle()): this
    //#input(String getGroupHandle()): this.groupHandle
    //#output(String getGroupHandle()): return_value
    //#pre[2] (String getGroupHandle()): init'ed(this.groupHandle)
    //#post(String getGroupHandle()): return_value == this.groupHandle
    //#post(String getGroupHandle()): init'ed(return_value)
    //#PlanetSubscriptions.java:208: end of method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getGroupHandle()
    }

    public void setGroupHandle(String groupHandle) {
        this.groupHandle = groupHandle;
    //#PlanetSubscriptions.java:212: method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.setGroupHandle(String)
    //#input(void setGroupHandle(String)): groupHandle
    //#input(void setGroupHandle(String)): this
    //#output(void setGroupHandle(String)): this.groupHandle
    //#post(void setGroupHandle(String)): this.groupHandle == groupHandle
    //#post(void setGroupHandle(String)): init'ed(this.groupHandle)
    }
    //#PlanetSubscriptions.java:213: end of method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.setGroupHandle(String)
    
    public PlanetGroup getGroup() {
        return group;
    //#PlanetSubscriptions.java:216: method: PlanetGroup org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getGroup()
    //#input(PlanetGroup getGroup()): this
    //#input(PlanetGroup getGroup()): this.group
    //#output(PlanetGroup getGroup()): return_value
    //#pre[2] (PlanetGroup getGroup()): init'ed(this.group)
    //#post(PlanetGroup getGroup()): return_value == this.group
    //#post(PlanetGroup getGroup()): init'ed(return_value)
    //#PlanetSubscriptions.java:216: end of method: PlanetGroup org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getGroup()
    }

    public void setGroup(PlanetGroup group) {
        this.group = group;
    //#PlanetSubscriptions.java:220: method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.setGroup(PlanetGroup)
    //#input(void setGroup(PlanetGroup)): group
    //#input(void setGroup(PlanetGroup)): this
    //#output(void setGroup(PlanetGroup)): this.group
    //#post(void setGroup(PlanetGroup)): this.group == group
    //#post(void setGroup(PlanetGroup)): init'ed(this.group)
    }
    //#PlanetSubscriptions.java:221: end of method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.setGroup(PlanetGroup)

    public String getSubUrl() {
        return subUrl;
    //#PlanetSubscriptions.java:224: method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getSubUrl()
    //#input(String getSubUrl()): this
    //#input(String getSubUrl()): this.subUrl
    //#output(String getSubUrl()): return_value
    //#pre[2] (String getSubUrl()): init'ed(this.subUrl)
    //#post(String getSubUrl()): return_value == this.subUrl
    //#post(String getSubUrl()): init'ed(return_value)
    //#PlanetSubscriptions.java:224: end of method: String org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.getSubUrl()
    }

    public void setSubUrl(String subUrl) {
        this.subUrl = subUrl;
    //#PlanetSubscriptions.java:228: method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.setSubUrl(String)
    //#input(void setSubUrl(String)): subUrl
    //#input(void setSubUrl(String)): this
    //#output(void setSubUrl(String)): this.subUrl
    //#post(void setSubUrl(String)): this.subUrl == subUrl
    //#post(void setSubUrl(String)): init'ed(this.subUrl)
    }
    //#PlanetSubscriptions.java:229: end of method: void org.apache.roller.weblogger.planet.ui.PlanetSubscriptions.setSubUrl(String)
    
}
    //#PlanetSubscriptions.java:: end of class: org.apache.roller.weblogger.planet.ui.PlanetSubscriptions
