From aeacdb76ad10655491ce8d0ae304ac8fd6d411a7 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Fri, 18 Sep 2020 11:20:20 -0500 Subject: [PATCH 1/4] Issue 115: Cleanup ServiceType Scaffolding There is no longer a settings array. The username/password do not exist anymore. The URL and token are now directly on the model. --- .../RemoteProjectManagerController.java | 7 ------- .../java/edu/tamu/app/model/ServiceType.java | 21 ------------------- .../RemoteProjectManagerControllerTest.java | 6 ------ 3 files changed, 34 deletions(-) diff --git a/src/main/java/edu/tamu/app/controller/RemoteProjectManagerController.java b/src/main/java/edu/tamu/app/controller/RemoteProjectManagerController.java index c6ca7012..696e2e5f 100644 --- a/src/main/java/edu/tamu/app/controller/RemoteProjectManagerController.java +++ b/src/main/java/edu/tamu/app/controller/RemoteProjectManagerController.java @@ -76,11 +76,4 @@ public ApiResponse deleteRemoteProjectManager(@WeaverValidatedModel RemoteProjec public ApiResponse getTypes() { return new ApiResponse(SUCCESS, ServiceType.map()); } - - @GetMapping("/scaffolding/{type}") - @PreAuthorize("hasRole('USER')") - public ApiResponse getTypeScaffolding(@PathVariable String type) { - ServiceType serviceType = ServiceType.valueOf(type); - return new ApiResponse(SUCCESS, serviceType.getScaffold()); - } } \ No newline at end of file diff --git a/src/main/java/edu/tamu/app/model/ServiceType.java b/src/main/java/edu/tamu/app/model/ServiceType.java index a0130dac..e1c3db76 100644 --- a/src/main/java/edu/tamu/app/model/ServiceType.java +++ b/src/main/java/edu/tamu/app/model/ServiceType.java @@ -19,7 +19,6 @@ public enum ServiceType { Map m = new HashMap(); m.put("value", type.toString()); m.put("gloss", type.gloss); - m.put("scaffold", type.getScaffold()); list.add(m); } } @@ -36,26 +35,6 @@ public void setGloss(String gloss) { this.gloss = gloss; } - public List getScaffold() { - List scaffold = new ArrayList(); - switch (this) { - case GITHUB: - scaffold.add(new Setting("text", "url", "URL", true)); - scaffold.add(new Setting("password", "token", "Token", false)); - break; - case VERSION_ONE: - scaffold.add(new Setting("text", "url", "URL", true)); - scaffold.add(new Setting("text", "username", "Username", false)); - scaffold.add(new Setting("password", "password", "Password", false)); - scaffold.add(new Setting("password", "token", "Token", false)); - break; - default: - break; - - } - return scaffold; - } - public static List> map() { return list; } diff --git a/src/test/java/edu/tamu/app/controller/RemoteProjectManagerControllerTest.java b/src/test/java/edu/tamu/app/controller/RemoteProjectManagerControllerTest.java index 509a774d..4a733d13 100644 --- a/src/test/java/edu/tamu/app/controller/RemoteProjectManagerControllerTest.java +++ b/src/test/java/edu/tamu/app/controller/RemoteProjectManagerControllerTest.java @@ -136,10 +136,4 @@ public void testGetTypes() { assertEquals("Not successful at getting service types", SUCCESS, response.getMeta().getStatus()); } - @Test - public void testGetScaffolding() { - ApiResponse response = remoteProjectManagerController.getTypeScaffolding(ServiceType.VERSION_ONE.toString()); - assertEquals("Not successful at getting scaffolding", SUCCESS, response.getMeta().getStatus()); - } - } From 49a1ea27aa4353943250041745a827518616ba72 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Fri, 18 Sep 2020 15:35:35 -0500 Subject: [PATCH 2/4] Issue 111: NULL Pointer exceptions on startup The boolean logic is reversed, resulting in the NULL pointer exception on startup. This also seems to prevent the cache from working after startup for existing Remote Projects. (Newly created Remote Projects will cache properly.) Also change the logic to use nested if conditions instead of `return` appears to solve the problem. --- .../java/edu/tamu/app/ProjectInitialization.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/edu/tamu/app/ProjectInitialization.java b/src/main/java/edu/tamu/app/ProjectInitialization.java index 0247aab6..d8f5bc40 100644 --- a/src/main/java/edu/tamu/app/ProjectInitialization.java +++ b/src/main/java/edu/tamu/app/ProjectInitialization.java @@ -30,15 +30,11 @@ public class ProjectInitialization implements CommandLineRunner { @Override public void run(String... args) throws Exception { remoteProjectManagerRepo.findAll().forEach(versionManagementSoftware -> { - if (Optional.ofNullable( versionManagementSoftware.getUrl()).isPresent()) { - return; + if (Optional.ofNullable(versionManagementSoftware.getUrl()).isPresent()) { + if (Optional.ofNullable(versionManagementSoftware.getToken()).isPresent()) { + managementBeanRegistry.register(versionManagementSoftware); + } } - - if (Optional.ofNullable( versionManagementSoftware.getToken()).isPresent()) { - return; - } - - managementBeanRegistry.register(versionManagementSoftware); }); CardType type = cardTypeRepo.findByIdentifier("Feature"); HashSet featureTypes = new HashSet(Arrays.asList(new String[] { "Story", "feature" })); From 70599034843aa96eb796fe1133f9c4d210c2a2f6 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Fri, 18 Sep 2020 16:30:35 -0500 Subject: [PATCH 3/4] Use StringUtils.isNotEmpty() over Optional.ofNullable() This also handles empty strings. --- src/main/java/edu/tamu/app/ProjectInitialization.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/edu/tamu/app/ProjectInitialization.java b/src/main/java/edu/tamu/app/ProjectInitialization.java index d8f5bc40..85a85d83 100644 --- a/src/main/java/edu/tamu/app/ProjectInitialization.java +++ b/src/main/java/edu/tamu/app/ProjectInitialization.java @@ -4,6 +4,7 @@ import java.util.HashSet; import java.util.Optional; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.context.annotation.Profile; @@ -30,8 +31,8 @@ public class ProjectInitialization implements CommandLineRunner { @Override public void run(String... args) throws Exception { remoteProjectManagerRepo.findAll().forEach(versionManagementSoftware -> { - if (Optional.ofNullable(versionManagementSoftware.getUrl()).isPresent()) { - if (Optional.ofNullable(versionManagementSoftware.getToken()).isPresent()) { + if (StringUtils.isNotEmpty(versionManagementSoftware.getUrl())) { + if (StringUtils.isNotEmpty(versionManagementSoftware.getToken())) { managementBeanRegistry.register(versionManagementSoftware); } } From 9b344ea9ff4cb3b48e5b551d8c874bee0bbd6ab3 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Mon, 21 Sep 2020 08:35:28 -0500 Subject: [PATCH 4/4] Remove unused include. --- src/main/java/edu/tamu/app/ProjectInitialization.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/edu/tamu/app/ProjectInitialization.java b/src/main/java/edu/tamu/app/ProjectInitialization.java index 85a85d83..acd22abb 100644 --- a/src/main/java/edu/tamu/app/ProjectInitialization.java +++ b/src/main/java/edu/tamu/app/ProjectInitialization.java @@ -2,7 +2,6 @@ import java.util.Arrays; import java.util.HashSet; -import java.util.Optional; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired;