From 972f9df8dd0edba87a4368553b72fe2414ce9a96 Mon Sep 17 00:00:00 2001 From: gasparez15 Date: Thu, 4 May 2023 16:31:57 +0200 Subject: [PATCH] Fixed RestAuthService.java --- .../webservice/rest/AuthService.java | 2 +- .../rest/client/RestAuthClient.java | 4 +- .../rest/endpoint/RestAuthService.java | 15 +- .../resources/context/context-webservice.xml | 1 + .../logicaldoc/webservice/RestWorkbench.java | 6 +- .../webservice/mobile/CommentsRestClient.java | 157 ++++++++++++------ 6 files changed, 128 insertions(+), 57 deletions(-) diff --git a/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/AuthService.java b/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/AuthService.java index 063554ff2..ea7eef344 100644 --- a/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/AuthService.java +++ b/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/AuthService.java @@ -32,7 +32,7 @@ public interface AuthService { @POST @Path("/login") @Consumes(MediaType.APPLICATION_JSON) - public String loginPostJSON(@FormParam("username") String username, @FormParam("password") String password) throws Exception; + public String loginPostJSON(String jsonstr) throws Exception; @DELETE @Path("/logout") diff --git a/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestAuthClient.java b/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestAuthClient.java index 7b6b610f4..7883b2fb1 100644 --- a/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestAuthClient.java +++ b/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/client/RestAuthClient.java @@ -34,8 +34,8 @@ public void logout(String sid) { } @Override - public String loginPostJSON(String username, String password) throws Exception { - return proxy.loginPostJSON(username, password); + public String loginPostJSON(String jsonstr) throws Exception { + return proxy.loginPostJSON(jsonstr); } @Override diff --git a/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/endpoint/RestAuthService.java b/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/endpoint/RestAuthService.java index 73305e267..cf5f755a6 100644 --- a/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/endpoint/RestAuthService.java +++ b/logicaldoc-webservice/src/main/java/com/logicaldoc/webservice/rest/endpoint/RestAuthService.java @@ -1,5 +1,7 @@ package com.logicaldoc.webservice.rest.endpoint; +import java.util.HashMap; + import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.FormParam; @@ -15,6 +17,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import com.logicaldoc.core.security.authentication.AuthenticationException; import com.logicaldoc.webservice.rest.AuthService; import com.logicaldoc.webservice.soap.endpoint.SoapAuthService; @@ -57,7 +61,16 @@ public String loginForm(@FormParam("username") String username, @FormParam("pass @Path("/login") @Operation(operationId = "loginPostJSON", summary = "Login with POST in JSON format", description = "Login posting the credentials in JSON format") @Consumes(MediaType.APPLICATION_JSON) - public String loginPostJSON(@FormParam("username") String username, @FormParam("password") String password) throws Exception { + public String loginPostJSON(String jsonstr) throws Exception { + log.debug("loginPostJSON({})", jsonstr); + + ObjectMapper mapper = new ObjectMapper(); + TypeReference> typeRef = new TypeReference>() {}; + HashMap hm = mapper.readValue(jsonstr, typeRef); + + String username = hm.get("username"); + String password = hm.get("password"); + return super.login(username, password); } diff --git a/logicaldoc-webservice/src/main/resources/context/context-webservice.xml b/logicaldoc-webservice/src/main/resources/context/context-webservice.xml index c49258858..a9668025c 100644 --- a/logicaldoc-webservice/src/main/resources/context/context-webservice.xml +++ b/logicaldoc-webservice/src/main/resources/context/context-webservice.xml @@ -195,6 +195,7 @@ + diff --git a/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/RestWorkbench.java b/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/RestWorkbench.java index 80586c7a7..3b34fcf68 100644 --- a/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/RestWorkbench.java +++ b/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/RestWorkbench.java @@ -46,12 +46,12 @@ public class RestWorkbench { private static RestBookmarkClient bookmarkClient = null; - private static String BASE_PATH = "http://localhost:1000"; + private static String BASE_PATH = "http://localhost:9080"; public static void main(String[] args) throws Exception { - String test1="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2a84c872365185317.01.11 - F33OC2Z.docfalsee1xydGYxXGFkZWZsYW5nMTAyNVx"; + //String test1="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2a84c872365185317.01.11 - F33OC2Z.docfalsee1xydGYxXGFkZWZsYW5nMTAyNVx"; - System.out.println(test1.replaceAll("]*>.*", "...")); + //System.out.println(test1.replaceAll("]*>.*", "...")); // String username = "admin"; // String password = "12345678"; diff --git a/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/mobile/CommentsRestClient.java b/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/mobile/CommentsRestClient.java index d879b2289..a812bbf10 100644 --- a/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/mobile/CommentsRestClient.java +++ b/logicaldoc-webservice/src/test/java/com/logicaldoc/webservice/mobile/CommentsRestClient.java @@ -1,12 +1,68 @@ package com.logicaldoc.webservice.mobile; -//import org.apache.commons.httpclient.Header; -//import org.apache.commons.httpclient.HttpClient; -//import org.apache.commons.httpclient.HttpStatus; -//import org.apache.commons.httpclient.methods.GetMethod; -//import org.apache.commons.httpclient.methods.PostMethod; -//import org.apache.commons.httpclient.methods.StringRequestEntity; -//import org.codehaus.jackson.map.ObjectMapper; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.Arrays; +import java.util.List; + +import javax.activation.DataHandler; +import javax.activation.DataSource; +import javax.activation.FileDataSource; + +import org.apache.commons.io.IOUtils; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; +import com.logicaldoc.webservice.model.WSBookmark; +import com.logicaldoc.webservice.model.WSDocument; +import com.logicaldoc.webservice.model.WSFolder; +import com.logicaldoc.webservice.model.WSNote; +import com.logicaldoc.webservice.model.WSRating; +import com.logicaldoc.webservice.model.WSSearchOptions; +import com.logicaldoc.webservice.model.WSSearchResult; +import com.logicaldoc.webservice.rest.client.RestAuthClient; +import com.logicaldoc.webservice.rest.client.RestBookmarkClient; +import com.logicaldoc.webservice.rest.client.RestDocumentClient; +import com.logicaldoc.webservice.rest.client.RestDocumentMetadataClient; +import com.logicaldoc.webservice.rest.client.RestFolderClient; +import com.logicaldoc.webservice.rest.client.RestSearchClient; +import com.logicaldoc.webservice.rest.client.RestTagClient; + + +import org.apache.http.Consts; +import org.apache.http.HttpEntity; +import org.apache.http.HttpHost; +import org.apache.http.HttpStatus; +import org.apache.http.NameValuePair; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.AuthCache; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.CredentialsProvider; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.protocol.HttpClientContext; +import org.apache.http.client.utils.URLEncodedUtils; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.entity.mime.HttpMultipartMode; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.entity.mime.content.FileBody; +import org.apache.http.entity.mime.content.StringBody; +import org.apache.http.impl.auth.BasicScheme; +import org.apache.http.impl.client.BasicAuthCache; +import org.apache.http.impl.client.BasicCredentialsProvider; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicHeader; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; /** * Created by IntelliJ IDEA. User: Niraj Singh Date: 3/13/13 Time: 4:15 PM To @@ -201,49 +257,50 @@ public void addCommentJSON(String sid, String docId) throws Exception { public void addCommentForm(String docId) throws Exception { -// String output = null; -// try { -// String url = "http://localhost:8080/services/commentservice/addcommentform/"; -// url = url + URLEncoder.encode(docId, "UTF-8"); -// -// HttpClient client = new HttpClient(); -// PostMethod mPost = new PostMethod(url); -// -// mPost.addParameter("title", "title"); -// mPost.addParameter("content", "content"); -// -// Header mtHeader = new Header(); -// mtHeader.setName("content-type"); -// mtHeader.setValue("application/x-www-form-urlencoded"); -// mPost.addRequestHeader(mtHeader); -// -// mtHeader = new Header(); -// mtHeader.setName("accept"); -// // mtHeader.setValue("application/xml"); -// mtHeader.setValue("application/json"); -// mPost.addRequestHeader(mtHeader); -// -// for (Header header : mPost.getRequestHeaders()) { -// System.out.println(header.getName() + ": " + header.getValue()); -// } -// -// System.out.println(" mPost.getRequestEntity(): " + mPost.getRequestEntity().getContentLength()); -// System.out.println(" mPostgetContentType(): " + mPost.getRequestEntity().getContentType()); -// -// int statusCode = client.executeMethod(mPost); -// System.out.println("statusCode: " + statusCode); -// -// if (statusCode != HttpStatus.SC_OK) { -// System.err.println("Method failed: " + mPost.getStatusLine()); -// } -// -// output = mPost.getResponseBodyAsString(); -// mPost.releaseConnection(); -// System.out.println("output : " + output); -// } catch (Exception e) { -// throw new Exception("Exception in adding bucket : " + e); -// } -// + /* + String output = null; + try { + String url = "http://localhost:9080/services/commentservice/addcommentform/"; + url = url + URLEncoder.encode(docId, "UTF-8"); + + HttpClient client = new HttpClient(); + PostMethod mPost = new PostMethod(url); + + mPost.addParameter("title", "title"); + mPost.addParameter("content", "content"); + + Header mtHeader = new Header(); + mtHeader.setName("content-type"); + mtHeader.setValue("application/x-www-form-urlencoded"); + mPost.addRequestHeader(mtHeader); + + mtHeader = new Header(); + mtHeader.setName("accept"); + // mtHeader.setValue("application/xml"); + mtHeader.setValue("application/json"); + mPost.addRequestHeader(mtHeader); + + for (Header header : mPost.getRequestHeaders()) { + System.out.println(header.getName() + ": " + header.getValue()); + } + + System.out.println(" mPost.getRequestEntity(): " + mPost.getRequestEntity().getContentLength()); + System.out.println(" mPostgetContentType(): " + mPost.getRequestEntity().getContentType()); + + int statusCode = client.executeMethod(mPost); + System.out.println("statusCode: " + statusCode); + + if (statusCode != HttpStatus.SC_OK) { + System.err.println("Method failed: " + mPost.getStatusLine()); + } + + output = mPost.getResponseBodyAsString(); + mPost.releaseConnection(); + System.out.println("output : " + output); + } catch (Exception e) { + throw new Exception("Exception in adding bucket : " + e); + } +*/ } } \ No newline at end of file