[feed] Added Channel for link to feed item; Updated rome library to version 1.15 (#8893)

* Added Channel for link to latest feed; update rome deoendency to version 1.15
* Removed unsed interface
* Run spotless

Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
This commit is contained in:
Christoph Weitkamp
2020-10-30 20:27:09 +01:00
committed by GitHub
parent 9a5832a2ee
commit 1e89b792a0
8 changed files with 43 additions and 41 deletions

View File

@@ -35,8 +35,9 @@ The binding supports following channels
| Channel Type ID | Item Type | Description |
|--------------------|-----------|-----------------------------------------------------|
| latest-title | String | Contains the title of the last feed entry. |
| latest-description | String | Contains the description of last feed entry. |
| latest-description | String | Contains the description of the last feed entry. |
| latest-date | DateTime | Contains the published date of the last feed entry. |
| latest-link | String | Contains the link of the last feed entry. |
| author | String | The name of the feed author, if author is present. |
| title | String | The title of the feed. |
| description | String | Description of the feed. |
@@ -48,8 +49,8 @@ The binding supports following channels
Things:
```java
feed:feed:bbc [ URL="http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml?edition=uk"]
feed:feed:techCrunch [ URL="http://feeds.feedburner.com/TechCrunch/", refresh=60]
feed:feed:bbc [URL="http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml?edition=uk"]
feed:feed:techCrunch [URL="http://feeds.feedburner.com/TechCrunch/", refresh=60]
```
Items:
@@ -58,6 +59,7 @@ Items:
String latest_title {channel="feed:feed:bbc:latest-title"}
String latest_description {channel="feed:feed:bbc:latest-description"}
DateTime latest_date {channel="feed:feed:bbc:latest-date"}
String latest_link {channel="feed:feed:bbc:latest-link"}
Number number_of_entries {channel="feed:feed:bbc:number-of-entries"}
String description {channel="feed:feed:bbc:description"}
String author {channel="feed:feed:bbc:author"}

View File

@@ -16,13 +16,15 @@
<properties>
<bnd.importpackage>org.jaxen.*;resolution:=optional</bnd.importpackage>
<rome.version>1.15.0</rome.version>
</properties>
<dependencies>
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome</artifactId>
<version>1.12.0</version>
<version>${rome.version}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
@@ -34,7 +36,7 @@
<dependency>
<groupId>com.rometools</groupId>
<artifactId>rome-utils</artifactId>
<version>1.12.0</version>
<version>${rome.version}</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -41,10 +41,15 @@ public class FeedBindingConstants {
public static final String CHANNEL_LATEST_TITLE = "latest-title";
/**
* Contains the description of last feed entry.
* Contains the description of the last feed entry.
*/
public static final String CHANNEL_LATEST_DESCRIPTION = "latest-description";
/**
* Contains the link to the last feed entry.
*/
public static final String CHANNEL_LATEST_LINK = "latest-link";
/**
* Description of the feed.
*/

View File

@@ -162,6 +162,13 @@ public class FeedHandler extends BaseThingHandler {
state = new StringType(getValueSafely(description));
}
break;
case CHANNEL_LATEST_LINK:
if (latestEntry == null || latestEntry.getLink() == null) {
state = UnDefType.UNDEF;
} else {
state = new StringType(getValueSafely(latestEntry.getLink()));
}
break;
case CHANNEL_LATEST_PUBLISHED_DATE:
case CHANNEL_LAST_UPDATE:
if (latestEntry == null || latestEntry.getPublishedDate() == null) {

View File

@@ -19,6 +19,7 @@
<channel id="latest-title" typeId="latest-title"/>
<channel id="latest-description" typeId="latest-description"/>
<channel id="latest-date" typeId="latest-date"/>
<channel id="latest-link" typeId="latest-link"/>
<channel id="author" typeId="author"/>
<channel id="description" typeId="description"/>
<channel id="title" typeId="title"/>
@@ -52,7 +53,7 @@
<channel-type id="latest-description">
<item-type>String</item-type>
<label>Latest Description</label>
<description>Contains the description of last feed entry.</description>
<description>Contains the description of the last feed entry.</description>
<state readOnly="true" pattern="%s"/>
</channel-type>
@@ -63,6 +64,13 @@
<state readOnly="true" pattern="%tc %n"/>
</channel-type>
<channel-type id="latest-link">
<item-type>String</item-type>
<label>Latest Link</label>
<description>Contains the link of the last feed entry.</description>
<state readOnly="true" pattern="%s"/>
</channel-type>
<channel-type id="author" advanced="true">
<item-type>String</item-type>
<label>Author</label>