From 0da4375857c413439666f321e3a84adc3d8018e6 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 27 Oct 2016 12:39:11 +0200 Subject: [PATCH] view/download/comment count --- .../plugins/cloud/model/IServiceAPI.java | 4 +-- .../plugins/cloud/model/ProjectEntity.java | 29 ++++++++---------- .../cloud/presenter/CloudPresenter.java | 7 +++-- .../src/org/diylc/images/IconLoader.java | 5 ++- .../src/org/diylc/images/messages.png | Bin 0 -> 883 bytes .../src/org/diylc/images/star_grey.png | Bin 0 -> 877 bytes .../src/org/diylc/images/star_yellow.png | Bin 0 -> 877 bytes .../view/browser/ResultsScrollPanel.java | 21 +++++++++---- 8 files changed, 37 insertions(+), 29 deletions(-) create mode 100644 diylc/diylc-swing/src/org/diylc/images/messages.png create mode 100644 diylc/diylc-swing/src/org/diylc/images/star_grey.png create mode 100644 diylc/diylc-swing/src/org/diylc/images/star_yellow.png diff --git a/diylc/diylc-core/src/org/diylc/plugins/cloud/model/IServiceAPI.java b/diylc/diylc-core/src/org/diylc/plugins/cloud/model/IServiceAPI.java index 43a96a76..fc91180f 100644 --- a/diylc/diylc-core/src/org/diylc/plugins/cloud/model/IServiceAPI.java +++ b/diylc/diylc-core/src/org/diylc/plugins/cloud/model/IServiceAPI.java @@ -94,7 +94,6 @@ public interface IServiceAPI { * * @param criteria * @param category - * @param format * @param page * @param itemsPerPage * @param sort @@ -102,8 +101,7 @@ public interface IServiceAPI { * objects. */ Object search(@ParamName("criteria") String criteria, @ParamName("category") String category, - @ParamName("format") String format, @ParamName("page") Integer page, - @ParamName("itemsPerPage") Integer itemsPerPage, @ParamName("sort") String sort); + @ParamName("page") Integer page, @ParamName("itemsPerPage") Integer itemsPerPage, @ParamName("sort") String sort); /** * Uploads a project using token to authenticate. diff --git a/diylc/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java b/diylc/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java index 4cb04037..5188f55f 100644 --- a/diylc/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java +++ b/diylc/diylc-core/src/org/diylc/plugins/cloud/model/ProjectEntity.java @@ -16,26 +16,12 @@ public class ProjectEntity implements Serializable { private String downloadUrl; private int viewCount; private int downloadCount; + private int commentCount; public ProjectEntity() { super(); } - public ProjectEntity(int id, String name, String description, String owner, String category, String updated, - String thumbnailUrl, String downloadUrl, int viewCount, int downloadCount) { - super(); - this.id = id; - this.name = name; - this.description = description; - this.owner = owner; - this.category = category; - this.updated = updated; - this.thumbnailUrl = thumbnailUrl; - this.downloadUrl = downloadUrl; - this.viewCount = viewCount; - this.downloadCount = downloadCount; - } - public int getId() { return id; } @@ -114,13 +100,22 @@ public class ProjectEntity implements Serializable { public void setDownloadCount(int downloadCount) { this.downloadCount = downloadCount; - } + } + + public int getCommentCount() { + return commentCount; + } + + public void setCommentCount(int commentCount) { + this.commentCount = commentCount; + } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((category == null) ? 0 : category.hashCode()); + result = prime * result + commentCount; result = prime * result + ((description == null) ? 0 : description.hashCode()); result = prime * result + downloadCount; result = prime * result + ((downloadUrl == null) ? 0 : downloadUrl.hashCode()); @@ -147,6 +142,8 @@ public class ProjectEntity implements Serializable { return false; } else if (!category.equals(other.category)) return false; + if (commentCount != other.commentCount) + return false; if (description == null) { if (other.description != null) return false; diff --git a/diylc/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java b/diylc/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java index 087ccf00..cc15b33e 100644 --- a/diylc/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java +++ b/diylc/diylc-core/src/org/diylc/plugins/cloud/presenter/CloudPresenter.java @@ -215,7 +215,7 @@ public class CloudPresenter { throws CloudException { LOG.info(String.format("search(%1$s,%2$s,%3$s,%4$d,%5$d)", criteria, category, sortOrder, pageNumber, itemsPerPage)); try { - Object res = service.search(criteria, category, "json", pageNumber, itemsPerPage, sortOrder); + Object res = service.search(criteria, category, pageNumber, itemsPerPage, sortOrder); // Thread.sleep(2000); if (res == null) throw new CloudException("Failed to retreive search results."); @@ -225,7 +225,8 @@ public class CloudPresenter { @SuppressWarnings("unchecked") List projects = (List) res; LOG.info("Received " + projects.size() + " results. Downloading thumbnails..."); - // Download thumbnails and replace urls with local paths to speed up loading in the main thread + // Download thumbnails and replace urls with local paths to speed up loading in the main + // thread for (int i = 0; i < projects.size(); i++) { String url = projects.get(i).getThumbnailUrl(); URL website = new URL(url); @@ -233,7 +234,7 @@ public class CloudPresenter { File temp = File.createTempFile("thumbnail", ".png"); FileOutputStream fos = new FileOutputStream(temp); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - projects.get(i).setThumbnailUrl(temp.getAbsolutePath()); + projects.get(i).setThumbnailUrl(temp.getAbsolutePath()); fos.close(); } LOG.info("Finished downloading thumbnails."); diff --git a/diylc/diylc-swing/src/org/diylc/images/IconLoader.java b/diylc/diylc-swing/src/org/diylc/images/IconLoader.java index 50a8eab8..50707f23 100644 --- a/diylc/diylc-swing/src/org/diylc/images/IconLoader.java +++ b/diylc/diylc-swing/src/org/diylc/images/IconLoader.java @@ -8,6 +8,8 @@ import javax.imageio.ImageIO; import javax.swing.Icon; import javax.swing.ImageIcon; +import com.sun.org.apache.xml.internal.serializer.utils.Messages; + /** * Loads image resources as Icons. * @@ -34,7 +36,8 @@ public enum IconLoader { "id_card_edit.png"), KeyEdit("key_edit.png"), Find("find.png"), Dashboard("dashboard.png"), DataFind( "data_find.png"), CloudDownload("cloud-download.png"), NavLeftBlue("nav_left_blue.png"), NavRightBlue( "nav_right_blue.png"), MissingImage("missing_image.png"), CloudBg("cloud_bg.png"), CloudBig("cloud_big.png"), CloudWait( - "cloud_wait.png"), Spinning("spinning.gif"), Megaphone("megaphone.png"), Download("download.png"), Eye("eye.png"); + "cloud_wait.png"), Spinning("spinning.gif"), Megaphone("megaphone.png"), Download("download.png"), Eye("eye.png"), Messages( + "messages.png"); protected String name; diff --git a/diylc/diylc-swing/src/org/diylc/images/messages.png b/diylc/diylc-swing/src/org/diylc/images/messages.png new file mode 100644 index 0000000000000000000000000000000000000000..20f1686d6e5cb9160387a945ad6d7fbda2f76f82 GIT binary patch literal 883 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