diff --git a/src/main/java/org/olat/modules/webFeed/Feed.java b/src/main/java/org/olat/modules/webFeed/Feed.java index aea3f64fbeced15bac63911e0ec26c8981e2b062..35b063a08e3883ff53b5c5ed261bba785c8d0113 100644 --- a/src/main/java/org/olat/modules/webFeed/Feed.java +++ b/src/main/java/org/olat/modules/webFeed/Feed.java @@ -21,6 +21,8 @@ package org.olat.modules.webFeed; import java.util.Date; +import org.olat.core.id.CreateInfo; +import org.olat.core.id.ModifiedInfo; import org.olat.core.id.OLATResourceable; /** @@ -31,7 +33,7 @@ import org.olat.core.id.OLATResourceable; * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com * */ -public interface Feed extends OLATResourceable { +public interface Feed extends OLATResourceable, CreateInfo, ModifiedInfo { public Long getKey(); @@ -51,14 +53,8 @@ public interface Feed extends OLATResourceable { @Override public String getResourceableTypeName(); - public Date getCreationDate(); - public void setCreationDate(Date creationDate); - public Date getLastModified(); - - public void setLastModified(Date date); - public String getTitle(); public void setTitle(String title); diff --git a/src/main/java/org/olat/modules/webFeed/Item.java b/src/main/java/org/olat/modules/webFeed/Item.java index 86847195e974ce27b6287f8068d1da0f8c4fd12e..253f0ffa8f060be5ae02862819c853a039a19e7f 100644 --- a/src/main/java/org/olat/modules/webFeed/Item.java +++ b/src/main/java/org/olat/modules/webFeed/Item.java @@ -23,6 +23,8 @@ import java.util.Date; import org.olat.core.commons.controllers.navigation.Dated; import org.olat.core.gui.components.form.flexible.elements.FileElement; +import org.olat.core.id.CreateInfo; +import org.olat.core.id.ModifiedInfo; /** * @@ -30,7 +32,7 @@ import org.olat.core.gui.components.form.flexible.elements.FileElement; * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com * */ -public interface Item extends Dated { +public interface Item extends Dated, CreateInfo, ModifiedInfo { public Long getKey(); @@ -39,14 +41,8 @@ public interface Item extends Dated { @Override public Date getDate(); - public Date getCreationDate(); - public void setCreationDate(Date date); - public Date getLastModified(); - - public void setLastModified(Date updatedDate); - public String getTitle(); public void setTitle(String title); diff --git a/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java b/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java index e2a95a66894221aa9a3cbc32882d6acce6717865..65a9e38df9b331e6f913d250aa8a66d8292d8525 100644 --- a/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java +++ b/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java @@ -260,17 +260,21 @@ public class FeedImpl implements Feed, Serializable { public int getModelVersion() { return modelVersion; } + + @Override + public int hashCode() { + return getKey() == null ? 43254 : getKey().hashCode(); + } - /** - * Overwrite equals method so that different object that actually - * represent the same item are recognized as such. - */ @Override public boolean equals(Object obj) { - if (!(obj instanceof FeedImpl)) return false; - FeedImpl otherFeed = (FeedImpl) obj; - return this.getResourceableId().equals(otherFeed.getResourceableId()) && - this.getResourceableTypeName().equals(otherFeed.getResourceableTypeName()); + if(this == obj) { + return true; + } else if(obj instanceof FeedImpl) { + FeedImpl feed = (FeedImpl)obj; + return getKey() != null && getKey().equals(feed.getKey()); + } + return false; } } diff --git a/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java b/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java index 3b02d6db3a5185bf991af745c8a3d4f2eccb2685..3ff58f6f9e56349ed21c277e0489a2732e5f5aed 100644 --- a/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java +++ b/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java @@ -366,21 +366,16 @@ public class ItemImpl implements Item, Serializable { @Override public int hashCode() { - return guid == null ? 39745 : guid.hashCode(); + return getKey() == null ? 39745 : getKey().hashCode(); } - /** - * Overwrite equals method so that different object that actually - * represent the same item are recognized as such, - * e.g. in the remove method of the feed. - */ @Override public boolean equals(Object obj) { if(this == obj) { return true; } else if(obj instanceof ItemImpl) { ItemImpl item = (ItemImpl)obj; - return guid != null && guid.equals(item.guid); + return getKey() != null && getKey().equals(item.getKey()); } return false; }