Skip to content
Snippets Groups Projects
Commit b6267682 authored by Léo Banno-Cloutier's avatar Léo Banno-Cloutier
Browse files

org.json: remove org.json from dependencies

Change-Id: If67b4ef11aed93a7ec0b09880badb14e53176859
parent 59942b97
No related branches found
No related tags found
No related merge requests found
......@@ -84,11 +84,6 @@
<artifactId>httpclient</artifactId>
<version>4.5.14</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20230618</version>
</dependency>
</dependencies>
<build>
......
......@@ -27,6 +27,7 @@ import static net.jami.jams.server.Server.dataStore;
import static net.jami.jams.server.Server.userAuthenticationModule;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
......@@ -45,11 +46,8 @@ import net.jami.jams.common.objects.user.User;
import net.jami.jams.common.objects.user.UserProfile;
import net.jami.jams.common.serialization.adapters.GsonFactory;
import org.json.JSONObject;
import java.io.IOException;
import java.util.HashMap;
import java.util.Scanner;
@Slf4j
@WebServlet("/api/admin/directory/entry")
......@@ -62,22 +60,7 @@ public class DirectoryEntryServlet extends HttpServlet {
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
// Create a user profile.
String realm = "LOCAL";
Scanner s = new Scanner(req.getInputStream()).useDelimiter("\\A");
String result = s.hasNext() ? s.next() : "";
final JSONObject obj = new JSONObject(result);
UserProfile userProfile = new UserProfile();
userProfile.setUsername(obj.get("username").toString());
userProfile.setFirstName(obj.get("firstName").toString());
userProfile.setLastName(obj.get("lastName").toString());
userProfile.setEmail(obj.get("email").toString());
userProfile.setProfilePicture(obj.get("profilePicture").toString());
userProfile.setOrganization(obj.get("organization").toString());
userProfile.setPhoneNumber(obj.get("phoneNumber").toString());
userProfile.setPhoneNumberExtension(obj.get("phoneNumberExtension").toString());
userProfile.setFaxNumber(obj.get("faxNumber").toString());
userProfile.setMobileNumber(obj.get("mobileNumber").toString());
userProfile.setId(obj.get("jamiId").toString());
UserProfile userProfile = gson.fromJson(req.getReader(), UserProfile.class);
userAuthenticationModule
.getAuthSources()
......
......@@ -3,6 +3,7 @@ package net.jami.jams.server.servlets.api.admin.group;
import static net.jami.jams.server.Server.dataStore;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
......@@ -18,11 +19,8 @@ import net.jami.jams.common.objects.user.AccessLevel;
import net.jami.jams.common.objects.user.Group;
import net.jami.jams.common.serialization.adapters.GsonFactory;
import org.json.JSONObject;
import java.io.IOException;
import java.util.Optional;
import java.util.stream.Collectors;
@WebServlet("/api/admin/group/*")
@Slf4j
......@@ -53,14 +51,10 @@ public class GroupServlet extends HttpServlet {
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String id = req.getPathInfo().replace("/", "");
final JSONObject obj =
new JSONObject(
req.getReader()
.lines()
.collect(Collectors.joining(System.lineSeparator())));
JsonObject obj = gson.fromJson(req.getReader(), JsonObject.class);
String name = obj.getString("name");
String blueprint = obj.getString("blueprint");
String name = obj.get("name").getAsString();
String blueprint = obj.get("blueprint").getAsString();
if (dataStore.getGroupDao().updateObject(id, name, blueprint)) resp.setStatus(200);
else resp.sendError(500, "Could not update group!");
......
......@@ -2,6 +2,9 @@ package net.jami.jams.server.servlets.api.admin.group;
import static net.jami.jams.server.Server.dataStore;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
......@@ -15,8 +18,6 @@ import net.jami.jams.common.annotations.ScopedServletMethod;
import net.jami.jams.common.objects.user.AccessLevel;
import net.jami.jams.common.objects.user.Policy;
import org.json.JSONObject;
import java.io.IOException;
import java.util.Scanner;
......@@ -39,9 +40,14 @@ public class PolicyServlet extends HttpServlet {
String name = req.getParameter("name");
Scanner s = new Scanner(req.getInputStream()).useDelimiter("\\A");
String result = s.hasNext() ? s.next() : "";
final JSONObject obj = new JSONObject(result);
final String policyData = obj.toString();
String policyData = s.hasNext() ? s.next() : "";
try {
JsonParser.parseString(policyData);
} catch (JsonSyntaxException e) {
resp.sendError(400, "Invalid JSON!");
return;
}
if (dataStore.getPolicyDao().updateObject(name, policyData)) resp.setStatus(200);
else resp.sendError(500, "could not update the group's name!");
......@@ -53,14 +59,18 @@ public class PolicyServlet extends HttpServlet {
String name = req.getParameter("name");
Scanner s = new Scanner(req.getInputStream()).useDelimiter("\\A");
String result = s.hasNext() ? s.next() : "";
String policyData = s.hasNext() ? s.next() : "";
final JSONObject obj = new JSONObject(result);
final String jsonString = obj.toString();
try {
JsonParser.parseString(policyData);
} catch (JsonSyntaxException e) {
resp.sendError(400, "Invalid JSON!");
return;
}
Policy policy = new Policy();
policy.setName(name);
policy.setPolicyData(jsonString);
policy.setPolicyData(policyData);
if (dataStore.getPolicyDao().storeObject(policy)) resp.setStatus(200);
else resp.sendError(500, "Could not create a group successfully!");
}
......
......@@ -3,6 +3,7 @@ package net.jami.jams.server.servlets.api.admin.group;
import static net.jami.jams.server.Server.dataStore;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
......@@ -17,12 +18,9 @@ import net.jami.jams.common.objects.user.AccessLevel;
import net.jami.jams.common.objects.user.UserGroupMapping;
import net.jami.jams.common.serialization.adapters.GsonFactory;
import org.json.JSONObject;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@WebServlet("/api/admin/group/members/*")
@Slf4j
......@@ -65,13 +63,8 @@ public class UserGroupServlet extends HttpServlet {
String groupId = req.getPathInfo().replace("/", "");
final JSONObject obj =
new JSONObject(
req.getReader()
.lines()
.collect(Collectors.joining(System.lineSeparator())));
String username = obj.getString("username");
JsonObject obj = gson.fromJson(req.getReader(), JsonObject.class);
String username = obj.get("username").getAsString();
Optional<UserGroupMapping> existingMapping =
dataStore.getUserGroupMappingsDao().getByGroupIdAndUsername(groupId, username);
......@@ -97,13 +90,8 @@ public class UserGroupServlet extends HttpServlet {
String groupId = req.getPathInfo().replace("/", "");
final JSONObject obj =
new JSONObject(
req.getReader()
.lines()
.collect(Collectors.joining(System.lineSeparator())));
String username = obj.getString("username");
JsonObject obj = gson.fromJson(req.getReader(), JsonObject.class);
String username = obj.get("username").getAsString();
if (dataStore.getUserGroupMappingsDao().deleteObject(username, groupId)) {
resp.setStatus(200);
......
......@@ -28,6 +28,7 @@ import static net.jami.jams.server.Server.nameServer;
import static net.jami.jams.server.Server.userAuthenticationModule;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
......@@ -50,13 +51,11 @@ import net.jami.jams.server.core.workflows.RevokeUserFlow;
import org.apache.commons.codec.binary.Base64;
import org.bouncycastle.cert.X509CRLEntryHolder;
import org.bouncycastle.cert.X509CRLHolder;
import org.json.JSONObject;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@WebServlet("/api/admin/user")
public class UserServlet extends HttpServlet {
......@@ -107,13 +106,9 @@ public class UserServlet extends HttpServlet {
@JsonContent
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
final JSONObject obj =
new JSONObject(
req.getReader()
.lines()
.collect(Collectors.joining(System.lineSeparator())));
String password = obj.getString("password");
JsonObject obj = gson.fromJson(req.getReader(), JsonObject.class);
String username = obj.get("username").getAsString();
String password = obj.get("password").getAsString();
if (password.isEmpty()) {
resp.sendError(400, "Password is empty!");
......@@ -123,8 +118,6 @@ public class UserServlet extends HttpServlet {
byte[] salt = PasswordUtil.generateSalt();
String hashedPassword = PasswordUtil.hashPassword(password, salt);
String username = obj.getString("username");
User user = new User();
user.setUsername(username);
user.setNeedsPasswordReset(true);
......@@ -146,13 +139,9 @@ public class UserServlet extends HttpServlet {
@Override
@ScopedServletMethod(securityGroups = {AccessLevel.ADMIN})
protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws IOException {
final JSONObject obj =
new JSONObject(
req.getReader()
.lines()
.collect(Collectors.joining(System.lineSeparator())));
String pw = obj.getString("password");
String username = obj.getString("username");
JsonObject obj = gson.fromJson(req.getReader(), JsonObject.class);
String username = obj.get("username").getAsString();
String pw = obj.get("password").getAsString();
Optional<User> result = dataStore.getUserDao().getByUsername(username);
......
......@@ -27,6 +27,8 @@ import static net.jami.jams.server.Server.nameServer;
import static net.jami.jams.server.Server.userAuthenticationModule;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
......@@ -47,8 +49,6 @@ import net.jami.jams.common.objects.user.User;
import net.jami.jams.common.objects.user.UserProfile;
import net.jami.jams.common.serialization.adapters.GsonFactory;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Comparator;
......@@ -156,10 +156,13 @@ public class SearchDirectoryServlet extends HttpServlet {
});
});
JSONObject obj = new JSONObject();
obj.put("profiles", userProfiles);
obj.put("numPages", DataStore.NUM_PAGES);
resp.getOutputStream().write((obj.toString()).getBytes());
JsonObject obj = new JsonObject();
JsonArray profilesArray = gson.toJsonTree(userProfiles).getAsJsonArray();
obj.add("profiles", profilesArray);
obj.addProperty("numPages", DataStore.NUM_PAGES);
resp.getOutputStream().write(gson.toJson(obj).getBytes());
resp.setStatus(200);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment