diff --git a/commafeed-client/src/app/types.ts b/commafeed-client/src/app/types.ts index a06e8b8c..4b3533e6 100644 --- a/commafeed-client/src/app/types.ts +++ b/commafeed-client/src/app/types.ts @@ -271,7 +271,7 @@ export interface Subscription { iconUrl: string unread: number categoryId?: string - position?: number + position: number newestItemTime?: number filter?: string } diff --git a/commafeed-server/src/main/java/com/commafeed/backend/model/FeedCategory.java b/commafeed-server/src/main/java/com/commafeed/backend/model/FeedCategory.java index e16b53e0..d3be1aee 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/model/FeedCategory.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/model/FeedCategory.java @@ -38,6 +38,6 @@ public class FeedCategory extends AbstractModel { private boolean collapsed; - private Integer position; + private int position; } diff --git a/commafeed-server/src/main/java/com/commafeed/backend/model/FeedSubscription.java b/commafeed-server/src/main/java/com/commafeed/backend/model/FeedSubscription.java index e943e1a1..3b4a8de4 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/model/FeedSubscription.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/model/FeedSubscription.java @@ -38,7 +38,7 @@ public class FeedSubscription extends AbstractModel { @OneToMany(mappedBy = "subscription", cascade = CascadeType.REMOVE) private Set statuses; - private Integer position; + private int position; @Column(name = "filtering_expression", length = 4096) private String filter; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java index 66107b33..8cab04d1 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Category.java @@ -35,5 +35,5 @@ public class Category implements Serializable { private boolean expanded; @ApiModelProperty(value = "position of the category in the list", required = true) - private Integer position; + private int position; } \ No newline at end of file diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java b/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java index 56285bf0..68a6e26c 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/model/Subscription.java @@ -54,7 +54,7 @@ public class Subscription implements Serializable { private String categoryId; @ApiModelProperty("position of the subscription's in the list") - private Integer position; + private int position; @ApiModelProperty(value = "date of the newest item", dataType = "number") private Date newestItemTime; diff --git a/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java b/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java index 35886a34..5935d325 100644 --- a/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java +++ b/commafeed-server/src/main/java/com/commafeed/frontend/resource/CategoryREST.java @@ -458,7 +458,7 @@ public class CategoryREST { category.getChildren().add(child); } } - Collections.sort(category.getChildren(), (o1, o2) -> ObjectUtils.compare(o1.getPosition(), o2.getPosition())); + category.getChildren().sort(Comparator.comparing(Category::getPosition).thenComparing(Category::getName)); for (FeedSubscription subscription : subscriptions) { if (id == null && subscription.getCategory() == null @@ -468,7 +468,7 @@ public class CategoryREST { category.getFeeds().add(sub); } } - Collections.sort(category.getFeeds(), (o1, o2) -> ObjectUtils.compare(o1.getPosition(), o2.getPosition())); + category.getFeeds().sort(Comparator.comparing(Subscription::getPosition).thenComparing(Subscription::getName)); return category; } diff --git a/commafeed-server/src/main/resources/changelogs/db.changelog-3.6.xml b/commafeed-server/src/main/resources/changelogs/db.changelog-3.6.xml new file mode 100644 index 00000000..8e690235 --- /dev/null +++ b/commafeed-server/src/main/resources/changelogs/db.changelog-3.6.xml @@ -0,0 +1,21 @@ + + + + + + + + position is null + + + + + + position is null + + + + + diff --git a/commafeed-server/src/main/resources/migrations.xml b/commafeed-server/src/main/resources/migrations.xml index 4bd549b6..9952015f 100644 --- a/commafeed-server/src/main/resources/migrations.xml +++ b/commafeed-server/src/main/resources/migrations.xml @@ -19,5 +19,6 @@ + \ No newline at end of file