//# 0 errors, 62 messages
//#
/*
    //#AppModuleParser.java:1:1: class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#AppModuleParser.java:1:1: method: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init
* Licensed to the Apache Software Foundation (ASF) under one or more
*  contributor license agreements.  The ASF licenses this file to You
* 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.  For additional information regarding
* copyright in this work, please see the NOTICE file in the top level
* directory of this distribution.
*/
package org.apache.roller.weblogger.webservices.atomprotocol;

import org.apache.roller.util.DateUtil;
import org.jdom.Element;
import org.jdom.Namespace;

import com.sun.syndication.feed.module.Module;
import com.sun.syndication.io.ModuleParser;

public class AppModuleParser implements ModuleParser {
    //#AppModuleParser.java:27: method: void org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser()
    //#AppModuleParser.java:27: end of method: void org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser()

    public String getNamespaceUri() {
        return AppModule.URI;
    //#AppModuleParser.java:30: method: String org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.getNamespaceUri()
    //#output(String getNamespaceUri()): return_value
    //#post(String getNamespaceUri()): return_value == &"http:..www.w3.org.2007.app"
    //#AppModuleParser.java:30: end of method: String org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.getNamespaceUri()
    }

    public Namespace getContentNamespace() {
        return Namespace.getNamespace(AppModule.URI);
    //#AppModuleParser.java:34: method: Namespace org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.getContentNamespace()
    //#AppModuleParser.java:34: Warning: method not available
    //#    -- call on Namespace org.jdom.Namespace:getNamespace(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Namespace getContentNamespace()
    //#    unanalyzed callee: Namespace org.jdom.Namespace:getNamespace(String)
    //#output(Namespace getContentNamespace()): return_value
    //#post(Namespace getContentNamespace()): init'ed(return_value)
    //#AppModuleParser.java:34: end of method: Namespace org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.getContentNamespace()
    }
    
    public Module parse(Element elem) {
        boolean foundSomething = false;
    //#AppModuleParser.java:38: method: Module org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.parse(Element)
    //#AppModuleParser.java:38: Warning: unused assignment
    //#    unused assignment into foundSomething
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    Attribs:  Uncertain
    //#input(Module parse(Element)): __Descendant_Table[org/apache/roller/weblogger/webservices/atomprotocol/AppModuleParser]
    //#input(Module parse(Element)): __Descendant_Table[others]
    //#input(Module parse(Element)): __Dispatch_Table.getContentNamespace()Lorg/jdom/Namespace;
    //#input(Module parse(Element)): elem
    //#input(Module parse(Element)): org/apache/roller/weblogger/webservices/atomprotocol/AppModule.__Descendant_Table[org/apache/roller/weblogger/webservices/atomprotocol/AppModuleImpl]
    //#input(Module parse(Element)): org/apache/roller/weblogger/webservices/atomprotocol/AppModuleImpl.__Dispatch_Table.setDraft(Z)V
    //#input(Module parse(Element)): org/apache/roller/weblogger/webservices/atomprotocol/AppModuleImpl.__Dispatch_Table.setEdited(Ljava/util/Date;)V
    //#input(Module parse(Element)): this
    //#input(Module parse(Element)): this.__Tag
    //#output(Module parse(Element)): new AppModuleImpl(parse#1) num objects
    //#output(Module parse(Element)): return_value.__Tag
    //#output(Module parse(Element)): return_value.draft
    //#output(Module parse(Element)): return_value.edited
    //#output(Module parse(Element)): return_value
    //#new obj(Module parse(Element)): new AppModuleImpl(parse#1)
    //#pre[1] (Module parse(Element)): elem != null
    //#pre[3] (Module parse(Element)): this.__Tag == org/apache/roller/weblogger/webservices/atomprotocol/AppModuleParser
    //#post(Module parse(Element)): return_value == &new AppModuleImpl(parse#1)
    //#post(Module parse(Element)): new AppModuleImpl(parse#1) num objects == 1
    //#post(Module parse(Element)): return_value.__Tag == org/apache/roller/weblogger/webservices/atomprotocol/AppModuleImpl
    //#post(Module parse(Element)): init'ed(return_value.draft)
    //#post(Module parse(Element)): init'ed(return_value.edited)
    //#unanalyzed(Module parse(Element)): Effects-of-calling:org.jdom.Namespace:getNamespace
    //#unanalyzed(Module parse(Element)): Effects-of-calling:com.sun.syndication.feed.module.ModuleImpl
    //#test_vector(Module parse(Element)): java.lang.String:equals(...)@44: {0}, {1}
    //#test_vector(Module parse(Element)): java.lang.String:equals(...)@45: {0}, {1}
    //#test_vector(Module parse(Element)): org.jdom.Element:getChild(...)@40: Addr_Set{null}, Inverse{null}
    //#test_vector(Module parse(Element)): org.jdom.Element:getChild(...)@42: Addr_Set{null}, Inverse{null}
    //#test_vector(Module parse(Element)): org.jdom.Element:getChild(...)@48: Addr_Set{null}, Inverse{null}
        AppModule m = new AppModuleImpl();
        Element control = elem.getChild("control", getContentNamespace());
    //#AppModuleParser.java:40: Warning: method not available
    //#    -- call on Element org.jdom.Element:getChild(String, Namespace)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: Element org.jdom.Element:getChild(String, Namespace)
        if (control != null) {
            Element draftElem = control.getChild("draft", getContentNamespace());
    //#AppModuleParser.java:42: Warning: method not available
    //#    -- call on Element org.jdom.Element:getChild(String, Namespace)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: Element org.jdom.Element:getChild(String, Namespace)
            if (draftElem != null) {
                if ("yes".equals(draftElem.getText())) m.setDraft(true); 
    //#AppModuleParser.java:44: Warning: method not available
    //#    -- call on String org.jdom.Element:getText()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: String org.jdom.Element:getText()
                if ("no".equals(draftElem.getText())) m.setDraft(false);                
    //#AppModuleParser.java:45: Warning: method not available
    //#    -- call on String org.jdom.Element:getText()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: String org.jdom.Element:getText()
            }
        }
        Element edited = elem.getChild("edited", getContentNamespace());
    //#AppModuleParser.java:48: Warning: method not available
    //#    -- call on Element org.jdom.Element:getChild(String, Namespace)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: Element org.jdom.Element:getChild(String, Namespace)
        if (edited != null) {
            try {
                m.setEdited(DateUtil.parseIso8601(edited.getTextTrim()));
    //#AppModuleParser.java:51: Warning: method not available
    //#    -- call on String org.jdom.Element:getTextTrim()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: String org.jdom.Element:getTextTrim()
    //#AppModuleParser.java:51: Warning: method not available
    //#    -- call on Date org.apache.roller.util.DateUtil:parseIso8601(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
    //#    method: Module parse(Element)
    //#    unanalyzed callee: Date org.apache.roller.util.DateUtil:parseIso8601(String)
            } catch (Exception ignored) {}
        }
        return m;
    //#AppModuleParser.java:54: end of method: Module org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.parse(Element)
    }
}

    //#output(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Descendant_Table[org/apache/roller/weblogger/webservices/atomprotocol/AppModuleParser]
    //#output(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Dispatch_Table.getContentNamespace()Lorg/jdom/Namespace;
    //#output(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Dispatch_Table.getNamespaceUri()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Dispatch_Table.parse(Lorg/jdom/Element;)Lcom/sun/syndication/feed/module/Module;
    //#post(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Descendant_Table[org/apache/roller/weblogger/webservices/atomprotocol/AppModuleParser] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Dispatch_Table.getContentNamespace()Lorg/jdom/Namespace; == &getContentNamespace
    //#post(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Dispatch_Table.getNamespaceUri()Ljava/lang/String; == &getNamespaceUri
    //#post(org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init): __Dispatch_Table.parse(Lorg/jdom/Element;)Lcom/sun/syndication/feed/module/Module; == &parse
    //#AppModuleParser.java:: end of method: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser.org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser__static_init
    //#AppModuleParser.java:: end of class: org.apache.roller.weblogger.webservices.atomprotocol.AppModuleParser
