From b861aece1033afb5f69c98fed65501ff1cf02c90 Mon Sep 17 00:00:00 2001 From: adarshreddy87 Date: Fri, 2 Apr 2021 00:42:58 -0400 Subject: [PATCH] Added WidgetRepository --- pom.xml | 12 +++ .../models/Widget.java | 34 +++++++ .../repositories/WidgetRepository.java | 21 +++++ .../services/WidgetService.java | 89 +++++++++++-------- src/main/resources/application.properties | 13 +++ 5 files changed, 134 insertions(+), 35 deletions(-) create mode 100644 src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/repositories/WidgetRepository.java diff --git a/pom.xml b/pom.xml index 254a263..8a62427 100644 --- a/pom.xml +++ b/pom.xml @@ -27,6 +27,18 @@ spring-boot-starter-test test + + + mysql + mysql-connector-java + 8.0.17 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + diff --git a/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/models/Widget.java b/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/models/Widget.java index 790cf63..b8133e2 100644 --- a/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/models/Widget.java +++ b/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/models/Widget.java @@ -1,11 +1,45 @@ package com.example.CS5610Sp2101kadarshreddyserverjava.models; +import javax.persistence.*; + +@Entity +@Table(name = "widgets") public class Widget { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String topicId; private String type; private Integer size; private String text; + private Integer height; + private Integer width; + private String name; + + public Integer getHeight() { + return height; + } + + public void setHeight(Integer height) { + this.height = height; + } + + public Integer getWidth() { + return width; + } + + public void setWidth(Integer width) { + this.width = width; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } public Long getId() { return id; diff --git a/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/repositories/WidgetRepository.java b/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/repositories/WidgetRepository.java new file mode 100644 index 0000000..182f0ca --- /dev/null +++ b/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/repositories/WidgetRepository.java @@ -0,0 +1,21 @@ +package com.example.CS5610Sp2101kadarshreddyserverjava.repositories; + +import com.example.CS5610Sp2101kadarshreddyserverjava.models.Widget; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface WidgetRepository extends CrudRepository { + + @Query(value = "select * from widgets", nativeQuery = true) + public List findAllWidgets(); + + @Query(value = "select * from widgets where id=:wid", nativeQuery = true) + public Widget findWidgetsById(@Param("wid") Long widgetId); + + @Query(value = "select * from widgets where topic_id=:tid", nativeQuery = true) + public List findWidgetsForTopic(@Param("tid") String topicId); + +} diff --git a/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/services/WidgetService.java b/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/services/WidgetService.java index bf30fdb..114c78a 100644 --- a/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/services/WidgetService.java +++ b/src/main/java/com/example/CS5610Sp2101kadarshreddyserverjava/services/WidgetService.java @@ -1,6 +1,8 @@ package com.example.CS5610Sp2101kadarshreddyserverjava.services; import com.example.CS5610Sp2101kadarshreddyserverjava.models.Widget; +import com.example.CS5610Sp2101kadarshreddyserverjava.repositories.WidgetRepository; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -9,6 +11,10 @@ @Service public class WidgetService { + + @Autowired + WidgetRepository repository; + private List widgets = new ArrayList(); { Widget w1 = new Widget(123l, "ABC123", "HEADING", 1, "Widgets for Topic ABC123"); @@ -25,56 +31,69 @@ public class WidgetService { } public Widget createWidgetForTopic(Widget widget){ - Long id = (new Date()).getTime(); - widget.setId(id); - widgets.add(widget); - return widget; + return repository.save(widget); +// Long id = (new Date()).getTime(); +// widget.setId(id); +// widgets.add(widget); +// return widget; } public List findAllWidgets(){ - return widgets; + return repository.findAllWidgets(); +// return (List) repository.findAll(); +// return widgets; } public List findWidgetsForTopic(String topicId){ - List ws = new ArrayList(); - for(Widget w:widgets){ - if (w.getTopicId().equals(topicId)){ - ws.add(w); - } - } - return ws; + return repository.findWidgetsForTopic(topicId); +// List ws = new ArrayList(); +// for(Widget w:widgets){ +// if (w.getTopicId().equals(topicId)){ +// ws.add(w); +// } +// +// } +// return ws; } public Widget findWidgetById(Long id) { - for(Widget w: widgets) { - if(w.getId().equals(id)) { - return w; - } - } - return null; +// for(Widget w: widgets) { +// if(w.getId().equals(id)) { +// return w; +// } +// } +// return null; +// return repository.findById(id).get(); + return repository.findWidgetsById(id); } public Integer deleteWidget(Long id){ - int index=-1; - for(int i=0;i=0){ - widgets.remove(index); + repository.deleteById(id); return 1; - } - return -1; +// int index=-1; +// for(int i=0;i=0){ +// widgets.remove(index); +// return 1; +// } +// return -1; } public Integer updateWidget(Long id, Widget widget){ - for (int i =0 ;i