diff --git a/.gradle/6.7/executionHistory/executionHistory.bin b/.gradle/6.7/executionHistory/executionHistory.bin index 201361c6a1762290b41e2a5cef98afdc4129b718..efa6e64c78947747be54a9413453f9ead2da33ab 100644 Binary files a/.gradle/6.7/executionHistory/executionHistory.bin and b/.gradle/6.7/executionHistory/executionHistory.bin differ diff --git a/.gradle/6.7/executionHistory/executionHistory.lock b/.gradle/6.7/executionHistory/executionHistory.lock index 8922de511201ffc75e93ac56b55d32d38aa667ca..69f85cec04192320f275652e86af5bf8a4e00078 100644 Binary files a/.gradle/6.7/executionHistory/executionHistory.lock and b/.gradle/6.7/executionHistory/executionHistory.lock differ diff --git a/.gradle/6.7/fileHashes/fileHashes.bin b/.gradle/6.7/fileHashes/fileHashes.bin index 4819ac0b1eeedf1645094c5922e5dfade5f8ef03..670085fdf3290cee3e745ec2d59ca05c882c3de9 100644 Binary files a/.gradle/6.7/fileHashes/fileHashes.bin and b/.gradle/6.7/fileHashes/fileHashes.bin differ diff --git a/.gradle/6.7/fileHashes/fileHashes.lock b/.gradle/6.7/fileHashes/fileHashes.lock index 702e23c3a720eaa9f792e998ebe05685cc168cfc..7c44a53cf93666a1e1c1adc5a64536d28df6c64e 100644 Binary files a/.gradle/6.7/fileHashes/fileHashes.lock and b/.gradle/6.7/fileHashes/fileHashes.lock differ diff --git a/.gradle/6.7/javaCompile/classAnalysis.bin b/.gradle/6.7/javaCompile/classAnalysis.bin index 86b4ea4ef755bf0a921ece6e157db3c9096db808..ab26e5bc13ac096be3b3b8e4c17fae1dc40e6eda 100644 Binary files a/.gradle/6.7/javaCompile/classAnalysis.bin and b/.gradle/6.7/javaCompile/classAnalysis.bin differ diff --git a/.gradle/6.7/javaCompile/javaCompile.lock b/.gradle/6.7/javaCompile/javaCompile.lock index 02425d0781ae24f80fc0d9879c79eb0725cf62b4..c70a65db9790515d60bcf5299225a3061b73bfab 100644 Binary files a/.gradle/6.7/javaCompile/javaCompile.lock and b/.gradle/6.7/javaCompile/javaCompile.lock differ diff --git a/.gradle/6.7/javaCompile/taskHistory.bin b/.gradle/6.7/javaCompile/taskHistory.bin index 5bb48a809e78cd960cb67ad97dc9f6a8738f9e0a..91e3d1e160bee0854f58ad97bc7780226aeca819 100644 Binary files a/.gradle/6.7/javaCompile/taskHistory.bin and b/.gradle/6.7/javaCompile/taskHistory.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 551020eecef0e4d48248c9479a94b8c8143ec5dc..291682f6a0dcd40fe8073e4dd37e7dfbb513c6dc 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 6aaa579f2e7eeaddf45cdfbeb86b1717efe44498..d08e3f4368133aa4f6b93390e4df19d21584032f 100644 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/checksums/checksums.lock b/.gradle/checksums/checksums.lock index 23c693bc9bdee719d057e7b270854f4d62144b06..ee53908d2d2cb3d85c0b9ef31fb1516c4aafe139 100644 Binary files a/.gradle/checksums/checksums.lock and b/.gradle/checksums/checksums.lock differ diff --git a/build.gradle b/build.gradle index 3bd8f5a8bc2d7f90c1f7931a5b2c668b8ce893e5..6ca3c26eaaf6b45f98ca96eac5a38eeeff964cf9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,55 +1,24 @@ plugins { - id "java" - id "war" // for REST + id 'java' + id 'org.springframework.boot' version '2.4.0' + id 'io.spring.dependency-management' version '1.0.15.RELEASE' } -group 'org.example' -version '1.0-SNAPSHOT' +group = 'org.example' +version = '1.0-SNAPSHOT' +sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' - - compile 'com.google.code.gson:gson:2.7' - - // REST Dependencies - // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl - compile group: 'org.codehaus.jackson', name: 'jackson-core-asl', version: '1.9.2' - // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-jaxrs - compile group: 'org.codehaus.jackson', name: 'jackson-jaxrs', version: '1.9.2' - // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl - compile group: 'org.codehaus.jackson', name: 'jackson-mapper-asl', version: '1.9.2' - // https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-xc - compile group: 'org.codehaus.jackson', name: 'jackson-xc', version: '1.9.2' - // https://mvnrepository.com/artifact/com.sun.jersey/jersey-client - compile group: 'com.sun.jersey', name: 'jersey-client', version: '1.19.1' - // https://mvnrepository.com/artifact/com.sun.jersey/jersey-core - compile group: 'com.sun.jersey', name: 'jersey-core', version: '1.19.1' - // https://mvnrepository.com/artifact/com.sun.jersey/jersey-json - compile group: 'com.sun.jersey', name: 'jersey-json', version: '1.19.1' - // https://mvnrepository.com/artifact/com.sun.jersey/jersey-server - compile group: 'com.sun.jersey', name: 'jersey-server', version: '1.19.1' - // https://mvnrepository.com/artifact/com.sun.jersey/jersey-servlet - compile group: 'com.sun.jersey', name: 'jersey-servlet', version: '1.19.1' - // https://mvnrepository.com/artifact/org.codehaus.jettison/jettison - compile group: 'org.codehaus.jettison', name: 'jettison', version: '1.1' - // https://mvnrepository.com/artifact/javax.ws.rs/jsr311-api - compile group: 'javax.ws.rs', name: 'jsr311-api', version: '1.1.1' - // https://mvnrepository.com/artifact/com.sun.jersey/jersey-server - compile group: 'com.sun.jersey', name: 'jersey-server', version: '1.2' - - - - // MQTT Dependencies - // https://mvnrepository.com/artifact/org.eclipse.paho/org.eclipse.paho.client.mqttv3 - compile group: 'org.eclipse.paho', name: 'org.eclipse.paho.client.mqttv3', version: '1.2.5' + // Spring Web for REST + implementation 'org.springframework.boot:spring-boot-starter-web' + // MQTT + implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' } - test { useJUnitPlatform() -} \ No newline at end of file +} diff --git a/build/classes/java/main/MQTT/PubExample.class b/build/classes/java/main/MQTT/PubExample.class index 204f90690526442b66445253321ecbee0885b532..f3453a758d53542e8b3d0b33d74d01031130f671 100644 Binary files a/build/classes/java/main/MQTT/PubExample.class and b/build/classes/java/main/MQTT/PubExample.class differ diff --git a/build/classes/java/main/MQTT/PubExampleCallback$1.class b/build/classes/java/main/MQTT/PubExampleCallback$1.class index cfcb1d13d55f5e5aa95a55b4f44039e74273c701..00fbfa0c276024c6c0de647b3edfdd12ad952d56 100644 Binary files a/build/classes/java/main/MQTT/PubExampleCallback$1.class and b/build/classes/java/main/MQTT/PubExampleCallback$1.class differ diff --git a/build/classes/java/main/MQTT/PubExampleCallback.class b/build/classes/java/main/MQTT/PubExampleCallback.class index 385d647c7844796fa376ef87273f57ca0d02a62b..b070918a7f1db53d15eb6d5c55e78f98c30208c4 100644 Binary files a/build/classes/java/main/MQTT/PubExampleCallback.class and b/build/classes/java/main/MQTT/PubExampleCallback.class differ diff --git a/build/classes/java/main/MQTT/PubSubExample$1.class b/build/classes/java/main/MQTT/PubSubExample$1.class index cd083e996b3b4931ae491c9b661bb03e690e25a8..c9f919bea98aa176fb2a318b79f1c469fe9e3a4c 100644 Binary files a/build/classes/java/main/MQTT/PubSubExample$1.class and b/build/classes/java/main/MQTT/PubSubExample$1.class differ diff --git a/build/classes/java/main/MQTT/PubSubExample.class b/build/classes/java/main/MQTT/PubSubExample.class index ed877e0412025feb276a0b649845d90d8464571b..e4ca7004f7d2fd55529125919c34c89b894faa02 100644 Binary files a/build/classes/java/main/MQTT/PubSubExample.class and b/build/classes/java/main/MQTT/PubSubExample.class differ diff --git a/build/classes/java/main/MQTT/SubExample$1.class b/build/classes/java/main/MQTT/SubExample$1.class index b6ea4436ec69cb76ba063ed13c89f725ea28f5e5..41867530e044677eb9917c66915a61c7c143c2cb 100644 Binary files a/build/classes/java/main/MQTT/SubExample$1.class and b/build/classes/java/main/MQTT/SubExample$1.class differ diff --git a/build/classes/java/main/MQTT/SubExample.class b/build/classes/java/main/MQTT/SubExample.class index e9d6c1c60121338547706aa087b5f56dd7a1f6a7..7364efe39204ab3465b7beb239af8f1b4ba61bf5 100644 Binary files a/build/classes/java/main/MQTT/SubExample.class and b/build/classes/java/main/MQTT/SubExample.class differ diff --git a/build/classes/java/main/REST/Client/ClientExample.class b/build/classes/java/main/REST/Client/ClientExample.class deleted file mode 100644 index 9a98f0a8a1bc10d2982e34210f5a4046beedd757..0000000000000000000000000000000000000000 Binary files a/build/classes/java/main/REST/Client/ClientExample.class and /dev/null differ diff --git a/build/classes/java/main/REST/StartServer.class b/build/classes/java/main/REST/StartServer.class deleted file mode 100644 index 5a908aafd6ca064bdeb5736db25575baea476ad6..0000000000000000000000000000000000000000 Binary files a/build/classes/java/main/REST/StartServer.class and /dev/null differ diff --git a/build/classes/java/main/REST/beans/User.class b/build/classes/java/main/REST/beans/User.class deleted file mode 100644 index 31ccac61ea9ba903bd192a63dae8248dc767f7a7..0000000000000000000000000000000000000000 Binary files a/build/classes/java/main/REST/beans/User.class and /dev/null differ diff --git a/build/classes/java/main/REST/beans/Users.class b/build/classes/java/main/REST/beans/Users.class deleted file mode 100644 index c256a79e7cda27d933ef7267d31dbc3e0edd34ef..0000000000000000000000000000000000000000 Binary files a/build/classes/java/main/REST/beans/Users.class and /dev/null differ diff --git a/build/classes/java/main/REST/services/HelloWorld.class b/build/classes/java/main/REST/services/HelloWorld.class deleted file mode 100644 index 28af175c95edacd5c4990d038abd8c2d32ba7bca..0000000000000000000000000000000000000000 Binary files a/build/classes/java/main/REST/services/HelloWorld.class and /dev/null differ diff --git a/build/classes/java/main/REST/services/UsersService.class b/build/classes/java/main/REST/services/UsersService.class deleted file mode 100644 index ea2b6a19144f2f579cc31e8740ec91a3a1efd00c..0000000000000000000000000000000000000000 Binary files a/build/classes/java/main/REST/services/UsersService.class and /dev/null differ diff --git a/build/tmp/compileJava/source-classes-mapping.txt b/build/tmp/compileJava/source-classes-mapping.txt index 681cba43a748c0340620646a8131ff7958b93a2e..6e9a26461d629faca54d1003b5fa2ae8a7bc31de 100644 --- a/build/tmp/compileJava/source-classes-mapping.txt +++ b/build/tmp/compileJava/source-classes-mapping.txt @@ -1,23 +1,21 @@ -REST/services/HelloWorld.java - REST.services.HelloWorld -REST/beans/User.java - REST.beans.User -REST/services/UsersService.java - REST.services.UsersService -REST/StartServer.java - REST.StartServer -REST/beans/Users.java - REST.beans.Users +spring/User.java + spring.User +spring/UsersController.java + spring.UsersController +spring/Application.java + spring.Application +spring/UserService.java + spring.UserService MQTT/PubExample.java MQTT.PubExample MQTT/SubExample.java MQTT.SubExample MQTT.SubExample$1 -REST/Client/ClientExample.java - REST.Client.ClientExample MQTT/PubExampleCallback.java MQTT.PubExampleCallback MQTT.PubExampleCallback$1 MQTT/PubSubExample.java MQTT.PubSubExample MQTT.PubSubExample$1 +spring/ClientExample.java + spring.ClientExample diff --git a/src/main/java/REST/Client/ClientExample.java b/src/main/java/REST/Client/ClientExample.java deleted file mode 100644 index 6d1dc948c4cf4532225a0acf08265ad89a11193f..0000000000000000000000000000000000000000 --- a/src/main/java/REST/Client/ClientExample.java +++ /dev/null @@ -1,63 +0,0 @@ -package REST.Client; - -import REST.beans.User; -import REST.beans.Users; -import com.google.gson.Gson; -import com.sun.jersey.api.client.Client; -import com.sun.jersey.api.client.ClientHandlerException; -import com.sun.jersey.api.client.ClientResponse; -import com.sun.jersey.api.client.WebResource; - -public class ClientExample { - - public static void main(String args[]){ - Client client = Client.create(); - String serverAddress = "http://localhost:1337"; - ClientResponse clientResponse = null; - - // POST EXAMPLE - String postPath = "/users/add"; - User user = new User("John","Cena"); - clientResponse = postRequest(client,serverAddress+postPath,user); - System.out.println(clientResponse.toString()); - - //GET REQUEST #1 - String getPath = "/users"; - clientResponse = getRequest(client,serverAddress+getPath); - System.out.println(clientResponse.toString()); - Users users = clientResponse.getEntity(Users.class); - System.out.println("Users List"); - for (User u : users.getUserslist()){ - System.out.println("Name: " + u.getName() + " Surname: " + u.getSurname()); - } - - //GET REQUEST #2 - String getUserPath = "/users/get/john"; - clientResponse = getRequest(client,serverAddress+getUserPath); - System.out.println(clientResponse.toString()); - User userResponse = clientResponse.getEntity(User.class); - System.out.println("Name: " + userResponse.getName() + " Surname: " + userResponse.getSurname()); - - } - - public static ClientResponse postRequest(Client client, String url, User u){ - WebResource webResource = client.resource(url); - String input = new Gson().toJson(u); - try { - return webResource.type("application/json").post(ClientResponse.class, input); - } catch (ClientHandlerException e) { - System.out.println("Server not available"); - return null; - } - } - - public static ClientResponse getRequest(Client client, String url){ - WebResource webResource = client.resource(url); - try { - return webResource.type("application/json").get(ClientResponse.class); - } catch (ClientHandlerException e) { - System.out.println("Server not available"); - return null; - } - } -} diff --git a/src/main/java/REST/StartServer.java b/src/main/java/REST/StartServer.java deleted file mode 100644 index 080c0ebd67d61b1764e01d42a7a10e3a457e5b13..0000000000000000000000000000000000000000 --- a/src/main/java/REST/StartServer.java +++ /dev/null @@ -1,26 +0,0 @@ -package REST; - -import com.sun.jersey.api.container.httpserver.HttpServerFactory; -import com.sun.net.httpserver.HttpServer; -import java.io.IOException; - -public class StartServer { - - private static final String HOST = "localhost"; - private static final int PORT = 1337; - - - public static void main(String[] args) throws IOException { - HttpServer server = HttpServerFactory.create("http://"+HOST+":"+PORT+"/"); - server.start(); - - System.out.println("Server running!"); - System.out.println("Server started on: http://"+HOST+":"+PORT); - - System.out.println("Hit return to stop..."); - System.in.read(); - System.out.println("Stopping server"); - server.stop(0); - System.out.println("Server stopped"); - } -} diff --git a/src/main/java/REST/beans/User.java b/src/main/java/REST/beans/User.java deleted file mode 100644 index fa014d4dfbc8938a45b88c974a9cccb950b9740e..0000000000000000000000000000000000000000 --- a/src/main/java/REST/beans/User.java +++ /dev/null @@ -1,33 +0,0 @@ -package REST.beans; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -public class User { - - private String name; - private String surname; - - public User(){} - - public User(String name, String surname) { - this.name = name; - this.surname = surname; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getSurname() { - return surname; - } - - public void setSurname(String surname) { - this.surname = surname; - } -} \ No newline at end of file diff --git a/src/main/java/REST/beans/Users.java b/src/main/java/REST/beans/Users.java deleted file mode 100644 index 7fb2684bde1ae7288dd01e2571ebe7acc20c5828..0000000000000000000000000000000000000000 --- a/src/main/java/REST/beans/Users.java +++ /dev/null @@ -1,54 +0,0 @@ -package REST.beans; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement -@XmlAccessorType (XmlAccessType.FIELD) -public class Users { - - @XmlElement(name="my_users") - private List userslist; - - private static Users instance; - - private Users() { - userslist = new ArrayList(); - } - - //Singleton - public synchronized static Users getInstance(){ - if(instance==null) - instance = new Users(); - return instance; - } - - public synchronized List getUserslist() { - - return new ArrayList<>(userslist); - - } - - public synchronized void setUserslist(List userslist) { - this.userslist = userslist; - } - - public synchronized void add(User u){ - userslist.add(u); - } - - - public User getByName(String name){ - List usersCopy = getUserslist(); - for(User u: usersCopy) - if(u.getName().toLowerCase().equals(name.toLowerCase())) - return u; - return null; - } - -} \ No newline at end of file diff --git a/src/main/java/REST/services/HelloWorld.java b/src/main/java/REST/services/HelloWorld.java deleted file mode 100644 index e7e31631bf77a7746037ba97b80b50e9469fe1a8..0000000000000000000000000000000000000000 --- a/src/main/java/REST/services/HelloWorld.java +++ /dev/null @@ -1,41 +0,0 @@ -package REST.services; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; - -@Path("/helloworld") -public class HelloWorld { - - @GET - @Produces("text/plain") - public String helloWorld(){ - return "Hello world!"; - } - - @GET - @Path("{name}") - @Produces({"text/plain"}) - public String helloWorldName(@PathParam("name") String name){ - - return "Hello, "+name+"!"; - - } - - @GET - @Produces("application/json") - public String helloWorld2(){ - return "{\"message\": \"helloWorld\"}"; - - } - - @Path("inner") - @GET - @Produces("text/plain") - public String innerHello(){ - - return "Inner Hello!"; - } - -} diff --git a/src/main/java/REST/services/UsersService.java b/src/main/java/REST/services/UsersService.java deleted file mode 100644 index bf19bb8f30ea543b05edb08ae91f10a7bb968cba..0000000000000000000000000000000000000000 --- a/src/main/java/REST/services/UsersService.java +++ /dev/null @@ -1,43 +0,0 @@ -package REST.services; - - -import REST.beans.User; -import REST.beans.Users; - -import javax.ws.rs.*; -import javax.ws.rs.core.Response; - -@Path("users") -public class UsersService { - - //restituisce la lista di utenti - @GET - @Produces({"application/json", "application/xml"}) - public Response getUsersList(){ - return Response.ok(Users.getInstance()).build(); - - } - - //permette di inserire un utente (nome e cognome) - @Path("add") - @POST - @Consumes({"application/json", "application/xml"}) - public Response addUser(User u){ - Users.getInstance().add(u); - return Response.ok().build(); - } - - //permette di prelevare un utente con un determinato nome - @Path("get/{name}") - @GET - @Produces({"application/json", "application/xml"}) - public Response getByName(@PathParam("name") String name){ - User u = Users.getInstance().getByName(name); - if(u!=null) - return Response.ok(u).build(); - else - return Response.status(Response.Status.NOT_FOUND).build(); - } - - -} \ No newline at end of file