Skip to content
Snippets Groups Projects
Commit 3e09b2f7 authored by Jan Kožusznik's avatar Jan Kožusznik
Browse files

eng solution

parent 846e590d
No related merge requests found
Pipeline #109 failed with stages
in 0 seconds
...@@ -47,6 +47,20 @@ ...@@ -47,6 +47,20 @@
<artifactId>log4j-core</artifactId> <artifactId>log4j-core</artifactId>
<version>${log4j.version}</version> <version>${log4j.version}</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-rs-client -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>4.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-rt-rs-client -->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider -->
<dependency>
<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
<artifactId>jackson-jakarta-rs-json-provider</artifactId>
<version>2.14.2</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
package java2.lab12.client; package java2.lab12.client;
import jakarta.xml.bind.annotation.XmlRootElement;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@XmlRootElement
@ToString @ToString
public class Course { public class Course {
......
package java2.lab12.client;
import java.util.List;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.PUT;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
public interface CourseEndpoint {
@GET
@Path("/courses")
@Produces(MediaType.APPLICATION_JSON)
public List<Course> getCourses();
@PUT
@Path("/course")
@Consumes(MediaType.APPLICATION_JSON)
public void updateCourse(Course course);
@DELETE
@Path("/course/{id}")
@Produces(MediaType.APPLICATION_JSON)
public Course deleteCourse(@PathParam("id") Long id);
}
\ No newline at end of file
...@@ -2,6 +2,13 @@ package java2.lab12.client; ...@@ -2,6 +2,13 @@ package java2.lab12.client;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.jakarta.rs.json.JacksonXmlBindJsonProvider;
import javafx.application.Application; import javafx.application.Application;
import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.beans.property.ReadOnlyObjectWrapper;
...@@ -190,7 +197,7 @@ public class TableViewSample extends Application { ...@@ -190,7 +197,7 @@ public class TableViewSample extends Application {
} }
private Collection<Course> getCourses() { private Collection<Course> getCourses() {
return Collections.emptyList(); return getCourseClient().getCourses();
} }
private void createCourse(Course course) { private void createCourse(Course course) {
...@@ -198,10 +205,21 @@ public class TableViewSample extends Application { ...@@ -198,10 +205,21 @@ public class TableViewSample extends Application {
} }
private void updateCourse(Course course) { private void updateCourse(Course course) {
// TODO getCourseClient().updateCourse(course);
} }
private void removeCourse(Course course) { private void removeCourse(Course course) {
// TODO getCourseClient().deleteCourse(course.getId());
}
private CourseEndpoint getCourseClient() {
Map<String, Object> properties = new HashMap<>();
CourseEndpoint ce = JAXRSClientFactory.create("http://localhost:8080", CourseEndpoint.class, Collections.singletonList(
new JacksonXmlBindJsonProvider().disable(
SerializationFeature.WRAP_ROOT_VALUE).disable(
SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED)),
properties, true
);
return ce;
} }
} }
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment