From 4bce37c325c0c2c951e7b64c51b01290671ea99c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C5=98eh=C3=A1nek?= Date: Wed, 24 Apr 2024 14:58:30 +0200 Subject: [PATCH] fix #1043 --- .../solr/SolrStatisticsAccessLogImpl.java | 8 +++++ .../kramerius/utils/solr/SolrUpdateUtils.java | 32 ++++++++----------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/shared/common/src/main/java/cz/incad/kramerius/statistics/accesslogs/solr/SolrStatisticsAccessLogImpl.java b/shared/common/src/main/java/cz/incad/kramerius/statistics/accesslogs/solr/SolrStatisticsAccessLogImpl.java index a6d44b41e..7c8d426c4 100644 --- a/shared/common/src/main/java/cz/incad/kramerius/statistics/accesslogs/solr/SolrStatisticsAccessLogImpl.java +++ b/shared/common/src/main/java/cz/incad/kramerius/statistics/accesslogs/solr/SolrStatisticsAccessLogImpl.java @@ -22,6 +22,7 @@ import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; +import cz.incad.kramerius.utils.IPAddressUtils; import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.client.HttpResponseException; @@ -127,6 +128,13 @@ public void reportAccess(final String pid, final String streamName) throws IOExc String requestedUrl = requestProvider.get().getRequestURL().toString(); logRecord.setRequestedUrl(requestedUrl); + + logRecord.setIpAddress(IPAddressUtils.getRemoteAddress(requestProvider.get())); + //logRecord.setIpAddress(requestProvider.get().getRemoteAddr()); + /*if(requestProvider.get().getHeader("X-Forwarded-For")!=null){ + String remoteIp = requestProvider.get().getHeader("X-Forwarded-For"); + logRecord.setIpAddress(remoteIp); + }*/ logRecord.setPidsPaths(Arrays.stream(paths).map(ObjectPidsPath::getPathFromRootToLeaf).map(array-> { return Arrays.stream(array).collect(Collectors.joining("/")); diff --git a/shared/common/src/main/java/cz/incad/kramerius/utils/solr/SolrUpdateUtils.java b/shared/common/src/main/java/cz/incad/kramerius/utils/solr/SolrUpdateUtils.java index 21cbfbe7a..e0d272e81 100644 --- a/shared/common/src/main/java/cz/incad/kramerius/utils/solr/SolrUpdateUtils.java +++ b/shared/common/src/main/java/cz/incad/kramerius/utils/solr/SolrUpdateUtils.java @@ -1,5 +1,12 @@ package cz.incad.kramerius.utils.solr; +import com.sun.jersey.api.client.*; +import cz.incad.kramerius.utils.IOUtils; +import cz.incad.kramerius.utils.XMLUtils; +import org.w3c.dom.Document; + +import javax.ws.rs.core.MediaType; +import javax.xml.transform.TransformerException; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -7,32 +14,19 @@ import java.util.logging.Level; import java.util.logging.Logger; -import javax.ws.rs.core.MediaType; -import javax.xml.transform.TransformerException; - -import org.w3c.dom.Document; - -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.ClientResponse.Status; -import com.sun.jersey.api.client.UniformInterfaceException; -import com.sun.jersey.api.client.WebResource; - -import cz.incad.kramerius.utils.IOUtils; -import cz.incad.kramerius.utils.XMLUtils; - public class SolrUpdateUtils { - + public static final Logger LOGGER = Logger.getLogger(SolrUpdateUtils.class.getName()); - - private SolrUpdateUtils() {} + + private SolrUpdateUtils() { + } public static void sendToDest(Client client, Document batchDoc, String updateUrl) { try { StringWriter writer = new StringWriter(); XMLUtils.print(batchDoc, writer); - String shost = updateUrl;//updateUrl(); + //XMLUtils.print(batchDoc, System.out); System.out.println(); //for debugging what is really being sent to SOLR + String shost = updateUrl;//updateUrl(); WebResource r = client.resource(shost); ClientResponse resp = r.accept(MediaType.TEXT_XML).type(MediaType.TEXT_XML).entity(writer.toString(), MediaType.TEXT_XML).post(ClientResponse.class); if (resp.getStatus() != ClientResponse.Status.OK.getStatusCode()) {