From 009db2bebd86dfddeef55d624b30267457b19fd2 Mon Sep 17 00:00:00 2001 From: Ryan Laddusaw Date: Fri, 30 Jun 2017 09:08:23 -0500 Subject: [PATCH 1/4] Fixed updating of newly added services --- .../java/edu/tamu/app/controller/ServiceController.java | 6 +++--- src/main/java/edu/tamu/app/model/Service.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/edu/tamu/app/controller/ServiceController.java b/src/main/java/edu/tamu/app/controller/ServiceController.java index 2117bfe..569e25f 100644 --- a/src/main/java/edu/tamu/app/controller/ServiceController.java +++ b/src/main/java/edu/tamu/app/controller/ServiceController.java @@ -54,8 +54,8 @@ public ApiResponse getService(@ApiVariable Long id) { @ApiValidation(business = { @ApiValidation.Business(value = CREATE), @ApiValidation.Business(value = EXISTS) }) public ApiResponse createService(@ApiValidatedModel Service service) { service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsPublic(), service.getOnShortList()); - simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findOne(service.getId()))); - return new ApiResponse(SUCCESS, service); + simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll())); + return new ApiResponse(SUCCESS); } @ApiMapping("/update") @@ -63,7 +63,7 @@ public ApiResponse createService(@ApiValidatedModel Service service) { @ApiValidation(business = { @ApiValidation.Business(value = UPDATE), @ApiValidation.Business(value = NONEXISTS) }) public ApiResponse updateService(@ApiValidatedModel Service service) { service = serviceRepo.save(service); - simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findOne(service.getId()))); + simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll())); return new ApiResponse(SUCCESS, service); } diff --git a/src/main/java/edu/tamu/app/model/Service.java b/src/main/java/edu/tamu/app/model/Service.java index 319d2f4..f4b6c8c 100644 --- a/src/main/java/edu/tamu/app/model/Service.java +++ b/src/main/java/edu/tamu/app/model/Service.java @@ -38,7 +38,7 @@ public class Service extends BaseEntity { @Column(nullable = false, unique = false) private Status status; - @Column(nullable = true, unique = true) + @Column(nullable = true) private String serviceUrl; @Column(nullable = false) From 1562c69b8ad934f47b828dab431aa23afacfae33 Mon Sep 17 00:00:00 2001 From: Ryan Laddusaw Date: Fri, 30 Jun 2017 10:47:12 -0500 Subject: [PATCH 2/4] Tests all passing --- src/main/java/edu/tamu/app/controller/ServiceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/edu/tamu/app/controller/ServiceController.java b/src/main/java/edu/tamu/app/controller/ServiceController.java index 569e25f..fe7853c 100644 --- a/src/main/java/edu/tamu/app/controller/ServiceController.java +++ b/src/main/java/edu/tamu/app/controller/ServiceController.java @@ -55,7 +55,7 @@ public ApiResponse getService(@ApiVariable Long id) { public ApiResponse createService(@ApiValidatedModel Service service) { service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsPublic(), service.getOnShortList()); simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll())); - return new ApiResponse(SUCCESS); + return new ApiResponse(SUCCESS, service); } @ApiMapping("/update") From ee00e354a671308617df4fffc8ada3cd16b3a2f0 Mon Sep 17 00:00:00 2001 From: Ryan Laddusaw Date: Fri, 30 Jun 2017 11:03:48 -0500 Subject: [PATCH 3/4] Resolved missing methods --- .../edu/tamu/app/service/OverallStatusService.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/edu/tamu/app/service/OverallStatusService.java b/src/main/java/edu/tamu/app/service/OverallStatusService.java index 871ae4d..801e66e 100644 --- a/src/main/java/edu/tamu/app/service/OverallStatusService.java +++ b/src/main/java/edu/tamu/app/service/OverallStatusService.java @@ -1,17 +1,17 @@ package edu.tamu.app.service; +import static edu.tamu.app.enums.OverallMessageType.ERROR; +import static edu.tamu.app.enums.OverallMessageType.SUCCESS; + import java.util.List; import org.springframework.beans.factory.annotation.Autowired; -import ch.qos.logback.core.net.SyslogOutputStream; +import edu.tamu.app.enums.Status; import edu.tamu.app.model.OverallStatus; import edu.tamu.app.model.Service; import edu.tamu.app.model.repo.ServiceRepo; -import static edu.tamu.app.enums.OverallMessageType.SUCCESS; -import static edu.tamu.app.enums.OverallMessageType.ERROR; - @org.springframework.stereotype.Service public class OverallStatusService { @@ -42,14 +42,14 @@ public void updateStatuses() { boolean publicServicesAreUp = true; for(Service service : servicesFull) { - if(!service.isCurrentlyUp()) { + if(service.getStatus().equals(Status.DOWN)) { fullServicesAreUp = false; break; } } for(Service service : servicesPublic) { - if(!service.isCurrentlyUp()) { + if(service.getStatus().equals(Status.DOWN)) { publicServicesAreUp = false; break; } From 3b83d08906f751c1e6b3b17d4a8e1581019e0553 Mon Sep 17 00:00:00 2001 From: Ryan Laddusaw Date: Fri, 30 Jun 2017 16:27:20 -0500 Subject: [PATCH 4/4] WIP Service CRUD --- .../app/controller/ServiceController.java | 5 +++-- src/main/java/edu/tamu/app/model/Service.java | 5 +++-- .../model/repo/custom/ServiceRepoCustom.java | 2 +- .../app/model/repo/impl/ServiceRepoImpl.java | 4 ++-- .../model/validation/ServiceValidator.java | 3 +-- .../controller/ServiceControllerTest.java | 10 +++++----- .../java/edu/tamu/app/model/NoteTest.java | 4 ++-- .../java/edu/tamu/app/model/ServiceTest.java | 20 +++++++++---------- 8 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/main/java/edu/tamu/app/controller/ServiceController.java b/src/main/java/edu/tamu/app/controller/ServiceController.java index 244997b..275828f 100644 --- a/src/main/java/edu/tamu/app/controller/ServiceController.java +++ b/src/main/java/edu/tamu/app/controller/ServiceController.java @@ -53,8 +53,9 @@ public ApiResponse getService(@ApiVariable Long id) { @Auth(role = "ROLE_SERVICE_MANAGER") @ApiValidation(business = { @ApiValidation.Business(value = CREATE), @ApiValidation.Business(value = EXISTS) }) public ApiResponse createService(@ApiValidatedModel Service service) { - service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsAuto(), service.getIsPublic(), service.getOnShortList()); - simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findOne(service.getId()))); + System.out.println(service.getServiceUrl()); + service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsAuto(), service.getIsPublic(), service.getOnShortList(), service.getServiceUrl()); + simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll())); return new ApiResponse(SUCCESS, service); } diff --git a/src/main/java/edu/tamu/app/model/Service.java b/src/main/java/edu/tamu/app/model/Service.java index e857141..9c74e92 100644 --- a/src/main/java/edu/tamu/app/model/Service.java +++ b/src/main/java/edu/tamu/app/model/Service.java @@ -41,7 +41,7 @@ public class Service extends BaseEntity { @Column(nullable = false) private boolean isAuto; - @Column(nullable = true, unique = true) + @Column(nullable = true) private String serviceUrl; @Column(nullable = false) @@ -60,13 +60,14 @@ public Service() { setAliases(new ArrayList()); } - public Service(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList) { + public Service(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl) { this(); setName(name); setStatus(status); setIsAuto(isAuto); setIsPublic(isPublic); setOnShortList(onShortList); + setServiceUrl(serviceUrl); } public String getName() { diff --git a/src/main/java/edu/tamu/app/model/repo/custom/ServiceRepoCustom.java b/src/main/java/edu/tamu/app/model/repo/custom/ServiceRepoCustom.java index d05db88..9ab93a2 100644 --- a/src/main/java/edu/tamu/app/model/repo/custom/ServiceRepoCustom.java +++ b/src/main/java/edu/tamu/app/model/repo/custom/ServiceRepoCustom.java @@ -5,6 +5,6 @@ public interface ServiceRepoCustom { - public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList); + public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl); } diff --git a/src/main/java/edu/tamu/app/model/repo/impl/ServiceRepoImpl.java b/src/main/java/edu/tamu/app/model/repo/impl/ServiceRepoImpl.java index 24d0227..17766b7 100644 --- a/src/main/java/edu/tamu/app/model/repo/impl/ServiceRepoImpl.java +++ b/src/main/java/edu/tamu/app/model/repo/impl/ServiceRepoImpl.java @@ -13,7 +13,7 @@ public class ServiceRepoImpl implements ServiceRepoCustom { ServiceRepo serviceRepo; @Override - public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList) { - return serviceRepo.save(new Service(name, status, isAuto, isPublic, onShortList)); + public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl) { + return serviceRepo.save(new Service(name, status, isAuto, isPublic, onShortList, serviceUrl)); } } diff --git a/src/main/java/edu/tamu/app/model/validation/ServiceValidator.java b/src/main/java/edu/tamu/app/model/validation/ServiceValidator.java index 6c76be6..e81d4ad 100644 --- a/src/main/java/edu/tamu/app/model/validation/ServiceValidator.java +++ b/src/main/java/edu/tamu/app/model/validation/ServiceValidator.java @@ -7,10 +7,9 @@ public class ServiceValidator extends BaseModelValidator { public ServiceValidator() { - System.out.println("validating"); String nameProperty = "name"; this.addInputValidator(new InputValidator(InputValidationType.required, "Service requires a name", nameProperty, true)); - this.addInputValidator(new InputValidator(InputValidationType.minlength, "Service name must be at least 1 characters", nameProperty, 1)); + this.addInputValidator(new InputValidator(InputValidationType.minlength, "Service name must be at least 3 characters", nameProperty, 3)); String statusProperty = "status"; this.addInputValidator(new InputValidator(InputValidationType.required, "Service requires an enum status", statusProperty, true)); diff --git a/src/test/java/controller/ServiceControllerTest.java b/src/test/java/controller/ServiceControllerTest.java index af8955d..0e6aa73 100644 --- a/src/test/java/controller/ServiceControllerTest.java +++ b/src/test/java/controller/ServiceControllerTest.java @@ -41,10 +41,10 @@ public class ServiceControllerTest { protected static final Boolean TEST_ON_SHORT_LIST = true; protected static final Boolean TEST_NOT_ON_SHORT_LIST = false; - protected static Service TEST_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); - protected static Service TEST_SERVICE2 = new Service(TEST_SERVICE2_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_ON_SHORT_LIST); - protected static Service TEST_SERVICE3 = new Service(TEST_SERVICE3_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_NOT_ON_SHORT_LIST); - protected static Service TEST_MODIFIED_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_NOT_ON_SHORT_LIST); + protected static Service TEST_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, ""); + protected static Service TEST_SERVICE2 = new Service(TEST_SERVICE2_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_ON_SHORT_LIST, ""); + protected static Service TEST_SERVICE3 = new Service(TEST_SERVICE3_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_NOT_ON_SHORT_LIST, ""); + protected static Service TEST_MODIFIED_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_NOT_ON_SHORT_LIST, ""); protected static List mockServiceList = new ArrayList(Arrays.asList(new Service[] { TEST_SERVICE1, TEST_SERVICE2,TEST_SERVICE3 })); protected static List mockPublicServiceList = new ArrayList(Arrays.asList(new Service[] { TEST_SERVICE1, TEST_SERVICE3 })); @@ -65,7 +65,7 @@ public void setUp() { when(serviceRepo.findAll()).thenReturn(mockServiceList); when(serviceRepo.findByIsPublic(true)).thenReturn(mockPublicServiceList); when(serviceRepo.findOne(any(Long.class))).thenReturn(TEST_SERVICE1); - when(serviceRepo.create(any(String.class), any(Status.class), any(Boolean.class), any(Boolean.class), any(Boolean.class))).thenReturn(TEST_SERVICE1); + when(serviceRepo.create(any(String.class), any(Status.class), any(Boolean.class), any(Boolean.class), any(Boolean.class), any(String.class))).thenReturn(TEST_SERVICE1); when(serviceRepo.save(any(Service.class))).thenReturn(TEST_MODIFIED_SERVICE1); doNothing().when(serviceRepo).delete(any(Service.class)); } diff --git a/src/test/java/edu/tamu/app/model/NoteTest.java b/src/test/java/edu/tamu/app/model/NoteTest.java index 361a15f..7a3166e 100644 --- a/src/test/java/edu/tamu/app/model/NoteTest.java +++ b/src/test/java/edu/tamu/app/model/NoteTest.java @@ -97,8 +97,8 @@ private Note refreshNote(Note note) { @Test public void testUpdateServices() { - Service service1 = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); - Service service2 = serviceRepo.create(TEST_ALTERNATIVE_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service1 = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); + Service service2 = serviceRepo.create(TEST_ALTERNATIVE_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); List serviceList1 = Arrays.asList(service1); List serviceList2 = Arrays.asList(service1, service2); Note note = noteRepo.create(TEST_NOTE_TITLE, testUser); diff --git a/src/test/java/edu/tamu/app/model/ServiceTest.java b/src/test/java/edu/tamu/app/model/ServiceTest.java index 6c5adf6..f70f260 100644 --- a/src/test/java/edu/tamu/app/model/ServiceTest.java +++ b/src/test/java/edu/tamu/app/model/ServiceTest.java @@ -59,28 +59,28 @@ public void setUp() { @Test public void testCreate() { long initalCount = serviceRepo.count(); - serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); assertEquals("The number of Services did not increase by one", initalCount + 1, serviceRepo.count()); } @Test(expected = DataIntegrityViolationException.class) public void testNameNotNull() { - serviceRepo.create(null, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + serviceRepo.create(null, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); } @Test(expected = DataIntegrityViolationException.class) public void testStatusNotNull() { - serviceRepo.create(TEST_SERVICE_NAME, null, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + serviceRepo.create(TEST_SERVICE_NAME, null, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); } @Test(expected = ConstraintViolationException.class) public void testNameNotEmpty() { - serviceRepo.create("", TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + serviceRepo.create("", TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); } @Test public void testUpdateName() { - Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); service.setName(TEST_ALTERNATIVE_SERVICE_NAME); service = refreshService(service); assertEquals("Service name was not changed", TEST_ALTERNATIVE_SERVICE_NAME, service.getName()); @@ -93,7 +93,7 @@ private Service refreshService(Service service) { @Test public void testUpdateAliases() { - Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); service.setAliases(TEST_SERVICE_ALIASES); service = refreshService(service); assertEquals("Service aliases not set", true, service.getAliases().contains("Alias 1")); @@ -104,7 +104,7 @@ public void testUpdateAliases() { @Test public void testUpdateStatus() { - Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); service.setStatus(TEST_ALTERNATIVE_SERVICE_STATUS); service = refreshService(service); assertEquals("Service status was not changed", TEST_ALTERNATIVE_SERVICE_STATUS, service.getStatus()); @@ -112,7 +112,7 @@ public void testUpdateStatus() { @Test public void testUpdateServiceUrl() { - Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); service.setServiceUrl(TEST_SERVICE_URL); service = refreshService(service); assertEquals("Service status url was not changed", TEST_SERVICE_URL, service.getServiceUrl()); @@ -124,7 +124,7 @@ public void testUpdateNotes() { Note note2 = noteRepo.create(TEST_NOTE_TITLE2, testUser); List noteList1 = Arrays.asList(note1); List noteList2 = Arrays.asList(note1, note2); - Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); service.setNotes(noteList1); service = refreshService(service); assertEquals("Service notes did not contain the right number of notes", 1, service.getNotes().size()); @@ -138,7 +138,7 @@ public void testUpdateNotes() { @Test public void testDelete() { long initialCount = serviceRepo.count(); - Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_ALTERNATIVE_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST); + Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_ALTERNATIVE_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null); assertEquals("The service was not created", initialCount + 1, serviceRepo.count()); serviceRepo.delete(service); assertEquals("The service was not deleted", initialCount, serviceRepo.count());