Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 61dacfc

Browse filesBrowse files
committed
- Refatoração de pacotes
1 parent 088d17e commit 61dacfc
Copy full SHA for 61dacfc

File tree

Expand file treeCollapse file tree

11 files changed

+212
-16
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

11 files changed

+212
-16
lines changed
Open diff view settings
Collapse file

‎src/main/java/br/org/soujava/CmsApplication.java‎

Copy file name to clipboardExpand all lines: src/main/java/br/org/soujava/CmsApplication.java
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class CmsApplication extends Application {
4040
private static Undertow server;
4141

4242
public static void main(String[] args) throws Exception {
43+
startContainer(8080);
4344
launch(args);
4445
}
4546

@@ -68,7 +69,7 @@ public static void startContainer(int port) throws ServletException {
6869
DeploymentInfo servletBuilder = Servlets.deployment();
6970

7071
servletBuilder
71-
.setClassLoader(Application.class.getClassLoader())
72+
.setClassLoader(CmsApplication.class.getClassLoader())
7273
.setContextPath("/")
7374
.setDeploymentName("cms-soujava-site.war")
7475
.addListeners(listener(Listener.class))
@@ -78,7 +79,7 @@ public static void startContainer(int port) throws ServletException {
7879
.addMapping("/api/*"));
7980

8081
DeploymentManager manager = Servlets.defaultContainer().addDeployment(servletBuilder);
81-
manager.deploy();
82+
manager. deploy();
8283
PathHandler path = Handlers.path(Handlers.redirect("/"))
8384
.addPrefixPath("/", manager.start());
8485

Collapse file
+82Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package br.org.soujava.api.endpoint;
2+
3+
import java.net.URI;
4+
import java.net.URISyntaxException;
5+
import java.util.List;
6+
7+
import javax.inject.Inject;
8+
import javax.inject.Singleton;
9+
import javax.validation.constraints.NotNull;
10+
import javax.ws.rs.DELETE;
11+
import javax.ws.rs.GET;
12+
import javax.ws.rs.POST;
13+
import javax.ws.rs.PUT;
14+
import javax.ws.rs.Path;
15+
import javax.ws.rs.PathParam;
16+
import javax.ws.rs.Produces;
17+
import javax.ws.rs.core.Response;
18+
19+
import br.org.soujava.api.json.JsonMessage;
20+
import br.org.soujava.domain.Slide;
21+
import br.org.soujava.service.SlideService;
22+
import static javax.ws.rs.core.Response.created;
23+
import static javax.ws.rs.core.Response.ok;
24+
import static javax.ws.rs.core.Response.status;
25+
/**
26+
*
27+
* @author arruda
28+
*/
29+
@Produces("application/json")
30+
@Path("/slides")
31+
public class SlideEndpoint {
32+
33+
@Inject
34+
private SlideService slideService;
35+
36+
@GET
37+
public Response findAll(){
38+
final List<Slide> slides = slideService.findAll();
39+
return ok(JsonMessage.builder().data(slides).build()).build();
40+
}
41+
42+
@GET
43+
@Path("/{id}")
44+
public Response findById(@PathParam("id") @NotNull String id){
45+
final Slide slide = slideService.findbyId(id);
46+
47+
if(slide == null){
48+
return status(404).build();
49+
}
50+
51+
return ok(JsonMessage.builder().data(slide).build()).build();
52+
}
53+
54+
@POST
55+
public Response create(@NotNull Slide slide) throws URISyntaxException {
56+
57+
slideService.save(slide);
58+
59+
return created(new URI("/api/slides/" + slide.getId())).entity(JsonMessage.builder().data(slide).build()).build();
60+
}
61+
62+
@PUT
63+
@Path("/{id}")
64+
public Response update(@NotNull Slide slide, @PathParam("id") @NotNull String id) throws URISyntaxException {
65+
66+
slide.setId(id);
67+
68+
slideService.update(slide);
69+
70+
return ok(JsonMessage.builder().data(slide).build()).build();
71+
}
72+
73+
@DELETE
74+
@Path("/{id}")
75+
public Response delete(@PathParam("id") @NotNull String id) throws URISyntaxException {
76+
77+
slideService.delete(id);
78+
79+
return ok(JsonMessage.builder().build()).build();
80+
}
81+
82+
}
Collapse file
+22Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package br.org.soujava.api.json;
2+
3+
import java.io.Serializable;
4+
5+
import lombok.Builder;
6+
import lombok.Data;
7+
8+
/**
9+
* Json Error
10+
*
11+
* @author Fernando Arruda - <progfer@gmail.com>
12+
*
13+
*/
14+
@Builder
15+
@Data
16+
public class JsonError implements Serializable{
17+
18+
private String code;
19+
20+
private String message;
21+
22+
}
Collapse file
+19Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package br.org.soujava.api.json;
2+
3+
import lombok.Builder;
4+
import lombok.Data;
5+
6+
/**
7+
* JSON Message
8+
*
9+
* @author Fernando Arruda - <progfer@gmail.com>
10+
*
11+
* @param <T>
12+
*/
13+
@Data
14+
@Builder
15+
public class JsonMessage<T> {
16+
17+
private T data;
18+
19+
}
Collapse file
+28Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package br.org.soujava.api.mapper;
2+
3+
import javax.validation.ConstraintViolationException;
4+
import javax.ws.rs.core.Response;
5+
import javax.ws.rs.ext.ExceptionMapper;
6+
import javax.ws.rs.ext.Provider;
7+
8+
import br.org.soujava.api.json.JsonError;
9+
import br.org.soujava.api.json.JsonMessage;
10+
11+
/**
12+
* @author Gabriel Francisco - gabfssilva@gmail.com
13+
*/
14+
@Provider
15+
public class ConstraintViolationExceptionMapper implements ExceptionMapper<ConstraintViolationException> {
16+
@Override
17+
public Response toResponse(ConstraintViolationException exception) {
18+
19+
StringBuilder stringBuilder = new StringBuilder("Validation error: ");
20+
21+
exception.getConstraintViolations().stream().forEach(e -> stringBuilder.append(e.getMessage()).append(", "));
22+
stringBuilder.replace(stringBuilder.lastIndexOf(", "), stringBuilder.length(), "");
23+
24+
return Response.status(400)
25+
.entity(JsonMessage.builder().data(JsonError.builder().message(stringBuilder.toString()).build()))
26+
.build();
27+
}
28+
}
Collapse file

‎…egration/jersey/ObjectMapperFactory.java‎ ‎…va/api/provider/ObjectMapperFactory.java‎src/main/java/br/org/soujava/integration/jersey/ObjectMapperFactory.java renamed to src/main/java/br/org/soujava/api/provider/ObjectMapperFactory.java src/main/java/br/org/soujava/integration/jersey/ObjectMapperFactory.java renamed to src/main/java/br/org/soujava/api/provider/ObjectMapperFactory.java

Copy file name to clipboardExpand all lines: src/main/java/br/org/soujava/api/provider/ObjectMapperFactory.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package br.org.soujava.integration.jersey;
1+
package br.org.soujava.api.provider;
22

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.fasterxml.jackson.databind.DeserializationFeature;
Collapse file

‎src/main/java/br/org/soujava/domain/Slide.java‎

Copy file name to clipboardExpand all lines: src/main/java/br/org/soujava/domain/Slide.java
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package br.org.soujava.domain;
22

3+
import java.io.Serializable;
4+
35
import lombok.Builder;
46
import lombok.Data;
57

@@ -11,7 +13,7 @@
1113
*/
1214
@Data
1315
@Builder
14-
public class Slide {
16+
public class Slide implements Serializable{
1517

1618
private String id;
1719
private String title;
Collapse file

‎src/main/java/br/org/soujava/integration/jersey/JerseyApp.java‎

Copy file name to clipboardExpand all lines: src/main/java/br/org/soujava/integration/jersey/JerseyApp.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
@ApplicationPath("/api/*")
88
public class JerseyApp extends ResourceConfig {
99
public JerseyApp() {
10-
packages(true, "com.thedevpiece.mss.api");
10+
packages(true, "br.org.soujava");
1111
}
1212
}
Collapse file

‎…a/api/producers/ApplicationProducer.java‎ ‎…oujava/producer/ApplicationProducer.java‎src/main/java/br/org/soujava/api/producers/ApplicationProducer.java renamed to src/main/java/br/org/soujava/producer/ApplicationProducer.java src/main/java/br/org/soujava/api/producers/ApplicationProducer.java renamed to src/main/java/br/org/soujava/producer/ApplicationProducer.java

Copy file name to clipboardExpand all lines: src/main/java/br/org/soujava/producer/ApplicationProducer.java
+13-11Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,12 @@
1-
package br.org.soujava.api.producers;
1+
package br.org.soujava.producer;
22

3-
import java.io.IOException;
4-
import java.util.HashMap;
5-
import java.util.Map;
6-
import java.util.ResourceBundle;
7-
8-
import javax.enterprise.context.ApplicationScoped;
93
import javax.enterprise.inject.Produces;
10-
import javax.enterprise.inject.spi.InjectionPoint;
11-
12-
import org.glassfish.jersey.internal.util.Property;
134

145
import com.fasterxml.jackson.databind.ObjectMapper;
156

16-
import br.org.soujava.integration.jersey.ObjectMapperFactory;
7+
import br.org.soujava.api.provider.ObjectMapperFactory;
8+
import br.org.soujava.integration.firebase.FirebaseDataBaseClient;
9+
import br.org.soujava.service.SlideService;
1710

1811
/**
1912
* @author Gabriel Francisco - gabfssilva@gmail.com
@@ -25,6 +18,15 @@ public ObjectMapper objectMapper() {
2518
return ObjectMapperFactory.get();
2619
}
2720

21+
@Produces
22+
public FirebaseDataBaseClient firebaseDataBaseClient(){
23+
return new FirebaseDataBaseClient();
24+
}
25+
26+
@Produces
27+
public SlideService slideService(){
28+
return new SlideService();
29+
}
2830

2931
// @Produces
3032
// @Property(value = "")
Collapse file

‎src/main/java/br/org/soujava/service/SlideService.java‎

Copy file name to clipboardExpand all lines: src/main/java/br/org/soujava/service/SlideService.java
+37Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,47 @@
66
*
77
*/
88

9+
import java.util.ArrayList;
10+
import java.util.HashMap;
11+
import java.util.List;
12+
import java.util.Map;
13+
14+
import javax.inject.Inject;
15+
16+
import br.org.soujava.domain.Slide;
917
import br.org.soujava.integration.firebase.FirebaseDataBaseClient;
1018

19+
/**
20+
* Slide Services
21+
*
22+
* @author arruda
23+
*
24+
*/
1125
public class SlideService {
1226

27+
@Inject
1328
private FirebaseDataBaseClient firebaseDataBaseClient;
1429

30+
private Map<String, Slide> map = new HashMap<>();
31+
32+
public List<Slide> findAll(){
33+
return new ArrayList<>(map.values());
34+
}
35+
36+
public Slide findbyId(String id){
37+
return map.get(id);
38+
}
39+
40+
public void save(Slide slide){
41+
map.put(slide.getId(), slide);
42+
}
43+
44+
public void update(Slide slide){
45+
map.put(slide.getId(), slide);
46+
}
47+
48+
public void delete(String id){
49+
map.remove(id);
50+
}
51+
1552
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.