Skip to content

Commit dc45374

Browse files
authored
Merge pull request #63 from TAMULib/sprint6-b03632-feature_proposal-enum
Sprint6 B-03632 feature proposal enum
2 parents a5145f6 + 8ed9eaf commit dc45374

3 files changed

Lines changed: 17 additions & 7 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package edu.tamu.app.enums;
2+
3+
public enum FeatureProposalState {
4+
IN_PROGRESS, ACTIVE, SUBMITTED, ON_HOLD, REJECTED;
5+
}

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import javax.persistence.CascadeType;
1111
import javax.persistence.Column;
1212
import javax.persistence.Entity;
13+
import javax.persistence.EnumType;
14+
import javax.persistence.Enumerated;
1315
import javax.persistence.JoinTable;
1416
import javax.persistence.ManyToMany;
1517
import javax.persistence.UniqueConstraint;
@@ -21,6 +23,7 @@
2123
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
2224
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
2325

26+
import edu.tamu.app.enums.FeatureProposalState;
2427
import edu.tamu.app.model.validation.FeatureProposalValidator;
2528

2629
@Entity
@@ -39,8 +42,9 @@ public class FeatureProposal extends AbstractIdea {
3942
@Fetch(value = SELECT)
4043
private List<User> voters;
4144

45+
@Enumerated(EnumType.STRING)
4246
@Column(nullable = false)
43-
private boolean submitted;
47+
private FeatureProposalState state;
4448

4549
public FeatureProposal() {
4650
super();
@@ -72,7 +76,7 @@ public FeatureProposal(Idea idea) {
7276
private void setup() {
7377
this.ideas = new ArrayList<Idea>();
7478
this.voters = new ArrayList<User>();
75-
this.submitted = false;
79+
this.state = FeatureProposalState.IN_PROGRESS;
7680
}
7781

7882
public List<Idea> getIdeas() {
@@ -126,12 +130,12 @@ public int getVotes() {
126130
return this.voters.size();
127131
}
128132

129-
public boolean isSubmitted() {
130-
return submitted;
133+
public FeatureProposalState getState() {
134+
return state;
131135
}
132136

133-
public void setSubmitted(boolean submitted) {
134-
this.submitted = submitted;
137+
public void setState(FeatureProposalState state) {
138+
this.state = state;
135139
}
136140

137141
}

src/main/java/edu/tamu/app/service/ProjectService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.fasterxml.jackson.databind.JsonMappingException;
1717
import com.fasterxml.jackson.databind.ObjectMapper;
1818

19+
import edu.tamu.app.enums.FeatureProposalState;
1920
import edu.tamu.app.model.FeatureProposal;
2021
import edu.tamu.app.model.repo.FeatureProposalRepo;
2122
import edu.tamu.app.model.request.FeatureRequest;
@@ -52,7 +53,7 @@ public ApiResponse getById(Long id) throws JsonParseException, JsonMappingExcept
5253
public ApiResponse submitFeatureRequest(FeatureProposal proposal) {
5354
ApiResponse response = restTemplate.postForObject(projectsUrl + "/feature", new FeatureRequest(proposal), ApiResponse.class);
5455
if (response.getMeta().getStatus().equals(ApiStatus.SUCCESS)) {
55-
proposal.setSubmitted(true);
56+
proposal.setState(FeatureProposalState.SUBMITTED);
5657
proposal = featureProposalRepo.save(proposal);
5758
simpMessagingTemplate.convertAndSend("/channel/feature-proposals/update", new ApiResponse(SUCCESS, proposal));
5859
}

0 commit comments

Comments
 (0)