axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chinth...@apache.org
Subject svn commit: r279723 [4/7] - in /webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS: ./ Aggregator/ Aggregator/conf/ Aggregator/src/ Aggregator/src/org/ Aggregator/src/org/apache/ Aggregator/src/org/apache/axis2/ Aggregator/src/org/apache/axis2...
Date Fri, 09 Sep 2005 07:25:01 GMT
Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/Item.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/Item.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/Item.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/Item.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,69 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.net.URL;
+
+
+public interface Item {
+
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public void addSourceElement(SourceElement sourceElement);
+
+    public void addEnclosureElement(EnclosureElement enclosureElement);
+
+    public void addGuidElement(GuidElement guidElement);
+
+    public void addPubDate(PubDate pubDate);
+
+    public void addCategoryElement(CategoryElement categoryElement);
+
+    public String getTitle();
+
+    public void setTitle(String title);
+
+    public URL getLink();
+
+    public void setLink(URL link);
+
+    public boolean isUpadate();
+
+    public void setUpadate(boolean upadate);
+
+    public String getDescription();
+
+    public void setDescription(String description);
+
+    public EnclosureElement getEnclosureElement();
+
+    public GuidElement getGuidElement();
+
+    public PubDate getPubDate();
+
+    public SourceElement getSourceElement();
+
+    public CategoryElement getCategoryElement();
+
+    public boolean isEnable();
+
+    public void setEnable(boolean enable);
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LanguageElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LanguageElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LanguageElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LanguageElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,29 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+public interface LanguageElement {
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public String getLanguage();
+
+    public void setLanguage(String language);
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LastBuildDate.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LastBuildDate.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LastBuildDate.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/LastBuildDate.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,33 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.util.Date;
+
+
+public interface LastBuildDate {
+
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public Date getLastBuildDate();
+
+    public void setLastBuildDate(Date lastBuildDate);
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/ManagingEditorElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/ManagingEditorElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/ManagingEditorElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/ManagingEditorElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,29 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public interface ManagingEditorElement {
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public String getManagingEditor();
+
+    public void setManagingEditor(String managingEditor);
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/PubDate.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/PubDate.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/PubDate.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/PubDate.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,32 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.util.Date;
+
+public interface PubDate {
+
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public Date getPubDate();
+
+    public void setPubDate(Date pubDate);
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/SourceElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/SourceElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/SourceElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/SourceElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,36 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public interface SourceElement {
+
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public String getSourcename();
+
+    public void setSourcename(String sourcename);
+
+    public String getLinkOfSource();
+
+    public void setLinkOfSource(String linkOfSource);
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TextInputElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TextInputElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TextInputElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TextInputElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,28 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public interface TextInputElement {
+
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TtlElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TtlElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TtlElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/TtlElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,29 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public interface TtlElement {
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public int getTtl();
+
+    public void setTtl(int ttl);
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/WebMasterElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/WebMasterElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/WebMasterElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/WebMasterElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,29 @@
+package org.apache.axis2.feed.feedmodel.rss;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+public interface WebMasterElement {
+    public abstract void serialize(XMLStreamWriter streamWriter) throws XMLStreamException;
+
+    public String getWebMaster();
+
+    public void setWebMaster(String webMaster);
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/builder/RSSFeedBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/builder/RSSFeedBuilder.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/builder/RSSFeedBuilder.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/builder/RSSFeedBuilder.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,524 @@
+package org.apache.axis2.feed.feedmodel.rss.builder;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.Feed;
+import org.apache.axis2.feed.feedmodel.FeedBuilder;
+import org.apache.axis2.feed.feedmodel.FeedFactory;
+import org.apache.axis2.feed.feedmodel.rss.*;
+import org.apache.axis2.feed.feedmodel.rss.factory.RSSFactory;
+import org.apache.axis2.feed.feedmodel.rss.impl.RSSFeed;
+
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+
+
+public class RSSFeedBuilder implements FeedBuilder {
+
+    private PubDate channelpubDate = null;
+    private RSSFactory feedFactory;
+    private XMLStreamReader parser;
+    private RSSFeed rssFeed;
+    private Channel channel;
+    private Item item = null;
+    private String currentElement = "rss";
+    private String currentParentName = "rss";
+    private String defaultStr = "default";
+    private CloudElement cloudElement = null;
+    private GuidElement guidElement = null;
+    private ArrayList itemList = new ArrayList();
+    private String link = null, description = "", title = "";
+    private int temp = 0;
+    private String ispermalink = null;
+    private CategoryElement channelCategoryElement = null;
+    private LastBuildDate lastBuildDate = null;
+    private String domain = null;
+    private TtlElement ttlElement;
+    private ManagingEditorElement managingEditorElement;
+    private GeneratorElement generatorElement;
+    private CopyrightElement copyrightElement;
+    private LanguageElement languageElement;
+    private WebMasterElement webMasterElement;
+    private DocsElement docsElement;
+    private String itemdescription = "";
+
+
+    public RSSFeedBuilder(FeedFactory feedFactory, XMLStreamReader parser) throws MalformedURLException, XMLStreamException {
+        this.feedFactory = (RSSFactory) feedFactory;
+        this.parser = parser;
+        this.buildFeed(parser);
+    }
+
+    private void buildFeed(XMLStreamReader parser) throws XMLStreamException, MalformedURLException {
+
+        while (parser.hasNext()) {
+            this.createFeed(parser);
+            parser.next();
+        }
+        parser.close();
+    }
+
+    private void createFeed(XMLStreamReader xmlr) throws MalformedURLException {
+
+        switch (xmlr.getEventType()) {
+
+            case XMLStreamConstants.START_ELEMENT:
+                currentElement = xmlr.getLocalName();
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.RSS_NAME)) {
+
+
+                    for (int i = 0; i < xmlr.getAttributeCount(); i++) {
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.RSS_VERSION_ATTR)) {
+                            String attr = xmlr.getAttributeValue(i);
+                            //  rssFeed = new RSSFeed(attr);
+                            rssFeed = (RSSFeed) feedFactory.createFeed(attr);
+                        }
+                    }
+
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+
+                    currentElement = xmlr.getLocalName();
+                    currentParentName = xmlr.getLocalName();
+                    managingEditorElement = null;
+                    webMasterElement = null;
+                    docsElement = null;
+                    copyrightElement = null;
+                    generatorElement = null;
+                    ttlElement = null;
+                    languageElement = null;
+
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_LINK_STRING)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+
+
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_DESCRIPTON_STRING)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_TITLE_STRING)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.ITEM_NAME)) {
+                    // item = new RSSItem();
+                    item = feedFactory.createItem();
+                    currentElement = xmlr.getLocalName();
+                    currentParentName = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CATEGORY_STRING)) {
+                    currentElement = xmlr.getLocalName();
+                    for (int i = 0; i < xmlr.getAttributeCount(); i++) {
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.CATEGORY_DOMAIN_ATTR)) {
+                            domain = xmlr.getAttributeValue(i);
+
+                        }
+                    }
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.IMAGE_NAME)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.GUID_ID_STRING)) {
+                    currentElement = xmlr.getLocalName();
+                    for (int i = 0; i < xmlr.getAttributeCount(); i++) {
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.GUID_ISPERMERLINK_ATTR)) {
+                            ispermalink = xmlr.getAttributeValue(i);
+
+                        }
+                    }
+
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CLOUD_NAME)) {
+                    String domainAttr = null, regpro = null, port = null, path = null, protocol = null;
+                    for (int i = 0; i < xmlr.getAttributeCount(); i++) {
+
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.CLOUD_DOMAIN_ATTR)) {
+                            domainAttr = xmlr.getAttributeValue(i);
+
+                        }
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.CLOUD_REGPRO_ATTR)) {
+                            regpro = xmlr.getAttributeValue(i);
+
+                        }
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.CLOUD_PORT_ATTR)) {
+
+                            port = xmlr.getAttributeValue(i);
+
+                        }
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.CLOUD_PROTOCOL_ATTR)) {
+                            protocol = xmlr.getAttributeValue(i);
+
+                        }
+                        if (xmlr.getAttributeLocalName(i).equalsIgnoreCase(Constants.CLOUD_PATH_ATTR)) {
+                            path = xmlr.getAttributeValue(i);
+
+                        }
+
+                    }
+                    //  cloudElement = new RSSCloudElement(new Integer(port).intValue(), path, regpro, protocol, domainAttr);
+                    cloudElement = feedFactory.createCloudElement(new Integer(port).intValue(), path, regpro, protocol, domainAttr);
+                    currentElement = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.SOURCE_NAME)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.PUB_DATE_NAME)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.LAST_BUILD_DATE_NAME)) {
+                    currentElement = xmlr.getLocalName();
+
+                }
+
+                break;
+
+            case XMLStreamConstants.END_ELEMENT:
+
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+
+                    // channel = new RSSChannel(title, new URL(link), description);
+                    channel = feedFactory.createChannel(title, new URL(link), description);
+                    if (cloudElement != null)
+                        channel.addCloudElement(cloudElement);
+                    if (channelpubDate != null) {
+                        channel.addPudDate(channelpubDate);
+                    }
+                    if (channelCategoryElement != null) {
+                        channel.addCategoryElement(channelCategoryElement);
+                    }
+                    if (lastBuildDate != null) {
+                        channel.addLastBuildDate(lastBuildDate);
+                    }
+                    if (generatorElement != null)
+                        channel.setGeneratorElement(generatorElement);
+
+                    if (copyrightElement != null) {
+                        channel.setCopyrightElement(copyrightElement);
+                    }
+                    if (docsElement != null)
+                        channel.setDocsElement(docsElement);
+                    if (webMasterElement != null) {
+                        channel.setWebMasterElement(webMasterElement);
+
+                    }
+                    if (managingEditorElement != null)
+                        channel.setManagingEditorElement(managingEditorElement);
+                    if (languageElement != null)
+                        channel.setLanguageElement(languageElement);
+                    if (ttlElement != null)
+                        channel.setTtlElement(ttlElement);
+
+                    Iterator iterator = itemList.iterator();
+                    while (iterator.hasNext()) {
+
+                        channel.addItem((Item) iterator.next());
+                    }
+                    rssFeed.addChannel(channel);
+                    currentParentName = defaultStr;
+                    currentElement = defaultStr;
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_LINK_STRING)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_DESCRIPTON_STRING)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CHANNEL_TITLE_STRING)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.ITEM_NAME)) {
+                    if (ispermalink != null) {
+
+                        if (guidElement != null) {
+                            if (ispermalink.equalsIgnoreCase("true")) {
+                                guidElement.setPermaLink(true);
+                            } else {
+                                guidElement.setPermaLink(false);
+                            }
+
+
+                        }
+                    }
+                    if (itemdescription != null) {
+                        item.setDescription(itemdescription);
+                    }
+                    itemdescription = "";
+                    item.addGuidElement(guidElement);
+                    if (item != null) {
+                        itemList.add(temp, item);
+                        temp++;
+
+                    }
+                    item = null;
+                    currentParentName = defaultStr;
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CATEGORY_STRING)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.IMAGE_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.GUID_ID_STRING)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.CLOUD_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.SOURCE_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.PUB_DATE_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.LANGUAGE_ELEMNT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.GENERATOR_ELEMT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.COPYRIGHT_ELEMNT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.DOCS_ELEMENT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.MANAGINGEDITOR_ELEMNT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.WEBMASTER_ELEMNT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.TTL_ELEMENT_NAME)) {
+                    currentElement = defaultStr;
+
+                }
+                if (xmlr.getLocalName().equalsIgnoreCase(Constants.LAST_BUILD_DATE_NAME)) {
+                    currentElement = xmlr.getLocalName();
+                    currentElement = defaultStr;
+                }
+
+                break;
+
+            case XMLStreamConstants.SPACE:
+
+                break;
+            case XMLStreamConstants.CHARACTERS:
+                if (xmlr.isCharacters()) {
+                    if (currentParentName.equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.CHANNEL_TITLE_STRING)) {
+
+
+                            title = xmlr.getText();
+                        }
+                    }
+                    if (currentParentName.equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.CHANNEL_LINK_STRING)) {
+
+                            link = xmlr.getText();
+                        }
+                    }
+                    if (currentParentName.equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.CHANNEL_DESCRIPTON_STRING)) {
+                            description += xmlr.getText();
+                        }
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.TTL_ELEMENT_NAME)) {
+//                        ttlElement= feedFactory.createTtlElement(new Integer(xmlr.getText()).intValue());
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.LANGUAGE_ELEMNT_NAME)) {
+
+                        languageElement = feedFactory.createLanguageElement(xmlr.getText());
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.COPYRIGHT_ELEMNT_NAME)) {
+                        copyrightElement = feedFactory.createCopyrightElement(xmlr.getText());
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.WEBMASTER_ELEMNT_NAME)) {
+
+                        webMasterElement = feedFactory.createWebMaserElement(xmlr.getText());
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.DOCS_ELEMENT_NAME)) {
+
+//                       docsElement = feedFactory.createDocsElement(new URL(xmlr.getText()));
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.MANAGINGEDITOR_ELEMNT_NAME)) {
+                        managingEditorElement = feedFactory.createManagingEditorElement(xmlr.getText());
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.GENERATOR_ELEMT_NAME)) {
+                        generatorElement = feedFactory.createGeneratorElement(xmlr.getText());
+                    }
+
+
+                    if (currentParentName.equalsIgnoreCase(Constants.ITEM_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.ITEM_TITLE_STRING)) {
+
+
+                            item.setTitle(xmlr.getText());
+
+                        }
+                    }
+                    if (currentParentName.equalsIgnoreCase(Constants.ITEM_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.ITEM_LINK_STRING)) {
+
+                            item.setLink(new URL(xmlr.getText()));
+                        }
+                    }
+                    if (currentParentName.equalsIgnoreCase(Constants.ITEM_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.ITEM_DESCRIPTON_STRING)) {
+                            itemdescription += xmlr.getText();
+
+
+                        }
+
+                    }
+
+                    if (currentElement.equalsIgnoreCase(Constants.CATEGORY_STRING)) {
+                        CategoryElement element = feedFactory.createCategoryElement(xmlr.getText());
+                        if (domain != null) element.setDomain(domain);
+                        if (currentParentName.equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+                            channelCategoryElement = element;
+                        }
+                        if (currentParentName.equalsIgnoreCase(Constants.ITEM_NAME)) {
+                            item.addCategoryElement(element);
+                        }
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.IMAGE_NAME)) {
+
+                    }
+                    if (currentParentName.equalsIgnoreCase(Constants.ITEM_NAME)) {
+                        if (currentElement.equalsIgnoreCase(Constants.GUID_ID_STRING)) {
+
+                            //  guidElement = new RSSGuidElement(xmlr.getText());
+                            guidElement = feedFactory.createGuidElement(xmlr.getText());
+
+                        }
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.CLOUD_NAME)) {
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.SOURCE_NAME)) {
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.PUB_DATE_NAME)) {
+                        //   PubDate pubDate = new PubDateImpl(new Date(xmlr.getText()));
+                        PubDate pubDate = null;
+                        try {
+                            pubDate = feedFactory.createPubDate(new Date(parser.getText()));
+
+                            //  pubDate = feedFactory.createPubDate(DateFormat.getInstance().parse(parser.getText()));
+
+                        } catch (Exception e) {
+
+                        }
+                        if (currentParentName.equalsIgnoreCase(Constants.CHANNEL_NAME)) {
+                            channelpubDate = pubDate;
+                        }
+                        if (currentParentName.equalsIgnoreCase(Constants.ITEM_NAME)) {
+                            item.addPubDate(pubDate);
+                        }
+
+
+                    }
+                    if (currentElement.equalsIgnoreCase(Constants.LAST_BUILD_DATE_NAME)) {
+
+                        try {
+                            lastBuildDate = feedFactory.createLastBuildDate(new Date(parser.getText()));
+
+                            //  lastBuildDate = feedFactory.createLastBuildDate(DateFormat.getInstance().parse(parser.getText()));
+                        } catch (Exception e) {
+
+                        }
+                    }
+
+                }
+                break;
+
+            case XMLStreamConstants.PROCESSING_INSTRUCTION:
+
+                break;
+
+            case XMLStreamConstants.CDATA:
+
+                break;
+
+            case XMLStreamConstants.COMMENT:
+
+                break;
+
+            case XMLStreamConstants.ENTITY_REFERENCE:
+
+                break;
+
+            case XMLStreamConstants.START_DOCUMENT:
+                break;
+
+        }
+    }
+
+    public void buildFeed() throws MalformedURLException, XMLStreamException {
+
+
+    }
+
+    public Feed getFeed() {
+        return this.rssFeed;
+    }
+
+    public XMLStreamReader getParser() {
+        return parser;
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/RSSFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/RSSFactory.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/RSSFactory.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/RSSFactory.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,73 @@
+package org.apache.axis2.feed.feedmodel.rss.factory;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.FeedFactory;
+import org.apache.axis2.feed.feedmodel.rss.*;
+
+import java.net.URL;
+import java.util.Date;
+
+
+public interface RSSFactory extends FeedFactory {
+
+    public Channel createChannel(String title, URL link, String description);
+
+    public Item createItem();
+
+    public Item createItem(String title, URL link, String description);
+
+
+    public SourceElement createSourceElement(String sourcename, String linkOfSource);
+
+    public SourceElement createSourceElement(String sourcename);
+
+
+    public GuidElement createGuidElement(String guid);
+
+    public GuidElement createGuidElement(String guid, boolean isPermaLink);
+
+    public ImageElement createImageElement(URL URlofImage, String title, URL linkOfSite);
+
+    public EnclosureElement createEnclosureElement(URL url, int lenght, String MIMEType);
+
+    public CategoryElement createCategoryElement(String categoryName);
+
+    public CategoryElement createCategoryElement(String categoryName, String domain);
+
+    public CloudElement createCloudElement(int port, String path, String registerProcedure, String protocol, String domain);
+
+    public LastBuildDate createLastBuildDate(Date lastBuilddate);
+
+    public PubDate createPubDate(Date pubDate);
+
+    public WebMasterElement createWebMaserElement(String webmaster);
+
+    public DocsElement createDocsElement(URL docsURl);
+
+    public ManagingEditorElement createManagingEditorElement(String managingEditorEmail);
+
+    public CopyrightElement createCopyrightElement(String copyRight);
+
+    public TtlElement createTtlElement(int ttl);
+
+    public GeneratorElement createGeneratorElement(String generator);
+
+    public LanguageElement createLanguageElement(String langauge);
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/impl/RSSFactoryImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/impl/RSSFactoryImpl.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/impl/RSSFactoryImpl.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/factory/impl/RSSFactoryImpl.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,121 @@
+package org.apache.axis2.feed.feedmodel.rss.factory.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.Feed;
+import org.apache.axis2.feed.feedmodel.rss.*;
+import org.apache.axis2.feed.feedmodel.rss.factory.RSSFactory;
+import org.apache.axis2.feed.feedmodel.rss.impl.*;
+
+import java.net.URL;
+import java.util.Date;
+
+
+public class RSSFactoryImpl implements RSSFactory {
+
+    public Feed createFeed(String version) {
+        return new RSSFeed(version);
+    }
+
+
+    public Channel createChannel(String title, URL link, String description) {
+        return new RSSChannel(title, link, description);
+    }
+
+    public Item createItem() {
+        return new RSSItem();
+    }
+
+    public Item createItem(String title, URL link, String description) {
+        return new RSSItem(title, link, description);
+    }
+
+    // link of source = links to the XMLization of the source
+    public SourceElement createSourceElement(String sourcename, String linkOfSource) {
+        return new RSSSourceElement(sourcename, linkOfSource);
+    }
+
+    public SourceElement createSourceElement(String sourcename) {
+        return new RSSSourceElement(sourcename);
+    }
+
+    /*
+    */
+    public GuidElement createGuidElement(String guid) {
+        return new RSSGuidElement(guid);
+    }
+
+    public GuidElement createGuidElement(String guid, boolean isPermaLink) {
+        return new RSSGuidElement(guid, isPermaLink);
+    }
+
+    public ImageElement createImageElement(URL URlofImage, String title, URL linkOfSite) {
+        return new RSSImageElement(URlofImage, title, linkOfSite);
+    }
+
+    public EnclosureElement createEnclosureElement(URL url, int lenght, String MIMEType) {
+        return new RSSEnclosureElement(url, lenght, MIMEType);
+    }
+
+    public CategoryElement createCategoryElement(String categoryName) {
+        return new RSSCategoryElement(categoryName);
+    }
+
+    public CategoryElement createCategoryElement(String categoryName, String domain) {
+        return new RSSCategoryElement(categoryName, domain);
+    }
+
+    public CloudElement createCloudElement(int port, String path, String registerProcedure, String protocol, String domain) {
+        return new RSSCloudElement(port, path, registerProcedure, protocol, domain);
+    }
+
+    public LastBuildDate createLastBuildDate(Date lastBuilddate) {
+        return new LastBuildDateImpl(lastBuilddate);
+    }
+
+    public PubDate createPubDate(Date pubDate) {
+        return new PubDateImpl(pubDate);
+    }
+
+    public WebMasterElement createWebMaserElement(String webmaster) {
+        return new RSSWebMasterElement(webmaster);
+    }
+
+    public DocsElement createDocsElement(URL docsURl) {
+        return new RSSDocsElement(docsURl);
+    }
+
+    public ManagingEditorElement createManagingEditorElement(String managingEditorEmail) {
+        return new RSSManagingEditorElement(managingEditorEmail);
+    }
+
+    public CopyrightElement createCopyrightElement(String copyRight) {
+        return new RSSCopyrightElement(copyRight);
+    }
+
+    public TtlElement createTtlElement(int ttl) {
+        return new RSSTtlElement(ttl);
+    }
+
+    public GeneratorElement createGeneratorElement(String generator) {
+        return new RSSGeneratorElement(generator);
+    }
+
+    public LanguageElement createLanguageElement(String langauge) {
+        return new RSSLanguageElement(langauge);
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/LastBuildDateImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/LastBuildDateImpl.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/LastBuildDateImpl.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/LastBuildDateImpl.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,65 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+import org.apache.axis2.feed.feedmodel.rss.LastBuildDate;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.util.Date;
+
+
+public class LastBuildDateImpl implements LastBuildDate, Constants {
+
+    private Date lastBuildDate = null;
+
+    public LastBuildDateImpl(Date lastBuildDate) {
+        this.lastBuildDate = lastBuildDate;
+    }
+
+    public Date getLastBuildDate() {
+        return lastBuildDate;
+    }
+
+    public void setLastBuildDate(Date lastBuildDate) {
+        this.lastBuildDate = lastBuildDate;
+    }
+
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.LAST_BUILD_DATE_NAME, Constants.RSS_NAMESPACE_URI);
+        if (lastBuildDate != null)
+            streamWriter.writeCharacters(lastBuildDate.toString());
+        streamWriter.writeEndElement();
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof LastBuildDateImpl)) return false;
+
+        final LastBuildDateImpl lastBuildDate1 = (LastBuildDateImpl) o;
+
+        if (lastBuildDate != null ? !lastBuildDate.equals(lastBuildDate1.lastBuildDate) : lastBuildDate1.lastBuildDate != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        return (lastBuildDate != null ? lastBuildDate.hashCode() : 0);
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/PubDateImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/PubDateImpl.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/PubDateImpl.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/PubDateImpl.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,51 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+import org.apache.axis2.feed.feedmodel.rss.PubDate;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.util.Date;
+
+
+public class PubDateImpl implements PubDate {
+
+    private Date pubDate = null;
+
+
+    public PubDateImpl(Date pubDate) {
+        this.pubDate = pubDate;
+    }
+
+    public Date getPubDate() {
+        return pubDate;
+    }
+
+    public void setPubDate(Date pubDate) {
+        this.pubDate = pubDate;
+    }
+
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.PUB_DATE_NAME, Constants.RSS_NAMESPACE_URI);
+        if (pubDate != null)
+            streamWriter.writeCharacters(pubDate.toString());
+        streamWriter.writeEndElement();
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCategoryElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCategoryElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCategoryElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCategoryElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,67 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.CategoryElement;
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public class RSSCategoryElement implements CategoryElement {
+
+    private String categoryName = null;
+    private String domain = null;
+
+    public RSSCategoryElement(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public RSSCategoryElement(String domain, String categoryName) {
+        this.domain = domain;
+        this.categoryName = categoryName;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.CATEGORY_STRING, Constants.RSS_NAMESPACE_URI);
+        if (domain != null)
+            streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.CATEGORY_DOMAIN_ATTR, domain);
+
+        if (categoryName != null)
+            streamWriter.writeCharacters(categoryName);
+        streamWriter.writeEndElement();
+    }
+
+    public String getCategoryName() {
+        return categoryName;
+    }
+
+    public void setCategoryName(String categoryName) {
+        this.categoryName = categoryName;
+    }
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSChannel.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSChannel.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSChannel.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSChannel.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,299 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.*;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+public class RSSChannel implements Channel {
+
+    private TtlElement ttlElement = null;
+    private ManagingEditorElement managingEditorElement = null;
+    private GeneratorElement generatorElement = null;
+    private CopyrightElement copyrightElement = null;
+    private LanguageElement languageElement = null;
+    private WebMasterElement webMasterElement = null;
+    private DocsElement docsElement = null;
+    private String title;
+    private URL link;
+    private String description;
+    private CategoryElement categoryElement = null;
+    private ImageElement imageElement = null;
+    private CloudElement cloudElement = null;
+    private PubDate pubDate = null;
+    private LastBuildDate lastBuildDate = null;
+    private int count = 0;
+    private ArrayList categoryList = null;
+    private ArrayList itemContainer = null;
+    private boolean isAllreadeyHasPubDate = false;
+
+
+    public RSSChannel(String title, URL link, String description) {
+        itemContainer = new ArrayList();
+        this.title = title;
+        this.link = link;
+        this.description = description;
+    }
+
+    public void addItem(Item item) {
+        if (!itemContainer.contains(item)) {
+            itemContainer.add(item);
+            count++;
+        } else {
+            itemContainer.remove(item);
+            item.setUpadate(true);
+            itemContainer.add(item);
+        }
+    }
+
+    public void remove(Item item) {
+        if (itemContainer.contains(item)) {
+            itemContainer.remove(item);
+        }
+    }
+
+    public void addImageElement(ImageElement imageElement) {
+        this.imageElement = imageElement;
+    }
+
+    public void addCloudElement(CloudElement cloudElement) {
+        this.cloudElement = cloudElement;
+    }
+
+    public void addPudDate(PubDate pubDate) {
+        this.pubDate = pubDate;
+    }
+
+    public void addLastBuildDate(LastBuildDate lastBuildDate) {
+        this.lastBuildDate = lastBuildDate;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public URL getLink() {
+        return link;
+    }
+
+    public void setLink(URL link) {
+        this.link = link;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.CHANNEL_NAME, Constants.RSS_NAMESPACE_URI);
+
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.CHANNEL_TITLE_STRING, Constants.RSS_NAMESPACE_URI);
+        if (title != null)
+            streamWriter.writeCharacters(title);
+        streamWriter.writeEndElement();
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.CHANNEL_LINK_STRING, Constants.RSS_NAMESPACE_URI);
+        if (link != null)
+            streamWriter.writeCharacters(link.toString());
+        streamWriter.writeEndElement();
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.CHANNEL_DESCRIPTON_STRING, Constants.RSS_NAMESPACE_URI);
+        if (description != null)
+            streamWriter.writeCharacters(description);
+        streamWriter.writeEndElement();
+        if (cloudElement != null)
+            cloudElement.serialize(streamWriter);
+        if (pubDate != null)
+            pubDate.serialize(streamWriter);
+        if (lastBuildDate != null)
+            lastBuildDate.serialize(streamWriter);
+        if (categoryElement != null)
+            categoryElement.serialize(streamWriter);
+        if (generatorElement != null)
+            generatorElement.serialize(streamWriter);
+        if (copyrightElement != null)
+            copyrightElement.serialize(streamWriter);
+        if (docsElement != null)
+            docsElement.serialize(streamWriter);
+        if (webMasterElement != null) {
+            webMasterElement.serialize(streamWriter);
+        }
+        if (managingEditorElement != null)
+            managingEditorElement.serialize(streamWriter);
+        if (languageElement != null)
+            languageElement.serialize(streamWriter);
+        if (ttlElement != null)
+            ttlElement.serialize(streamWriter);
+
+
+        Iterator enumeration = this.getItems();
+        if (enumeration != null) {
+            while (enumeration.hasNext()) {
+
+                ((Item) enumeration.next()).serialize(streamWriter);
+            }
+        }
+
+        streamWriter.writeEndElement();
+    }
+
+    public CategoryElement getCategoryElement() {
+        return categoryElement;
+    }
+
+    public void addCategoryElement(CategoryElement categoryElement) {
+        this.categoryElement = categoryElement;
+        categoryList = new ArrayList();
+        categoryList.add(categoryElement);
+
+    }
+
+
+    public CloudElement getCloudElement() {
+        return cloudElement;
+    }
+
+    public PubDate getPubDate() {
+        return pubDate;
+    }
+
+    public LastBuildDate getLastBuildDate() {
+        return lastBuildDate;
+    }
+
+
+    public ImageElement getImageElement() {
+        return imageElement;
+    }
+
+    public Iterator getItems() {
+        Iterator enumeration = null;
+        if (itemContainer != null) {
+            enumeration = this.itemContainer.iterator();
+        }
+        return enumeration;
+    }
+
+
+    public TtlElement getTtlElement() {
+        return ttlElement;
+    }
+
+    public void setTtlElement(TtlElement ttlElement) {
+        this.ttlElement = ttlElement;
+    }
+
+    public ManagingEditorElement getManagingEditorElement() {
+        return managingEditorElement;
+    }
+
+    public void setManagingEditorElement(ManagingEditorElement managingEditorElement) {
+        this.managingEditorElement = managingEditorElement;
+    }
+
+    public GeneratorElement getGeneratorElement() {
+        return generatorElement;
+    }
+
+    public void setGeneratorElement(GeneratorElement generatorElement) {
+        this.generatorElement = generatorElement;
+    }
+
+    public WebMasterElement getWebMasterElement() {
+        return webMasterElement;
+    }
+
+    public void setWebMasterElement(WebMasterElement webMasterElement) {
+        this.webMasterElement = webMasterElement;
+    }
+
+    public DocsElement getDocsElement() {
+        return docsElement;
+    }
+
+    public void setDocsElement(DocsElement docsElement) {
+        this.docsElement = docsElement;
+    }
+
+    public LanguageElement getLanguageElement() {
+        return languageElement;
+    }
+
+    public void setLanguageElement(LanguageElement languageElement) {
+        this.languageElement = languageElement;
+    }
+
+    public CopyrightElement getCopyrightElement() {
+        return copyrightElement;
+    }
+
+    public void setCopyrightElement(CopyrightElement copyrightElement) {
+        this.copyrightElement = copyrightElement;
+    }
+
+    public void refresh() {
+        Iterator iterator = this.getItems();
+        if (iterator != null) {
+            while (iterator.hasNext()) {
+                Item item = (Item) iterator.next();
+            }
+        }
+
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof RSSChannel)) return false;
+
+        final RSSChannel rssChannel = (RSSChannel) o;
+
+        if (description != null ? !description.equals(rssChannel.description) : rssChannel.description != null) return false;
+        if (link != null ? !link.equals(rssChannel.link) : rssChannel.link != null) return false;
+        if (title != null ? !title.equals(rssChannel.title) : rssChannel.title != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (title != null ? title.hashCode() : 0);
+        result = 29 * result + (link != null ? link.hashCode() : 0);
+        result = 29 * result + (description != null ? description.hashCode() : 0);
+        return result;
+    }
+
+    public boolean isAllreadeyHasPubDate() {
+        if (pubDate != null) {
+            return true;
+        }
+        return false;
+    }
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCloudElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCloudElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCloudElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCloudElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,94 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.CloudElement;
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public class RSSCloudElement implements CloudElement {
+
+    private String domain;
+    private int port;
+    private String path;
+    private String registerProcedure;
+    private String protocol;
+
+    public RSSCloudElement(int port, String path, String registerProcedure, String protocol, String domain) {
+        this.domain = domain;
+        this.port = port;
+        this.path = path;
+        this.registerProcedure = registerProcedure;
+        this.protocol = protocol;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.CLOUD_NAME, Constants.RSS_NAMESPACE_URI);
+        streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.CLOUD_PORT_ATTR, new Integer(port).toString());
+        streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.CLOUD_PATH_ATTR, path);
+        streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.CLOUD_REGPRO_ATTR, registerProcedure);
+        streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.CLOUD_PROTOCOL_ATTR, protocol);
+        streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.CLOUD_DOMAIN_ATTR, domain);
+        streamWriter.writeEndElement();
+    }
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    public int getPort() {
+        return port;
+    }
+
+    public void setPort(int port) {
+        this.port = port;
+    }
+
+    public String getPath() {
+        return path;
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    public String getRegisterProcedure() {
+        return registerProcedure;
+    }
+
+    public void setRegisterProcedure(String registerProcedure) {
+        this.registerProcedure = registerProcedure;
+    }
+
+    public String getProtocol() {
+        return protocol;
+    }
+
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCopyrightElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCopyrightElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCopyrightElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSCopyrightElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,47 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+import org.apache.axis2.feed.feedmodel.rss.CopyrightElement;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public class RSSCopyrightElement implements CopyrightElement {
+    private String copyright = null;
+
+    public RSSCopyrightElement(String copyright) {
+        this.copyright = copyright;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.COPYRIGHT_ELEMNT_NAME, Constants.RSS_NAMESPACE_URI);
+        if (copyright != null)
+            streamWriter.writeCharacters(copyright);
+        streamWriter.writeEndElement();
+    }
+
+    public String getCopyright() {
+        return copyright;
+    }
+
+    public void setCopyright(String copyright) {
+        this.copyright = copyright;
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSDocsElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSDocsElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSDocsElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSDocsElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,63 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+import org.apache.axis2.feed.feedmodel.rss.DocsElement;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.net.URL;
+
+
+public class RSSDocsElement implements DocsElement {
+    private URL docsURL = null;
+
+    public RSSDocsElement(URL docsURL) {
+        this.docsURL = docsURL;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.DOCS_ELEMENT_NAME, Constants.RSS_NAMESPACE_URI);
+        if (docsURL != null)
+            streamWriter.writeCharacters(docsURL.toString());
+        streamWriter.writeEndElement();
+    }
+
+    public URL getDocsURL() {
+        return docsURL;
+    }
+
+    public void setDocsURL(URL docsURL) {
+        this.docsURL = docsURL;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof RSSDocsElement)) return false;
+
+        final RSSDocsElement rssDocsElement = (RSSDocsElement) o;
+
+        if (docsURL != null ? !docsURL.equals(rssDocsElement.docsURL) : rssDocsElement.docsURL != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        return (docsURL != null ? docsURL.hashCode() : 0);
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSEnclosureElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSEnclosureElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSEnclosureElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSEnclosureElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,67 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.EnclosureElement;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.net.URL;
+
+
+public class RSSEnclosureElement implements EnclosureElement {
+
+    private URL url;
+    private int lenght;
+    private String MIMEType;
+
+    public RSSEnclosureElement(URL url, int lenght, String MIMEType) {
+        this.url = url;
+        this.lenght = lenght;
+        this.MIMEType = MIMEType;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+
+    }
+
+    public URL getUrl() {
+        return url;
+    }
+
+    public void setUrl(URL url) {
+        this.url = url;
+    }
+
+    public int getLenght() {
+        return lenght;
+    }
+
+    public void setLenght(int lenght) {
+        this.lenght = lenght;
+    }
+
+    public String getMIMEType() {
+        return MIMEType;
+    }
+
+    public void setMIMEType(String MIMEType) {
+        this.MIMEType = MIMEType;
+    }
+
+
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSFeed.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSFeed.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSFeed.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSFeed.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,85 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.Feed;
+import org.apache.axis2.feed.feedmodel.rss.Channel;
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public class RSSFeed implements Feed {
+
+    private String version;
+    private Channel channel;
+
+    public RSSFeed(String version) {
+        this.version = version;
+    }
+
+    public void addChannel(Channel channel) {
+
+        this.channel = channel;
+    }
+
+
+    public String getVersion() {
+        return version;
+    }
+
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartDocument();
+        streamWriter.writeCharacters("\n");
+        streamWriter.writeStartElement(Constants.RSS_NAME);
+        streamWriter.writeNamespace(Constants.RSS_PREFIX, Constants.RSS_NAMESPACE_URI);
+        streamWriter.writeAttribute(Constants.RSS_VERSION_ATTR, version);
+
+        Channel channeltemp = this.getChannel();
+
+        (channeltemp).serialize(streamWriter);
+
+        streamWriter.writeEndElement();
+        streamWriter.writeEndDocument();
+
+    }
+
+    public Channel getChannel() {
+        return channel;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof RSSFeed)) return false;
+
+        final RSSFeed rssFeed = (RSSFeed) o;
+
+        if (channel != null ? !channel.equals(rssFeed.channel) : rssFeed.channel != null) return false;
+        if (version != null ? !version.equals(rssFeed.version) : rssFeed.version != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (version != null ? version.hashCode() : 0);
+        result = 29 * result + (channel != null ? channel.hashCode() : 0);
+        return result;
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGeneratorElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGeneratorElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGeneratorElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGeneratorElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,64 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+import org.apache.axis2.feed.feedmodel.rss.GeneratorElement;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public class RSSGeneratorElement implements GeneratorElement {
+    private String generator = null;
+
+    public RSSGeneratorElement(String generator) {
+
+        this.generator = generator;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.GENERATOR_ELEMT_NAME, Constants.RSS_NAMESPACE_URI);
+        if (generator != null)
+            streamWriter.writeCharacters(generator);
+        streamWriter.writeEndElement();
+    }
+
+    public String getGenerator() {
+        System.out.println(generator);
+        return generator;
+    }
+
+    public void setGenerator(String generator) {
+        this.generator = generator;
+    }
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof RSSGeneratorElement)) return false;
+
+        final RSSGeneratorElement rssGeneratorElement = (RSSGeneratorElement) o;
+
+        if (generator != null ? !generator.equals(rssGeneratorElement.generator) : rssGeneratorElement.generator != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        return (generator != null ? generator.hashCode() : 0);
+    }
+}

Added: webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGuidElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGuidElement.java?rev=279723&view=auto
==============================================================================
--- webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGuidElement.java (added)
+++ webservices/axis2/trunk/archive/java/scratch/Google_SoC/RSS/Aggregator/src/org/apache/axis2/feed/feedmodel/rss/impl/RSSGuidElement.java Fri Sep  9 00:22:16 2005
@@ -0,0 +1,93 @@
+package org.apache.axis2.feed.feedmodel.rss.impl;
+
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* 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.
+*/
+
+import org.apache.axis2.feed.feedmodel.rss.Constants;
+import org.apache.axis2.feed.feedmodel.rss.GuidElement;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+
+public class RSSGuidElement implements GuidElement {
+
+    private String guid;
+    private boolean isPermaLink = true;
+
+    public RSSGuidElement(String guid) {
+        this.guid = guid;
+    }
+
+    public RSSGuidElement(String guid, boolean permaLink) {
+        this.guid = guid;
+        isPermaLink = permaLink;
+    }
+
+    public void serialize(XMLStreamWriter streamWriter) throws XMLStreamException {
+        streamWriter.writeStartElement(Constants.RSS_PREFIX, Constants.GUID_ID_STRING, Constants.RSS_NAMESPACE_URI);
+        streamWriter.writeAttribute(Constants.RSS_PREFIX, Constants.GUID_ISPERMERLINK_ATTR, this.getSringofIsPermaLink());
+
+        if (guid != null)
+            streamWriter.writeCharacters(guid);
+        streamWriter.writeEndElement();
+
+    }
+
+    public String getGuid() {
+        return guid;
+    }
+
+    public void setGuid(String guid) {
+        this.guid = guid;
+    }
+
+    public boolean isPermaLink() {
+        return isPermaLink;
+    }
+
+    private String getSringofIsPermaLink() {
+        String temp = "true";
+        if (isPermaLink == false) {
+            temp = "false";
+        }
+        return temp;
+    }
+
+    public void setPermaLink(boolean permaLink) {
+        isPermaLink = permaLink;
+    }
+
+
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (!(o instanceof RSSGuidElement)) return false;
+
+        final RSSGuidElement rssGuidElement = (RSSGuidElement) o;
+
+        if (isPermaLink != rssGuidElement.isPermaLink) return false;
+        if (guid != null ? !guid.equals(rssGuidElement.guid) : rssGuidElement.guid != null) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = (guid != null ? guid.hashCode() : 0);
+        result = 29 * result + (isPermaLink ? 1 : 0);
+        return result;
+    }
+}



Mime
View raw message