From c2b201719b6e5e79ede13aec951797ccb45aa96d Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Tue, 21 Feb 2023 13:03:27 +0100
Subject: [PATCH] disable assistive technology

---
 CHANGELOG                                      |  6 ++++++
 CellDesigner-plugin/pom.xml                    |  8 ++++----
 annotation/pom.xml                             | 10 +++++-----
 commons/pom.xml                                |  2 +-
 converter-CellDesigner/pom.xml                 |  6 +++---
 converter-SBGNML/pom.xml                       | 10 +++++-----
 converter-graphics/pom.xml                     |  6 +++---
 converter-sbml/pom.xml                         | 12 ++++++------
 converter/pom.xml                              |  4 ++--
 frontend-js/pom.xml                            |  2 +-
 model-command/pom.xml                          |  6 +++---
 model/pom.xml                                  |  4 ++--
 pathvisio/pom.xml                              | 10 +++++-----
 persist/pom.xml                                |  4 ++--
 pom.xml                                        |  2 +-
 rest-api/pom.xml                               |  8 ++++----
 service/pom.xml                                | 18 +++++++++---------
 web/pom.xml                                    |  8 ++++----
 .../mapviewer/web/bean/utils/StartupBean.java  | 10 ++++++++--
 .../web/bean/utils/StartupBeanTest.java        |  9 +++++++++
 20 files changed, 83 insertions(+), 62 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 6396225075..da3aa61496 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+minerva (16.2.12) stable; urgency=medium
+  * Bug fix: Java Assistive Technology caused randomly issues with map upload
+    (#1681)
+
+ -- Piotr Gawron <piotr.gawron@uni.lu>  Tue, 21 Feb 2023 12:00:00 +0200
+
 minerva (16.2.11) stable; urgency=medium
   * Bug fix: there was a race condition in very rare situations when exporting
     to CellDesigner (#1728)
diff --git a/CellDesigner-plugin/pom.xml b/CellDesigner-plugin/pom.xml
index 0aa7df3bde..620e4fc471 100644
--- a/CellDesigner-plugin/pom.xml
+++ b/CellDesigner-plugin/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>CellDesigner-plugin</artifactId>
 	<!-- dependency from the MapViewer model -->
@@ -50,19 +50,19 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>commons</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
diff --git a/annotation/pom.xml b/annotation/pom.xml
index 16273cc907..0e1adeacc3 100644
--- a/annotation/pom.xml
+++ b/annotation/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>annotation</artifactId>
 	<name>Annotation module</name>
@@ -18,7 +18,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer dao -->
@@ -26,7 +26,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>persist</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer cell designer parser (we need access 
@@ -34,13 +34,13 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/commons/pom.xml b/commons/pom.xml
index 0d3d0fa7c5..8861d9be2a 100644
--- a/commons/pom.xml
+++ b/commons/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>commons</artifactId>
 	<name>Mapviewer commons</name>
diff --git a/converter-CellDesigner/pom.xml b/converter-CellDesigner/pom.xml
index fc594b9a92..7f2e12d313 100644
--- a/converter-CellDesigner/pom.xml
+++ b/converter-CellDesigner/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>converter-CellDesigner</artifactId>
 	<name>CellDesigner converter</name>
@@ -17,13 +17,13 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/converter-SBGNML/pom.xml b/converter-SBGNML/pom.xml
index 7cff1d1201..3e3759d6d8 100644
--- a/converter-SBGNML/pom.xml
+++ b/converter-SBGNML/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>converter-SBGNML</artifactId>
 
@@ -20,26 +20,26 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>persist</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 			<scope>test</scope>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
diff --git a/converter-graphics/pom.xml b/converter-graphics/pom.xml
index 0d7bc42bd0..a8019de598 100644
--- a/converter-graphics/pom.xml
+++ b/converter-graphics/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>converter-graphics</artifactId>
 	<name>MapViewer graphics converter</name>
@@ -18,13 +18,13 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- Log4J2-->
diff --git a/converter-sbml/pom.xml b/converter-sbml/pom.xml
index 0acc79025f..5ec00d5305 100644
--- a/converter-sbml/pom.xml
+++ b/converter-sbml/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>converter-sbml</artifactId>
 	<name>converter-sbml</name>
@@ -40,22 +40,22 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- Log4J2 -->
@@ -154,7 +154,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 			<scope>test</scope>
 		</dependency>
 
diff --git a/converter/pom.xml b/converter/pom.xml
index 71e533b585..85c9f8b463 100644
--- a/converter/pom.xml
+++ b/converter/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>lcsb.mapviewer</groupId>
     <artifactId>parent</artifactId>
-    <version>16.2.11</version>
+    <version>16.2.12</version>
   </parent>
   
   <artifactId>converter</artifactId>
@@ -15,7 +15,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
       <artifactId>model</artifactId>
-      <version>16.2.11</version>
+      <version>16.2.12</version>
     </dependency>
 		<dependency>
 			<groupId>xerces</groupId>
diff --git a/frontend-js/pom.xml b/frontend-js/pom.xml
index 423d34421a..3d2079030a 100644
--- a/frontend-js/pom.xml
+++ b/frontend-js/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>frontend-js</artifactId>
 	<name>frontend-js</name>
diff --git a/model-command/pom.xml b/model-command/pom.xml
index f80bae4f15..57ca5b8851 100644
--- a/model-command/pom.xml
+++ b/model-command/pom.xml
@@ -3,7 +3,7 @@
   <parent>
     <groupId>lcsb.mapviewer</groupId>
     <artifactId>parent</artifactId>
-    <version>16.2.11</version>
+    <version>16.2.12</version>
   </parent>
   <artifactId>model-command</artifactId>
   <name>Model commands</name>
@@ -16,7 +16,7 @@
 		<dependency>
     	<groupId>lcsb.mapviewer</groupId>
       <artifactId>model</artifactId>
-      <version>16.2.11</version>
+      <version>16.2.12</version>
     </dependency>
     
 
@@ -24,7 +24,7 @@
 		<dependency>
       <groupId>lcsb.mapviewer</groupId>
       <artifactId>converter-CellDesigner</artifactId>
-      <version>16.2.11</version>
+      <version>16.2.12</version>
     </dependency>
 
 		<!-- Log4J2-->
diff --git a/model/pom.xml b/model/pom.xml
index 472e57dd5e..a74fd3bcd2 100644
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>model</artifactId>
 	<name>model MapViewer</name>
@@ -15,7 +15,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>commons</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 		
 		<!-- Java xml serialization -->
diff --git a/pathvisio/pom.xml b/pathvisio/pom.xml
index 276c227eff..cd3c568279 100644
--- a/pathvisio/pom.xml
+++ b/pathvisio/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>pathvisio</artifactId>
 	<name>Pathvisio plugin</name>
@@ -77,26 +77,26 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
 			<scope>test</scope>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/persist/pom.xml b/persist/pom.xml
index 30b28e1c17..5a2ed526a0 100644
--- a/persist/pom.xml
+++ b/persist/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 
 	<artifactId>persist</artifactId>
@@ -27,7 +27,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- apache ftp -->
diff --git a/pom.xml b/pom.xml
index 697c5a5b89..80f0278047 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 
 	<groupId>lcsb.mapviewer</groupId>
 	<artifactId>parent</artifactId>
-	<version>16.2.11</version>
+	<version>16.2.12</version>
 	<packaging>pom</packaging>
 
 	<name>parent MapViewer</name>
diff --git a/rest-api/pom.xml b/rest-api/pom.xml
index 2494bb621d..01af0f2cc3 100644
--- a/rest-api/pom.xml
+++ b/rest-api/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>rest-api</artifactId>
 	<name>rest-api</name>
@@ -19,19 +19,19 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>service</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>pathvisio</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
diff --git a/service/pom.xml b/service/pom.xml
index 99a82a0600..0fe1d0257c 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 
 	<artifactId>service</artifactId>
@@ -20,7 +20,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer dao -->
@@ -28,47 +28,47 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>persist</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>annotation</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer cell designer parser -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer SBGN-ML parser -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-SBGNML</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer graphics converter -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- dependency from the SBML parser -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-sbml</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/web/pom.xml b/web/pom.xml
index ccee3ef4e5..7a2ee3cc87 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>16.2.11</version>
+		<version>16.2.12</version>
 	</parent>
 	<artifactId>web</artifactId>
 	<packaging>war</packaging>
@@ -31,19 +31,19 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>service</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>rest-api</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>frontend-js</artifactId>
-			<version>16.2.11</version>
+			<version>16.2.12</version>
 		</dependency>
 
 		<dependency>
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java
index c97fe36a56..e14f6c6266 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/StartupBean.java
@@ -3,6 +3,7 @@ package lcsb.mapviewer.web.bean.utils;
 import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
+import java.util.Properties;
 
 import javax.annotation.PostConstruct;
 import javax.servlet.ServletContext;
@@ -69,6 +70,7 @@ public class StartupBean {
     modifyXFrameDomain();
     modifyCorsDomain();
     setSessionLength();
+    disableAssistiveTechnologies();
     removeInterruptedReferenceGenomeDownloads();
     logger.debug("Application startup script ends");
   }
@@ -141,8 +143,8 @@ public class StartupBean {
   }
 
   /**
-   * Set {@link ProjectStatus#FAIL} statuses to projects that were uploading
-   * when application was shutdown.
+   * Set {@link ProjectStatus#FAIL} statuses to projects that were uploading when
+   * application was shutdown.
    */
   private void setInterruptedProjectsStatuses() {
     try {
@@ -165,4 +167,8 @@ public class StartupBean {
     }
   }
 
+  private void disableAssistiveTechnologies() {
+    Properties props = System.getProperties();
+    props.setProperty("javax.accessibility.assistive_technologies", "");
+  }
 }
diff --git a/web/src/test/java/lcsb/mapviewer/web/bean/utils/StartupBeanTest.java b/web/src/test/java/lcsb/mapviewer/web/bean/utils/StartupBeanTest.java
index 59d17c6519..039bc86d28 100644
--- a/web/src/test/java/lcsb/mapviewer/web/bean/utils/StartupBeanTest.java
+++ b/web/src/test/java/lcsb/mapviewer/web/bean/utils/StartupBeanTest.java
@@ -1,6 +1,9 @@
 package lcsb.mapviewer.web.bean.utils;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+import java.util.Properties;
 
 import org.junit.After;
 import org.junit.Before;
@@ -53,4 +56,10 @@ public class StartupBeanTest extends ControllerIntegrationTest {
     assertEquals(0, super.getErrorLogs().size());
   }
 
+  @Test
+  public void testAssistiveTechnologies() {
+    Properties props = System.getProperties();
+    assertNotEquals(props.getProperty("javax.accessibility.assistive_technologies"), "org.GNOME.Accessibility.AtkWrapper");
+  }
+
 }
-- 
GitLab