From fe000c32ec5f94e37b2f80ff31cc5b35908a6280 Mon Sep 17 00:00:00 2001 From: vagisha Date: Tue, 4 Feb 2025 09:03:12 -0800 Subject: [PATCH 1/2] Do not write an empty element when there are no modifications with Unimod Ids: (#500) --- .../org/labkey/panoramapublic/proteomexchange/PxXmlWriter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/PxXmlWriter.java b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/PxXmlWriter.java index b0d9f156..2c1e6153 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/PxXmlWriter.java +++ b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/PxXmlWriter.java @@ -391,7 +391,7 @@ void writeModificationList(Status validationStatus) throws PxException */ Element mod_list = new Element("ModificationList"); var mods = validationStatus.getModifications(); - if(mods.size() == 0) + if(mods.size() == 0 || mods.stream().noneMatch(Modification::isValid)) { mod_list.addChild(new CvParamElement("MS", "MS:1002864", "No PTMs are included in the dataset")); } From 7ada43fda763ad0d9fd087d6f18158a96e76e7f9 Mon Sep 17 00:00:00 2001 From: vagisha Date: Wed, 5 Feb 2025 08:56:58 -0800 Subject: [PATCH 2/2] Issue 51372: ProteomeXchangeServiceException in org.labkey.panoramapublic.proteomexchange.ProteomeXchangeService.postPxXml() (#501) - ProteomeXchangeServiceException implements SkipMothershipLogging. Added logging --- .../proteomexchange/ProteomeXchangeService.java | 7 ++++++- .../proteomexchange/ProteomeXchangeServiceException.java | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeService.java b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeService.java index 1497b8cb..01da7628 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeService.java +++ b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeService.java @@ -24,8 +24,10 @@ import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.http.ParseException; import org.apache.hc.core5.http.io.entity.EntityUtils; +import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.labkey.api.util.PageFlowUtil; +import org.labkey.api.util.logging.LogHelper; import java.io.File; import java.io.IOException; @@ -45,6 +47,8 @@ public class ProteomeXchangeService private enum METHOD {submitDataset, validateXML, requestID} + private static final Logger LOG = LogHelper.getLogger(ProteomeXchangeService.class, "Handles requests to the ProteomeXchange server"); + public static String validatePxXml(File pxxmlFile, boolean testDatabase, String user, String pass) throws ProteomeXchangeServiceException { return postPxXml(pxxmlFile, testDatabase, user, pass, METHOD.validateXML); @@ -86,7 +90,7 @@ public static String getPxIdResponse(boolean testDatabase, String user, String p } catch (Exception e) { - throw new ProteomeXchangeServiceException("Error requesting a ID from ProteomeXchange.", e); + throw new ProteomeXchangeServiceException("Error requesting a ID from ProteomeXchange. " + e.getMessage(), e); } return responseMessage; @@ -160,6 +164,7 @@ private static String postRequest(MultipartEntityBuilder builder) throws IOExcep int statusCode = response.getCode(); if (statusCode != 200) { + LOG.error("Unsuccessful request to ProteomeXchange. Status code: " + statusCode + "; Response: " + responseMessage); throw new ProteomeXchangeServiceException("Error " + statusCode + " from ProteomeXchange server: " + responseMessage); } return responseMessage; diff --git a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeServiceException.java b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeServiceException.java index a8de0309..02ca2f94 100644 --- a/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeServiceException.java +++ b/panoramapublic/src/org/labkey/panoramapublic/proteomexchange/ProteomeXchangeServiceException.java @@ -15,7 +15,9 @@ */ package org.labkey.panoramapublic.proteomexchange; -public class ProteomeXchangeServiceException extends Exception +import org.labkey.api.util.SkipMothershipLogging; + +public class ProteomeXchangeServiceException extends Exception implements SkipMothershipLogging { public ProteomeXchangeServiceException(String message, Throwable cause) {