marmotta-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ja...@apache.org
Subject [45/51] [abbrv] [partial] MARMOTTA-397: Reorganized and renamed Marmotta Sesame Tools
Date Wed, 08 Jan 2014 15:26:01 GMT
http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Channel.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Channel.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Channel.java
new file mode 100644
index 0000000..a9e6749
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Channel.java
@@ -0,0 +1,589 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.WireFeed;
+import com.sun.syndication.feed.module.Module;
+import com.sun.syndication.feed.module.impl.ModuleUtils;
+
+import java.util.*;
+
+/**
+ * Bean for RSS feeds.
+ * <p>
+ * It handles all RSS versions (0.9, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0)
+ * without losing information.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Channel extends WireFeed {
+    public static final String SUNDAY    = "sunday";
+    public static final String MONDAY    = "monday";
+    public static final String TUESDAY   = "tuesday";
+    public static final String WEDNESDAY = "wednesday";
+    public static final String THURSDAY  = "thursday";
+    public static final String FRIDAY    = "friday";
+    public static final String SATURDAY  = "saturday";
+
+    private static final Set<String> DAYS;
+
+    static {
+        HashSet<String> days = new HashSet<String>();
+        days.add(SUNDAY   );
+        days.add(MONDAY   );
+        days.add(TUESDAY  );
+        days.add(WEDNESDAY);
+        days.add(THURSDAY );
+        days.add(FRIDAY   );
+        days.add(SATURDAY );
+        DAYS = Collections.unmodifiableSet(days);
+    }
+
+    private String _title;
+    private String _description;
+    private String _link;
+    private String _uri;
+    private Image _image;
+    private List _items;
+    private TextInput _textInput;
+    private String _language;
+    private String _rating;
+    private String _copyright;
+    private Date _pubDate;
+    private Date _lastBuildDate;
+    private String _docs;
+    private String _managingEditor;
+    private String _webMaster;
+    private List<Integer> _skipHours;
+    private List<String> _skipDays;
+    private Cloud _cloud;
+    private List<Category> _categories;
+    private String _generator;
+    private int _ttl = -1;
+    private List<Module> _modules;
+
+    /**
+     * Default constructor, for bean cloning purposes only.
+     *
+     */
+    public Channel() {
+    }
+
+    /**
+     * Channel Constructor. All properties, except the type, are set to <b>null</b>.
+     * <p>
+     * @param type the type of the RSS feed.
+     *
+     */
+    public Channel(String type) {
+        super(type);
+    }
+
+    /**
+     * Returns the channel title.
+     * <p>
+     * @return the channel title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the channel title.
+     * <p>
+     * @param title the channel title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the channel description.
+     * <p>
+     * @return the channel description, <b>null</b> if none.
+     *
+     */
+    public String getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the channel description.
+     * <p>
+     * @param description the channel description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(String description) {
+        _description = description;
+    }
+
+    /**
+     * Returns the channel link.
+     * <p>
+     * @return the channel link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the channel link.
+     * <p>
+     * @param link the channel link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+    /**
+     * Returns the channel uri.
+     * <p>
+     * @return the channel uri, <b>null</b> if none.
+     */
+    public String getUri() {
+        return _uri;
+    }
+
+    /**
+     * Sets the channel uri.
+     * <p>
+     * @param uri the channel uri, <b>null</b> if none.
+     */
+    public void setUri(String uri) {
+        _uri = uri;
+    }
+
+    /**
+     * Returns the channel image.
+     * <p>
+     * @return the channel image, <b>null</b> if none.
+     *
+     */
+    public Image getImage() {
+        return _image;
+    }
+
+    /**
+     * Sets the channel image.
+     * <p>
+     * @param image the channel image to set, <b>null</b> if none.
+     *
+     */
+    public void setImage(Image image) {
+        _image = image;
+    }
+
+    /**
+     * Returns the channel items.
+     * <p>
+     * @return a list of Item elements with the channel items,
+     *         an empty list if none.
+     *
+     */
+    public List<Item> getItems() {
+        return (_items==null) ? (_items=new ArrayList<Item>()) : _items;
+    }
+
+    /**
+     * Sets the channel items.
+     * <p>
+     * @param items the list of Item elements with the channel items to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setItems(List<Item> items) {
+        _items = items;
+    }
+
+    /**
+     * Returns the channel text input.
+     * <p>
+     * @return the channel text input, <b>null</b> if none.
+     *
+     */
+    public TextInput getTextInput() {
+        return _textInput;
+    }
+
+    /**
+     * Sets the channel text input.
+     * <p>
+     * @param textInput the channel text input to set, <b>null</b> if none.
+     *
+     */
+    public void setTextInput(TextInput textInput) {
+        _textInput = textInput;
+    }
+
+    /**
+     * Returns the channel language.
+     * <p>
+     * @return the channel language, <b>null</b> if none.
+     *
+     */
+    public String getLanguage() {
+        return _language;
+    }
+
+    /**
+     * Sets the channel language.
+     * <p>
+     * @param language the channel language to set, <b>null</b> if none.
+     *
+     */
+    public void setLanguage(String language) {
+        _language = language;
+    }
+
+    /**
+     * Returns the channel rating.
+     * <p>
+     * @return the channel rating, <b>null</b> if none.
+     *
+     */
+    public String getRating() {
+        return _rating;
+    }
+
+    /**
+     * Sets the channel rating.
+     * <p>
+     * @param rating the channel rating to set, <b>null</b> if none.
+     *
+     */
+    public void setRating(String rating) {
+        _rating = rating;
+    }
+
+    /**
+     * Returns the channel copyright.
+     * <p>
+     * @return the channel copyright, <b>null</b> if none.
+     *
+     */
+    public String getCopyright() {
+        return _copyright;
+    }
+
+    /**
+     * Sets the channel copyright.
+     * <p>
+     * @param copyright the channel copyright to set, <b>null</b> if none.
+     *
+     */
+    public void setCopyright(String copyright) {
+        _copyright = copyright;
+    }
+
+    /**
+     * Returns the channel publishing date.
+     * <p>
+     * @return the channel publishing date, <b>null</b> if none.
+     *
+     */
+    public Date getPubDate() {
+        return _pubDate == null ? null : new Date(_pubDate.getTime());
+    }
+
+    /**
+     * Sets the channel publishing date.
+     * <p>
+     * @param pubDate the channel publishing date to set, <b>null</b> if none.
+     *
+     */
+    public void setPubDate(Date pubDate) {
+        _pubDate = pubDate == null ? null : new Date( pubDate.getTime());
+    }
+
+    /**
+     * Returns the channel last build date.
+     * <p>
+     * @return the channel last build date, <b>null</b> if none.
+     *
+     */
+    public Date getLastBuildDate() {
+        return _lastBuildDate == null ? null : new Date(_lastBuildDate.getTime());
+    }
+
+    /**
+     * Sets the channel last build date.
+     * <p>
+     * @param lastBuildDate the channel last build date to set, <b>null</b> if none.
+     *
+     */
+    public void setLastBuildDate(Date lastBuildDate) {
+        _lastBuildDate = lastBuildDate == null ? null : new Date( lastBuildDate.getTime());
+    }
+
+    /**
+     * Returns the channel docs.
+     * <p>
+     * @return the channel docs, <b>null</b> if none.
+     *
+     */
+    public String getDocs() {
+        return _docs;
+    }
+
+    /**
+     * Sets the channel docs.
+     * <p>
+     * @param docs the channel docs to set, <b>null</b> if none.
+     *
+     */
+    public void setDocs(String docs) {
+        _docs = docs;
+    }
+
+    /**
+     * Returns the channel managing editor.
+     * <p>
+     * @return the channel managing editor, <b>null</b> if none.
+     *
+     */
+    public String getManagingEditor() {
+        return _managingEditor;
+    }
+
+    /**
+     * Sets the channel managing editor.
+     * <p>
+     * @param managingEditor the channel managing editor to set, <b>null</b> if none.
+     *
+     */
+    public void setManagingEditor(String managingEditor) {
+        _managingEditor = managingEditor;
+    }
+
+    /**
+     * Returns the channel web master.
+     * <p>
+     * @return the channel web master, <b>null</b> if none.
+     *
+     */
+    public String getWebMaster() {
+        return _webMaster;
+    }
+
+    /**
+     * Sets the channel web master.
+     * <p>
+     * @param webMaster the channel web master to set, <b>null</b> if none.
+     *
+     */
+    public void setWebMaster(String webMaster) {
+        _webMaster = webMaster;
+    }
+
+    /**
+     * Returns the channel skip hours.
+     * <p>
+     * @return a list of Integer elements with the channel skip hours,
+     *         an empty list if none.
+     *
+     */
+    public List<Integer> getSkipHours() {
+        return (_skipHours!=null) ? _skipHours : new ArrayList();
+    }
+
+    /**
+     * Sets the channel skip hours.
+     * <p>
+     * @param skipHours the list of Integer elements with the channel skip hours to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setSkipHours(List<Integer> skipHours) {
+        if (skipHours!=null) {
+            for (int i=0;i<skipHours.size();i++) {
+                Integer iHour = (Integer) skipHours.get(i);
+                if (iHour!=null) {
+                    int hour = iHour.intValue();
+                    if (hour<0 || hour>24) {
+                        throw new IllegalArgumentException("Invalid hour ["+hour+"]");
+                    }
+                }
+                else {
+                    throw new IllegalArgumentException("Invalid hour [null]");
+                }
+            }
+        }
+        _skipHours = skipHours;
+    }
+
+    /**
+     * Returns the channel skip days.
+     * <p>
+     * @return a list of Day elements with the channel skip days,
+     *         an empty list if none.
+     *
+     */
+    public List<String> getSkipDays() {
+        return (_skipDays!=null) ? _skipDays : new ArrayList<String>();
+    }
+
+    /**
+     * Sets the channel skip days.
+     * <p>
+     * @param skipDays the list of Day elements with the channel skip days to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setSkipDays(List<String> skipDays) {
+        if (skipDays!=null) {
+            for (int i=0;i<skipDays.size();i++) {
+                String day = (String) skipDays.get(i);
+                if (day!=null) {
+                    day = day.toLowerCase();
+                    if (!DAYS.contains(day)) {
+                        throw new IllegalArgumentException("Invalid day ["+day+"]");
+                    }
+                    skipDays.set(i,day);
+                }
+                else {
+                    throw new IllegalArgumentException("Invalid day [null]");
+                }
+            }
+        }
+        _skipDays = skipDays;
+    }
+
+    /**
+     * Returns the channel cloud.
+     * <p>
+     * @return the channel cloud, <b>null</b> if none.
+     *
+     */
+    public Cloud getCloud() {
+        return _cloud;
+    }
+
+    /**
+     * Sets the channel cloud.
+     * <p>
+     * @param cloud the channel cloud to set, <b>null</b> if none.
+     *
+     */
+    public void setCloud(Cloud cloud) {
+        _cloud = cloud;
+    }
+
+    /**
+     * Returns the channel categories.
+     * <p>
+     * @return a list of Category elements with the channel categories,
+     *         an empty list if none.
+     *
+     */
+    public List<Category> getCategories() {
+        return (_categories==null) ? (_categories=new ArrayList<Category>()) : _categories;
+    }
+
+    /**
+     * Sets the channel categories.
+     * <p>
+     * @param categories the list of Category elements with the channel categories to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setCategories(List<Category> categories) {
+        _categories = categories;
+    }
+
+    /**
+     * Returns the channel generator.
+     * <p>
+     * @return the channel generator, <b>null</b> if none.
+     *
+     */
+    public String getGenerator() {
+        return _generator;
+    }
+
+    /**
+     * Sets the channel generator.
+     * <p>
+     * @param generator the channel generator to set, <b>null</b> if none.
+     *
+     */
+    public void setGenerator(String generator) {
+        _generator = generator;
+    }
+
+    /**
+     * Returns the channel time to live.
+     * <p>
+     * @return the channel time to live, <b>null</b> if none.
+     *
+     */
+    public int getTtl() {
+        return _ttl;
+    }
+
+    /**
+     * Sets the channel time to live.
+     * <p>
+     * @param ttl the channel time to live to set, <b>null</b> if none.
+     *
+     */
+    public void setTtl(int ttl) {
+        _ttl = ttl;
+    }
+
+    /**
+     * Returns the channel modules.
+     * <p>
+     * @return a list of ModuleImpl elements with the channel modules,
+     *         an empty list if none.
+     *
+     */
+    @Override
+    public List<Module> getModules() {
+        return (_modules==null) ? (_modules=new ArrayList<Module>()) : _modules;
+    }
+
+    /**
+     * Sets the channel modules.
+     * <p>
+     * @param modules the list of ModuleImpl elements with the channel modules to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    @Override
+    public void setModules(List<Module> modules) {
+        _modules = modules;
+    }
+
+    /**
+     * Returns the module identified by a given URI.
+     * <p>
+     * @param uri the URI of the ModuleImpl.
+     * @return The module with the given URI, <b>null</b> if none.
+     */
+    @Override
+    public Module getModule(String uri) {
+        return ModuleUtils.getModule(_modules,uri);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Cloud.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Cloud.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Cloud.java
new file mode 100644
index 0000000..69c27ae
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Cloud.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for clouds of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Cloud implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _domain;
+    private int _port;
+    private String _path;
+    private String _registerProcedure;
+    private String _protocol;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Cloud() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    public boolean equals(Object other) {
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the cloud domain.
+     * <p>
+     * @return the cloud domain, <b>null</b> if none.
+     *
+     */
+    public String getDomain() {
+        return _domain;
+    }
+
+    /**
+     * Sets the cloud domain.
+     * <p>
+     * @param domain the cloud domain to set, <b>null</b> if none.
+     *
+     */
+    public void setDomain(String domain) {
+        _domain = domain;
+    }
+
+    /**
+     * Returns the cloud port.
+     * <p>
+     * @return the cloud port, <b>null</b> if none.
+     *
+     */
+    public int getPort() {
+        return _port;
+    }
+
+    /**
+     * Sets the cloud port.
+     * <p>
+     * @param port the cloud port to set, <b>null</b> if none.
+     *
+     */
+    public void setPort(int port) {
+        _port = port;
+    }
+
+    /**
+     * Returns the cloud path.
+     * <p>
+     * @return the cloud path, <b>null</b> if none.
+     *
+     */
+    public String getPath() {
+        return _path;
+    }
+
+    /**
+     * Sets the cloud path.
+     * <p>
+     * @param path the cloud path to set, <b>null</b> if none.
+     *
+     */
+    public void setPath(String path) {
+        _path = path;
+    }
+
+    /**
+     * Returns the cloud register procedure.
+     * <p>
+     * @return the cloud register procedure, <b>null</b> if none.
+     *
+     */
+    public String getRegisterProcedure() {
+        return _registerProcedure;
+    }
+
+    /**
+     * Sets the cloud register procedure.
+     * <p>
+     * @param registerProcedure the cloud register procedure to set, <b>null</b> if none.
+     *
+     */
+    public void setRegisterProcedure(String registerProcedure) {
+        _registerProcedure = registerProcedure;
+    }
+
+    /**
+     * Returns the cloud protocol.
+     * <p>
+     * @return the cloud protocol, <b>null</b> if none.
+     *
+     */
+    public String getProtocol() {
+        return _protocol;
+    }
+
+    /**
+     * Sets the cloud protocol.
+     * <p>
+     * @param protocol the cloud protocol to set, <b>null</b> if none.
+     *
+     */
+    public void setProtocol(String protocol) {
+        _protocol = protocol;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Content.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Content.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Content.java
new file mode 100644
index 0000000..07a47df
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Content.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+
+/**
+ * Bean for item descriptions of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Content implements Cloneable, Serializable {
+    public static final String HTML = "html";
+    public static final String TEXT = "text";
+    private ObjectBean _objBean;
+    private String _type;
+    private String _value;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Content() {
+        _objBean = new ObjectBean(this.getClass(), this);
+    }
+
+    /**
+     * Sets the description type.
+     * <p>
+     * @param type the description type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+    /**
+     * Returns the description type.
+     * <p>
+     * @return the description type, <b>null</b> if none.
+     *
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the description value.
+     * <p>
+     * @param value the description value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+
+    /**
+     * Returns the description value.
+     * <p>
+     * @return the description value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if (!(other instanceof Content)) {
+            return false;
+        }
+
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Description.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Description.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Description.java
new file mode 100644
index 0000000..c032abe
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Description.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item descriptions of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Description implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _type;
+    private String _value;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Description() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Description)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the description type.
+     * <p>
+     * @return the description type, <b>null</b> if none.
+     *
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the description type.
+     * <p>
+     * @param type the description type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+    /**
+     * Returns the description value.
+     * <p>
+     * @return the description value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the description value.
+     * <p>
+     * @param value the description value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java
new file mode 100644
index 0000000..4d22131
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Enclosure.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item enclosures of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Enclosure implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _url;
+    private long _length;
+    private String _type;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Enclosure() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Enclosure)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the enclosure URL.
+     * <p>
+     * @return the enclosure URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the enclosure URL.
+     * <p>
+     * @param url the enclosure URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the enclosure length.
+     * <p>
+     * @return the enclosure length, <b>0</b> if none.
+     *
+     */
+    public long getLength() {
+        return _length;
+    }
+
+    /**
+     * Sets the enclosure length.
+     * <p>
+     * @param length the enclosure length to set, <b>0</b> if none.
+     *
+     */
+    public void setLength(long length) {
+        _length = length;
+    }
+
+    /**
+     * Returns the enclosure type.
+     * <p>
+     * @return the enclosure type, <b>null</b> if none.
+     *
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the enclosure type.
+     * <p>
+     * @param type the enclosure type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java
new file mode 100644
index 0000000..e75ace4
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Guid.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item GUIDs of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Guid implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private boolean _permaLink;
+    private String _value;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Guid() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Guid)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the guid perma link.
+     * <p>
+     * @return the guid perma link, <b>null</b> if none.
+     *
+     */
+    public boolean isPermaLink() {
+        return _permaLink;
+    }
+
+    /**
+     * Sets the guid perma link.
+     * <p>
+     * @param permaLink the guid perma link to set, <b>null</b> if none.
+     *
+     */
+    public void setPermaLink(boolean permaLink) {
+        _permaLink = permaLink;
+    }
+
+    /**
+     * Returns the guid value.
+     * <p>
+     * @return the guid value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the guid value.
+     * <p>
+     * @param value the guid value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java
new file mode 100644
index 0000000..4971683
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Image.java
@@ -0,0 +1,218 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for images of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Image implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _title;
+    private String _url;
+    private String _link;
+    private Integer _width = -1;
+    private Integer _height = -1;
+    private String _description;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Image() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Image)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the image title.
+     * <p>
+     * @return the image title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the image title.
+     * <p>
+     * @param title the image title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the image URL.
+     * <p>
+     * @return the image URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the image URL.
+     * <p>
+     * @param url the image URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the image link.
+     * <p>
+     * @return the image link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the image link.
+     * <p>
+     * @param link the image link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+    /**
+     * Returns the image width.
+     * <p>
+     * @return the image width, <b>null</b> if none.
+     *
+     */
+    public Integer getWidth() {
+        return _width;
+    }
+
+    /**
+     * Sets the image width.
+     * <p>
+     * @param width the image width to set, <b>null</b> if none.
+     *
+     */
+    public void setWidth(Integer width) {
+        _width = width;
+    }
+
+    /**
+     * Returns the image height.
+     * <p>
+     * @return the image height, <b>null</b> if none.
+     *
+     */
+    public Integer getHeight() {
+        return _height;
+    }
+
+    /**
+     * Sets the image height.
+     * <p>
+     * @param height the image height to set, <b>null</b> if none.
+     *
+     */
+    public void setHeight(Integer height) {
+        _height = height;
+    }
+
+    /**
+     * Returns the image description.
+     * <p>
+     * @return the image description, <b>null</b> if none.
+     *
+     */
+    public String getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the image description.
+     * <p>
+     * @param description the image description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(String description) {
+        _description = description;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java
new file mode 100644
index 0000000..9931dd8
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Item.java
@@ -0,0 +1,440 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.module.Module;
+import com.sun.syndication.feed.module.impl.ModuleUtils;
+import com.sun.syndication.feed.module.Extendable;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.io.Serializable;
+
+/**
+ * Bean for items of RSS feeds.
+ * <p>
+ * It handles all RSS versions without loosing information.
+ * <p>
+ * For RSS1.0 it supports Dublin Core and Syndication modules. Note that
+ * those modules currently support simple syntax format only.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Item implements Cloneable, Serializable, Extendable {
+    private ObjectBean _objBean;
+    private String _title;
+    private String _link;
+    private String _uri;
+    private Description _description;
+    private Content _content;
+    private Source _source;
+    private List<Enclosure> _enclosures;
+    private List<Category> _categories;
+    private Guid _guid;
+    private String _comments;
+    private String _author;
+    private Date _pubDate;
+    private Date _expirationDate;
+    private List<Module> _modules;
+    private List _foreignMarkup;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Item() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if (other == null || !(other instanceof Item)) {
+            return false;
+        }
+        // can't use foreign markup in equals, due to JDOM equals impl
+        Object fm = getForeignMarkup();
+        setForeignMarkup(((Item)other).getForeignMarkup());       
+        boolean ret = _objBean.equals(other);
+        // restore foreign markup
+        setForeignMarkup(fm);
+        return ret;
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the item title.
+     * <p>
+     * @return the item title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the item title.
+     * <p>
+     * @param title the item title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the item link.
+     * <p>
+     * @return the item link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the item link.
+     * <p>
+     * @param link the item link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+    /**
+     * Returns the item uri.
+     * <p>
+     * @return the item uri, <b>null</b> if none.
+     */
+    public String getUri() {
+        return _uri;
+    }
+
+    /**
+     * Sets the item uri.
+     * <p>
+     * @param uri the item uri to set, <b>null</b> if none.
+     */
+    public void setUri(String uri) {
+        _uri = uri;
+    }
+
+    /**
+     * Returns the item description.
+     * <p>
+     * @return the item description, <b>null</b> if none.
+     *
+     */
+    public Description getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the item description.
+     * <p>
+     * @param description the item description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(Description description) {
+        _description = description;
+    }
+
+    /**
+     * Returns the item content.
+     * <p>
+     * @return the item content, <b>null</b> if none.
+     *
+     */
+    public Content getContent() {
+        return _content;
+    }
+
+    /**
+     * Sets the item content.
+     * <p>
+     * @param content the item content to set, <b>null</b> if none.
+     *
+     */
+    public void setContent(Content content) {
+        _content = content;
+    }
+
+    /**
+     * Returns the item source.
+     * <p>
+     * @return the item source, <b>null</b> if none.
+     *
+     */
+    public Source getSource() {
+        return _source;
+    }
+
+    /**
+     * Sets the item source.
+     * <p>
+     * @param source the item source to set, <b>null</b> if none.
+     *
+     */
+    public void setSource(Source source) {
+        _source = source;
+    }
+
+    /**
+     * Returns the item enclosures.
+     * <p>
+     * @return a list of Enclosure elements with the item enclosures,
+     *         an empty list if none.
+     *
+     */
+    public List<Enclosure> getEnclosures() {
+        return (_enclosures==null) ? (_enclosures=new ArrayList<Enclosure>()) : _enclosures;
+    }
+
+    /**
+     * Sets the item enclosures.
+     * <p>
+     * @param enclosures the list of Enclosure elements with the item enclosures to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setEnclosures(List<Enclosure> enclosures) {
+        _enclosures = enclosures;
+    }
+
+    /**
+     * Returns the item categories.
+     * <p>
+     * @return a list of Category elements with the item categories,
+     *         an empty list if none.
+     *
+     */
+    public List getCategories() {
+        return (_categories==null) ? (_categories=new ArrayList<Category>()) : _categories;
+    }
+
+    /**
+     * Sets the item categories.
+     * <p>
+     * @param categories the list of Categories elements with the item categories to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setCategories(List<Category> categories) {
+        _categories = categories;
+    }
+
+    /**
+     * Returns the item GUID.
+     * <p>
+     * @return the item GUID, <b>null</b> if none.
+     *
+     */
+    public Guid getGuid() {
+        return _guid;
+    }
+
+    /**
+     * Sets the item GUID.
+     * <p>
+     * @param guid the item GUID to set, <b>null</b> if none.
+     *
+     */
+    public void setGuid(Guid guid) {
+        _guid = guid;
+    }
+
+    /**
+     * Returns the item comments.
+     * <p>
+     * @return the item comments, <b>null</b> if none.
+     *
+     */
+    public String getComments() {
+        return _comments;
+    }
+
+    /**
+     * Sets the item comments.
+     * <p>
+     * @param comments the item comments to set, <b>null</b> if none.
+     *
+     */
+    public void setComments(String comments) {
+        _comments = comments;
+    }
+
+    /**
+     * Returns the item author.
+     * <p>
+     * @return the item author, <b>null</b> if none.
+     *
+     */
+    public String getAuthor() {
+        return _author;
+    }
+
+    /**
+     * Sets the item author.
+     * <p>
+     * @param author the item author to set, <b>null</b> if none.
+     *
+     */
+    public void setAuthor(String author) {
+        _author = author;
+    }
+
+    /**
+     * Returns the item modules.
+     * <p>
+     * @return a list of ModuleImpl elements with the item modules,
+     *         an empty list if none.
+     *
+     */
+    public List<Module> getModules() {
+        return (_modules==null) ? (_modules=new ArrayList<Module>()) : _modules;
+    }
+
+    /**
+     * Sets the item modules.
+     * <p>
+     * @param modules the list of ModuleImpl elements with the item modules to set,
+     *        an empty list or <b>null</b> if none.
+     *
+     */
+    public void setModules(List<Module> modules) {
+        _modules = modules;
+    }
+
+    /**
+     * Returns the module identified by a given URI.
+     * <p>
+     * @param uri the URI of the ModuleImpl.
+     * @return The module with the given URI, <b>null</b> if none.
+     */
+    public Module getModule(String uri) {
+        return ModuleUtils.getModule(_modules,uri);
+    }
+
+
+    /**
+     * Returns the item publishing date.
+     * <p>
+     * @return the item publishing date, <b>null</b> if none.
+     *
+     */
+    public Date getPubDate() {
+        return _pubDate == null ? null : new Date( _pubDate.getTime());
+    }
+
+    /**
+     * Sets the item publishing date.
+     * <p>
+     * @param pubDate the item publishing date to set, <b>null</b> if none.
+     *
+     */
+    public void setPubDate(Date pubDate) {
+        _pubDate = pubDate == null ? null : new Date( pubDate.getTime());
+    }
+
+    /**
+     * Returns the item expiration date.
+     * <p>
+     * @return the item expiration date, <b>null</b> if none.
+     *
+     */
+    public Date getExpirationDate() {
+        return _expirationDate == null ? null : new Date(_expirationDate.getTime());
+    }
+
+    /**
+     * Sets the item expiration date.
+     * <p>
+     * @param expirationDate the item expiration date to set, <b>null</b> if none.
+     *
+     */
+    public void setExpirationDate(Date expirationDate) {
+        _expirationDate = expirationDate == null ? null : new Date(expirationDate.getTime());
+    }
+
+    /**
+     * Returns foreign markup found at item level.
+     * <p>
+     * @return Opaque object to discourage use
+     *
+     */
+    public Object getForeignMarkup() {
+        return (_foreignMarkup==null) ? (_foreignMarkup=new ArrayList()) : _foreignMarkup;
+    }
+
+    /**
+     * Sets foreign markup found at item level.
+     * <p>
+     * @param foreignMarkup Opaque object to discourage use
+     *
+     */
+    public void setForeignMarkup(Object foreignMarkup) {
+        _foreignMarkup = (List)foreignMarkup;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java
new file mode 100644
index 0000000..8122e39
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/Source.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for item sources of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class Source implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _url;
+    private String _value;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public Source() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof Source)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the source URL.
+     * <p>
+     * @return the source URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl() {
+        return _url;
+    }
+
+    /**
+     * Sets the source URL.
+     * <p>
+     * @param url the source URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url) {
+        _url = url;
+    }
+
+    /**
+     * Returns the source value.
+     * <p>
+     * @return the source value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the source value.
+     * <p>
+     * @param value the source value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java
new file mode 100644
index 0000000..b797941
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/rss/TextInput.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.rss;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+
+import java.io.Serializable;
+
+/**
+ * Bean for text input of RSS feeds.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class TextInput implements Cloneable,Serializable {
+    private ObjectBean _objBean;
+    private String _title;
+    private String _description;
+    private String _name;
+    private String _link;
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public TextInput() {
+        _objBean = new ObjectBean(this.getClass(),this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof TextInput)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the text input title.
+     * <p>
+     * @return the text input title, <b>null</b> if none.
+     *
+     */
+    public String getTitle() {
+        return _title;
+    }
+
+    /**
+     * Sets the text input title.
+     * <p>
+     * @param title the text input title to set, <b>null</b> if none.
+     *
+     */
+    public void setTitle(String title) {
+        _title = title;
+    }
+
+    /**
+     * Returns the text input description.
+     * <p>
+     * @return the text input description, <b>null</b> if none.
+     *
+     */
+    public String getDescription() {
+        return _description;
+    }
+
+    /**
+     * Sets the text input description.
+     * <p>
+     * @param description the text input description to set, <b>null</b> if none.
+     *
+     */
+    public void setDescription(String description) {
+        _description = description;
+    }
+
+    /**
+     * Returns the text input name.
+     * <p>
+     * @return the text input name, <b>null</b> if none.
+     *
+     */
+    public String getName() {
+        return _name;
+    }
+
+    /**
+     * Sets the text input name.
+     * <p>
+     * @param name the text input name to set, <b>null</b> if none.
+     *
+     */
+    public void setName(String name) {
+        _name = name;
+    }
+
+    /**
+     * Returns the text input link.
+     * <p>
+     * @return the text input link, <b>null</b> if none.
+     *
+     */
+    public String getLink() {
+        return _link;
+    }
+
+    /**
+     * Sets the text input link.
+     * <p>
+     * @param link the text input link to set, <b>null</b> if none.
+     *
+     */
+    public void setLink(String link) {
+        _link = link;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java
new file mode 100644
index 0000000..9f46b1d
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/Converter.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.WireFeed;
+import com.sun.syndication.feed.synd.SyndFeed;
+
+/**
+ * Interface that defines the functionality to convert a SyndFeedImpl
+ * to a real feed (RSS or Atom) and vice versa.
+ * <p>
+ * Each implementation knows how to deal with a specific type (version)
+ * of a real feed.
+ * <p>
+ * Implementations must be thread safe.
+ * <p>
+ * TODO: explain how developers can plugin their own implementations.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface Converter {
+
+    /**
+     * Returns the type (version) of the real feed this converter handles.
+     * <p>
+     * @see WireFeed for details on the format of this string.
+     * <p>
+     * @return the real feed type.
+     *
+     */
+    public String getType();
+
+    /**
+     * Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl.
+     * <p>
+     * It assumes the given SyndFeedImpl has no properties set.
+     * <p>
+     * @param feed real feed to copy/convert.
+     * @param syndFeed the SyndFeedImpl that will contain the copied/converted values of the real feed.
+     *
+     */
+    public void copyInto(WireFeed feed,SyndFeed syndFeed);
+
+    /**
+     * Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl.
+     * <p>
+     * @param syndFeed SyndFeedImpl to copy/convert value from.
+     * @return a real feed with copied/converted values of the SyndFeedImpl.
+     *
+     */
+    public WireFeed createRealFeed(SyndFeed syndFeed);
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java
new file mode 100644
index 0000000..6354c33
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategory.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 The ROME Team
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+
+
+
+/**
+ * Bean interface for categories of SyndFeedImpl feeds and entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface SyndCategory extends Cloneable {
+    /**
+     * Returns the category name.
+     * <p>
+     * @return the category name, <b>null</b> if none.
+     *
+     */
+    String getName();
+
+    /**
+     * Sets the category name.
+     * <p>
+     * @param name the category name to set, <b>null</b> if none.
+     *
+     */
+    void setName(String name);
+
+    /**
+     * Returns the category taxonomy URI.
+     * <p>
+     * @return the category taxonomy URI, <b>null</b> if none.
+     *
+     */
+    String getTaxonomyUri();
+
+    /**
+     * Sets the category taxonomy URI.
+     * <p>
+     * @param taxonomyUri the category taxonomy URI to set, <b>null</b> if none.
+     *
+     */
+    void setTaxonomyUri(String taxonomyUri);
+
+    /**
+     * Creates a deep clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException;
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java
new file mode 100644
index 0000000..eacefbb
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndCategoryImpl.java
@@ -0,0 +1,287 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ * Copyright 2011 ROME Team
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.module.DCSubjectImpl;
+import com.sun.syndication.feed.module.DCSubject;
+
+import java.util.AbstractList;
+import java.util.List;
+import java.util.ArrayList;
+import java.io.Serializable;
+
+/**
+ * Bean for categories of SyndFeedImpl feeds and entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class SyndCategoryImpl implements Serializable, SyndCategory {
+    private ObjectBean _objBean;
+    private DCSubject _subject;
+
+    /**
+     * For implementations extending SyndContentImpl to be able to use the ObjectBean functionality
+     * with extended interfaces.
+     * <p>
+     * @param subject the DC subject to wrap.
+     */
+    SyndCategoryImpl(DCSubject subject) {
+        _objBean = new ObjectBean(SyndCategory.class,this);
+        _subject = subject;
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    @Override
+    public boolean equals(Object other) {
+        if(!(other instanceof SyndCategoryImpl)){
+            return false;
+        }
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    @Override
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    @Override
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Package private constructor, used by SyndCategoryListFacade.
+     * <p>
+     * @return the DC subject being wrapped.
+     *
+     */
+    DCSubject getSubject() {
+        return _subject;
+    }
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public SyndCategoryImpl() {
+        this(new DCSubjectImpl());
+    }
+
+    /**
+     * Returns the category name.
+     * <p>
+     * @return the category name, <b>null</b> if none.
+     *
+     */
+    public String getName() {
+        return _subject.getValue();
+    }
+
+    /**
+     * Sets the category name.
+     * <p>
+     * @param name the category name to set, <b>null</b> if none.
+     *
+     */
+    public void setName(String name) {
+        _subject.setValue(name);
+    }
+
+    /**
+     * Returns the category taxonomy URI.
+     * <p>
+     * @return the category taxonomy URI, <b>null</b> if none.
+     *
+     */
+    public String getTaxonomyUri() {
+        return _subject.getTaxonomyUri();
+    }
+
+    /**
+     * Sets the category taxonomy URI.
+     * <p>
+     * @param taxonomyUri the category taxonomy URI to set, <b>null</b> if none.
+     *
+     */
+    public void setTaxonomyUri(String taxonomyUri) {
+        _subject.setTaxonomyUri(taxonomyUri);
+    }
+
+}
+
+
+/**
+ * List implementation for SyndCategoryImpl elements. To be directly used by the SyndFeedImpl
+ * and SyndEntryImpl classes only.
+ * <p>
+ * It acts as a facade on top of the DCSubjectImpl elements of the underlying list
+ * and remains in synch with it. It is possible to work on either list, the categories
+ * one or the subjects one and they remain in synch.
+ * <p>
+ * This is necessary because the SyndFeedImpl categories are just a convenience to access
+ * the DublinCore subjects.
+ * <P>
+ * All this mess to avoid making DCSubjectImpl implement SyndCategory (which it would be odd).
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+class SyndCategoryListFacade extends AbstractList<SyndCategory> {
+    private List<DCSubject> _subjects;
+
+    /**
+     * Default constructor. Creates and empty list.
+     */
+    public SyndCategoryListFacade() {
+        this(new ArrayList<DCSubject>());
+    }
+
+    /**
+     * Creates a facade list of categories on top the given subject list.
+     * <P>
+     * @param subjects the list of subjects to create the facade.
+     *
+     */
+    public SyndCategoryListFacade(List<DCSubject> subjects) {
+        _subjects = subjects;
+    }
+
+    /**
+     * Gets the category by index.
+     * <p>
+     * @param index the index position to retrieve the category.
+     * @return the SyndCategoryImpl in position index, <b>null</b> if none.
+     *
+     */
+    public SyndCategory get(int index) {
+        return new SyndCategoryImpl((DCSubject) _subjects.get(index));
+    }
+
+    /**
+     * Returns the size of the list.
+     * <p>
+     * @return the size of the list.
+     *
+     */
+    public int size() {
+        return _subjects.size();
+    }
+
+    /**
+     * Sets a category in an existing position in the list.
+     * <p>
+     * @param index position to set the category.
+     * @param obj the SyndCategoryImpl object to set.
+     * @return the SyndCategoryImpl object that is being replaced, <b>null</b> if none.
+     *
+     */
+    @Override
+    public SyndCategory set(int index, SyndCategory obj) {
+        SyndCategoryImpl sCat = (SyndCategoryImpl) obj;
+        DCSubject subject = (sCat!=null) ? sCat.getSubject() : null;
+        subject = (DCSubject) _subjects.set(index,subject);
+        return (subject!=null) ? new SyndCategoryImpl(subject) : null;
+    }
+
+    /**
+    * Adds a category to the list.
+    * <p>
+    * @param index position to add the category.
+    * @param obj the SyndCategoryImpl object to add.
+     *
+     */
+    @Override
+    public void add(int index,SyndCategory obj) {
+        SyndCategoryImpl sCat = (SyndCategoryImpl) obj;
+        DCSubject subject = (sCat!=null) ? sCat.getSubject() : null;
+        _subjects.add(index,subject);
+    }
+
+    /**
+     * Removes a category element from a specific position.
+     * <p>
+     * @param index position to remove the category from.
+     * @return the SyndCategoryImpl being removed from position index, <b>null</b> if none.
+     *
+     */
+    @Override
+    public SyndCategory remove(int index) {
+        DCSubject subject = (DCSubject) _subjects.remove(index);
+        return (subject!=null) ? new SyndCategoryImpl(subject) : null;
+    }
+
+    /**
+     * Returns a list with the DCSubject elements of the SyndCategoryImpl list facade.
+     * To be used by the SyndFeedImpl class only.
+     * <p>
+     * @param cList the list with SyndCategoryImpl elements to convert to subject list.
+     * @return a list with DCSubject elements corresponding to the categories in the given list.
+     *
+     */
+    public static List<DCSubject> convertElementsSyndCategoryToSubject(List<SyndCategory> cList) {
+        List<DCSubject> sList = null;
+        if (cList!=null) {
+            sList = new ArrayList();
+            for (int i=0;i<cList.size();i++) {
+                SyndCategoryImpl sCat = (SyndCategoryImpl) cList.get(i);
+                DCSubject subject = null;
+                if (sCat!=null) {
+                    subject = sCat.getSubject();
+                }
+                sList.add(subject);
+            }
+        }
+        return sList;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java
new file mode 100644
index 0000000..12645fe
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContent.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+
+
+/**
+ * Bean interface for content of SyndFeedImpl entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public interface SyndContent extends Cloneable,CopyFrom<SyndContent> {
+    /**
+     * Returns the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @return the content type, <b>null</b> if none.
+     *
+     */
+    String getType();
+
+    /**
+     * Sets the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @param type the content type to set, <b>null</b> if none.
+     *
+     */
+    void setType(String type);
+    
+    /**
+     * Gets the content mode (needed for Atom 0.3 support).
+     * @return type the content, <b>null</b> if none.
+     *
+     */
+    String getMode();
+
+    /**
+     * Sets the content mode (needed for Atom 0.3 support).
+     * @param mode the content mode to set, <b>null</b> if none.
+     *
+     */
+    void setMode(String mode);
+
+    /**
+     * Returns the content value.
+     * <p>
+     * @return the content value, <b>null</b> if none.
+     *
+     */
+    String getValue();
+
+    /**
+     * Sets the content value.
+     * <p>
+     * @param value the content value to set, <b>null</b> if none.
+     *
+     */
+    void setValue(String value);
+
+    /**
+     * Creates a deep clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException;
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java
new file mode 100644
index 0000000..7fd7f28
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndContentImpl.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+import com.sun.syndication.feed.impl.ObjectBean;
+import com.sun.syndication.feed.impl.CopyFromHelper;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.io.Serializable;
+
+/**
+ * Bean for content of SyndFeedImpl entries.
+ * <p>
+ * @author Alejandro Abdelnur
+ *
+ */
+public class SyndContentImpl implements Serializable, SyndContent {
+    private ObjectBean _objBean;
+    private String _type;
+    private String _value;
+    private String _mode;
+
+
+    /**
+     * Default constructor. All properties are set to <b>null</b>.
+     * <p>
+     *
+     */
+    public SyndContentImpl() {
+        _objBean = new ObjectBean(SyndContent.class,this);
+    }
+
+    /**
+     * Creates a deep 'bean' clone of the object.
+     * <p>
+     * @return a clone of the object.
+     * @throws CloneNotSupportedException thrown if an element of the object cannot be cloned.
+     *
+     */
+    public Object clone() throws CloneNotSupportedException {
+        return _objBean.clone();
+    }
+
+    /**
+     * Indicates whether some other object is "equal to" this one as defined by the Object equals() method.
+     * <p>
+     * @param other he reference object with which to compare.
+     * @return <b>true</b> if 'this' object is equal to the 'other' object.
+     *
+     */
+    public boolean equals(Object other) {
+        return _objBean.equals(other);
+    }
+
+    /**
+     * Returns a hashcode value for the object.
+     * <p>
+     * It follows the contract defined by the Object hashCode() method.
+     * <p>
+     * @return the hashcode of the bean object.
+     *
+     */
+    public int hashCode() {
+        return _objBean.hashCode();
+    }
+
+    /**
+     * Returns the String representation for the object.
+     * <p>
+     * @return String representation for the object.
+     *
+     */
+    public String toString() {
+        return _objBean.toString();
+    }
+
+    /**
+     * Returns the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @return the content type, <b>null</b> if none.
+     *
+     */
+    public String getType() {
+        return _type;
+    }
+
+    /**
+     * Sets the content type.
+     * <p>
+     * When used for the description of an entry, if <b>null</b> 'text/plain' must be assumed.
+     * <p>
+     * @param type the content type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type) {
+        _type = type;
+    }
+
+    /**
+     * Returns the content mode.
+     * @return the content mode, <b>null</b> if none.
+     *
+     */
+    public String getMode() {
+        return _mode;
+    }
+
+    /**
+     * Sets the content mode.
+     * @param mode the content mode to set, <b>null</b> if none.
+     *
+     */
+    public void setMode(String mode) {
+        _mode = mode;
+    }
+
+    /**
+     * Returns the content value.
+     * <p>
+     * @return the content value, <b>null</b> if none.
+     *
+     */
+    public String getValue() {
+        return _value;
+    }
+
+    /**
+     * Sets the content value.
+     * <p>
+     * @param value the content value to set, <b>null</b> if none.
+     *
+     */
+    public void setValue(String value) {
+        _value = value;
+    }
+
+
+    public Class getInterface() {
+        return SyndContent.class;
+    }
+
+    public void copyFrom(CopyFrom obj) {
+        COPY_FROM_HELPER.copy(this,obj);
+    }
+
+    private static final CopyFromHelper COPY_FROM_HELPER;
+
+    static {
+        Map basePropInterfaceMap = new HashMap();
+        basePropInterfaceMap.put("type",String.class);
+        basePropInterfaceMap.put("value",String.class);
+
+        Map basePropClassImplMap = Collections.EMPTY_MAP;
+
+        COPY_FROM_HELPER = new CopyFromHelper(SyndContent.class,basePropInterfaceMap,basePropClassImplMap);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/marmotta/blob/00c22e7c/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java
----------------------------------------------------------------------
diff --git a/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java
new file mode 100644
index 0000000..34ee4e6
--- /dev/null
+++ b/commons/marmotta-sesame-tools/marmotta-rio-rss/src/ext/java/com/sun/syndication/feed/synd/SyndEnclosure.java
@@ -0,0 +1,57 @@
+package com.sun.syndication.feed.synd;
+
+import com.sun.syndication.feed.CopyFrom;
+
+/**
+ * @author Alejandro Abdelnur
+ */
+public interface SyndEnclosure extends Cloneable, CopyFrom<SyndEnclosure> {
+    /**
+     * Returns the enclosure URL.
+     * <p>
+     * @return the enclosure URL, <b>null</b> if none.
+     *
+     */
+    public String getUrl();
+
+    /**
+     * Sets the enclosure URL.
+     * <p>
+     * @param url the enclosure URL to set, <b>null</b> if none.
+     *
+     */
+    public void setUrl(String url);
+
+    /**
+     * Returns the enclosure length.
+     * <p>
+     * @return the enclosure length, <b>0</b> if none.
+     *
+     */
+    public long getLength();
+
+    /**
+     * Sets the enclosure length.
+     * <p>
+     * @param length the enclosure length to set, <b>0</b> if none.
+     *
+     */
+    public void setLength(long length);
+
+    /**
+     * Returns the enclosure type.
+     * <p>
+     * @return the enclosure type, <b>null</b> if none.
+     *
+     */
+    public String getType();
+
+    /**
+     * Sets the enclosure type.
+     * <p>
+     * @param type the enclosure type to set, <b>null</b> if none.
+     *
+     */
+    public void setType(String type);
+
+}


Mime
View raw message