Skip to content

Commit 71223d8

Browse files
authored
Merge pull request #12 from TAMULib/sprint2-b03250-service-detail-view
Sprint2 b03250 service detail view
2 parents 19a8f70 + 34e06c2 commit 71223d8

9 files changed

Lines changed: 47 additions & 22 deletions

File tree

src/main/java/edu/tamu/app/controller/ServiceController.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import edu.tamu.app.model.Service;
1515
import edu.tamu.app.model.repo.ServiceRepo;
16+
import edu.tamu.app.service.SystemMonitorService;
1617
import edu.tamu.framework.aspect.annotation.ApiMapping;
1718
import edu.tamu.framework.aspect.annotation.ApiValidatedModel;
1819
import edu.tamu.framework.aspect.annotation.ApiValidation;
@@ -29,6 +30,9 @@ public class ServiceController {
2930

3031
@Autowired
3132
private ServiceRepo serviceRepo;
33+
34+
@Autowired
35+
private SystemMonitorService systemMonitorService;
3236

3337
@ApiMapping("/all")
3438
@Auth(role="ROLE_ANONYMOUS")
@@ -53,8 +57,9 @@ public ApiResponse getService(@ApiVariable Long id) {
5357
@Auth(role = "ROLE_SERVICE_MANAGER")
5458
@ApiValidation(business = { @ApiValidation.Business(value = CREATE), @ApiValidation.Business(value = EXISTS) })
5559
public ApiResponse createService(@ApiValidatedModel Service service) {
56-
service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsAuto(), service.getIsPublic(), service.getOnShortList(), service.getServiceUrl());
60+
service = serviceRepo.create(service.getName(), service.getStatus(), service.getIsAuto(), service.getIsPublic(), service.getOnShortList(), service.getServiceUrl(), service.getDescription());
5761
simpMessagingTemplate.convertAndSend("/channel/service", new ApiResponse(SUCCESS, serviceRepo.findAll()));
62+
systemMonitorService.updateAll();
5863
return new ApiResponse(SUCCESS, service);
5964
}
6065

@@ -64,6 +69,7 @@ public ApiResponse createService(@ApiValidatedModel Service service) {
6469
public ApiResponse updateService(@ApiValidatedModel Service service) {
6570
service = serviceRepo.save(service);
6671
simpMessagingTemplate.convertAndSend("/channel/service/" + service.getId(), new ApiResponse(SUCCESS, service));
72+
systemMonitorService.updateAll();
6773
return new ApiResponse(SUCCESS, service);
6874
}
6975

src/main/java/edu/tamu/app/model/Note.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import javax.persistence.Column;
1010
import javax.persistence.Entity;
1111
import javax.persistence.JoinColumn;
12+
import javax.persistence.Lob;
1213
import javax.persistence.ManyToOne;
1314
import javax.persistence.Temporal;
1415
import javax.persistence.TemporalType;
@@ -32,6 +33,7 @@ public class Note extends BaseEntity {
3233

3334
private NoteType noteType;
3435

36+
@Lob
3537
private String body;
3638

3739
@Temporal(TemporalType.DATE)

src/main/java/edu/tamu/app/model/Service.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import javax.persistence.Column;
1313
import javax.persistence.ElementCollection;
1414
import javax.persistence.Entity;
15+
import javax.persistence.Lob;
1516
import javax.persistence.OneToMany;
1617
import javax.validation.constraints.Size;
1718

@@ -55,6 +56,10 @@ public class Service extends BaseEntity {
5556

5657
@Column(nullable = false)
5758
private Boolean onShortList;
59+
60+
@Lob
61+
@Column(nullable = true)
62+
private String description;
5863

5964
@OneToMany(fetch = EAGER, cascade = { REFRESH, REMOVE }, mappedBy = "service")
6065
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, scope = Note.class, property = "id")
@@ -67,14 +72,15 @@ public Service() {
6772
setAliases(new ArrayList<String>());
6873
}
6974

70-
public Service(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl) {
75+
public Service(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl, String description) {
7176
this();
7277
setName(name);
7378
setStatus(status);
7479
setIsAuto(isAuto);
7580
setIsPublic(isPublic);
7681
setOnShortList(onShortList);
7782
setServiceUrl(serviceUrl);
83+
setDescription(description);
7884
}
7985

8086
public String getName() {
@@ -148,4 +154,12 @@ public Boolean getOnShortList() {
148154
public void setOnShortList(Boolean onShortList) {
149155
this.onShortList = onShortList;
150156
}
157+
158+
public String getDescription() {
159+
return description;
160+
}
161+
162+
public void setDescription(String description) {
163+
this.description = description;
164+
}
151165
}

src/main/java/edu/tamu/app/model/repo/custom/ServiceRepoCustom.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55

66
public interface ServiceRepoCustom {
77

8-
public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl);
8+
public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl, String description);
99
}

src/main/java/edu/tamu/app/model/repo/impl/ServiceRepoImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public class ServiceRepoImpl implements ServiceRepoCustom {
1313
private ServiceRepo serviceRepo;
1414

1515
@Override
16-
public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl) {
17-
return serviceRepo.save(new Service(name, status, isAuto, isPublic, onShortList, serviceUrl));
16+
public Service create(String name, Status status, Boolean isAuto, Boolean isPublic, Boolean onShortList, String serviceUrl, String description) {
17+
return serviceRepo.save(new Service(name, status, isAuto, isPublic, onShortList, serviceUrl, description));
1818
}
1919

2020
}

src/main/resources/config/application.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ app.reporting.address: report@mailinator.com
5454
# required in framework
5555
app.model.packages: edu.tamu.app.model
5656

57-
app.authority.admins: 123456789, 990000081, 523008230, 512004707
57+
app.authority.admins: 123456789, 990000081, 523008230, 512004707, 613001223
5858

5959
app.ui.host: http://localhost/status-system
6060

src/test/java/controller/ServiceControllerTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ public class ServiceControllerTest {
4141
protected static final Boolean TEST_ON_SHORT_LIST = true;
4242
protected static final Boolean TEST_NOT_ON_SHORT_LIST = false;
4343

44-
protected static Service TEST_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, "");
45-
protected static Service TEST_SERVICE2 = new Service(TEST_SERVICE2_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_ON_SHORT_LIST, "");
46-
protected static Service TEST_SERVICE3 = new Service(TEST_SERVICE3_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_NOT_ON_SHORT_LIST, "");
47-
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, "");
44+
protected static Service TEST_SERVICE1 = new Service(TEST_SERVICE1_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, "", "");
45+
protected static Service TEST_SERVICE2 = new Service(TEST_SERVICE2_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_NOT_PUBLIC, TEST_ON_SHORT_LIST, "", "");
46+
protected static Service TEST_SERVICE3 = new Service(TEST_SERVICE3_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_NOT_ON_SHORT_LIST, "", "");
47+
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, "", "");
4848
protected static List<Service> mockServiceList = new ArrayList<Service>(Arrays.asList(new Service[] { TEST_SERVICE1, TEST_SERVICE2,TEST_SERVICE3 }));
4949
protected static List<Service> mockPublicServiceList = new ArrayList<Service>(Arrays.asList(new Service[] { TEST_SERVICE1, TEST_SERVICE3 }));
5050

@@ -65,7 +65,7 @@ public void setUp() {
6565
when(serviceRepo.findAll()).thenReturn(mockServiceList);
6666
when(serviceRepo.findByIsPublic(true)).thenReturn(mockPublicServiceList);
6767
when(serviceRepo.findOne(any(Long.class))).thenReturn(TEST_SERVICE1);
68-
when(serviceRepo.create(any(String.class), any(Status.class), any(Boolean.class), any(Boolean.class), any(Boolean.class), any(String.class))).thenReturn(TEST_SERVICE1);
68+
when(serviceRepo.create(any(String.class), any(Status.class), any(Boolean.class), any(Boolean.class), any(Boolean.class), any(String.class), any(String.class))).thenReturn(TEST_SERVICE1);
6969
when(serviceRepo.save(any(Service.class))).thenReturn(TEST_MODIFIED_SERVICE1);
7070
doNothing().when(serviceRepo).delete(any(Service.class));
7171
}

src/test/java/edu/tamu/app/model/NoteTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
public class NoteTest {
3535

3636
protected static final String TEST_NOTE_TITLE = "Note Title";
37+
protected static final String TEST_SERVICE_URL = "https://library.tamu.edu";
38+
protected static final String TEST_DESCRIPTION = "Test Service Description";
3739
protected static final String TEST_ALTERNATIVE_NOTE_TITLE = "Alternative Note Title";
3840
protected static final String TEST_SERVICE_NAME = "Test Service Name";
3941
protected static final String TEST_ALTERNATIVE_SERVICE_NAME = "Different Service Name";
@@ -70,8 +72,8 @@ public class NoteTest {
7072
@Before
7173
public void setUp() {
7274
testUser = appUserRepo.create(TEST_CREDENTIALS.getUin());
73-
service1 = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
74-
service2 = serviceRepo.create(TEST_ALTERNATIVE_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
75+
service1 = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
76+
service2 = serviceRepo.create(TEST_ALTERNATIVE_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
7577
testNote = noteRepo.create(new Note(TEST_NOTE_TITLE, testUser, TEST_NOTE_TYPE, TEST_NOTE_BODY, service1), TEST_CREDENTIALS);
7678
}
7779

src/test/java/edu/tamu/app/model/ServiceTest.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public class ServiceTest {
3030

3131
protected static final String TEST_SERVICE_NAME = "Test Service Name";
3232
protected static final String TEST_SERVICE_URL = "https://library.tamu.edu";
33+
protected static final String TEST_DESCRIPTION = "Test Service Description";
3334
protected static final Status TEST_SERVICE_STATUS = Status.UP;
3435
protected static final List<String> TEST_SERVICE_ALIASES = Arrays.asList("Alias 1", "Alias 2", "Alias 3");
3536
protected static final String TEST_NOTE_TITLE1 = "Note 1";
@@ -59,28 +60,28 @@ public void setUp() {
5960
@Test
6061
public void testCreate() {
6162
long initalCount = serviceRepo.count();
62-
serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
63+
serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
6364
assertEquals("The number of Services did not increase by one", initalCount + 1, serviceRepo.count());
6465
}
6566

6667
@Test(expected = DataIntegrityViolationException.class)
6768
public void testNameNotNull() {
68-
serviceRepo.create(null, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
69+
serviceRepo.create(null, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
6970
}
7071

7172
@Test(expected = DataIntegrityViolationException.class)
7273
public void testStatusNotNull() {
73-
serviceRepo.create(TEST_SERVICE_NAME, null, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
74+
serviceRepo.create(TEST_SERVICE_NAME, null, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
7475
}
7576

7677
@Test(expected = ConstraintViolationException.class)
7778
public void testNameNotEmpty() {
78-
serviceRepo.create("", TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
79+
serviceRepo.create("", TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
7980
}
8081

8182
@Test
8283
public void testUpdateName() {
83-
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
84+
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
8485
service.setName(TEST_ALTERNATIVE_SERVICE_NAME);
8586
service = refreshService(service);
8687
assertEquals("Service name was not changed", TEST_ALTERNATIVE_SERVICE_NAME, service.getName());
@@ -93,7 +94,7 @@ private Service refreshService(Service service) {
9394

9495
@Test
9596
public void testUpdateAliases() {
96-
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
97+
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
9798
service.setAliases(TEST_SERVICE_ALIASES);
9899
service = refreshService(service);
99100
assertEquals("Service aliases not set", true, service.getAliases().contains("Alias 1"));
@@ -104,15 +105,15 @@ public void testUpdateAliases() {
104105

105106
@Test
106107
public void testUpdateStatus() {
107-
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
108+
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
108109
service.setStatus(TEST_ALTERNATIVE_SERVICE_STATUS);
109110
service = refreshService(service);
110111
assertEquals("Service status was not changed", TEST_ALTERNATIVE_SERVICE_STATUS, service.getStatus());
111112
}
112113

113114
@Test
114115
public void testUpdateServiceUrl() {
115-
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
116+
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
116117
service.setServiceUrl(TEST_SERVICE_URL);
117118
service = refreshService(service);
118119
assertEquals("Service status url was not changed", TEST_SERVICE_URL, service.getServiceUrl());
@@ -138,7 +139,7 @@ public void testUpdateServiceUrl() {
138139
@Test
139140
public void testDelete() {
140141
long initialCount = serviceRepo.count();
141-
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_ALTERNATIVE_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, null);
142+
Service service = serviceRepo.create(TEST_SERVICE_NAME, TEST_ALTERNATIVE_SERVICE_STATUS, TEST_IS_AUTO, TEST_IS_PUBLIC, TEST_ON_SHORT_LIST, TEST_SERVICE_URL, TEST_DESCRIPTION);
142143
assertEquals("The service was not created", initialCount + 1, serviceRepo.count());
143144
serviceRepo.delete(service);
144145
assertEquals("The service was not deleted", initialCount, serviceRepo.count());

0 commit comments

Comments
 (0)