From 47c05f711b2b27c0a483dc32d30f49dbadd33059 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Mon, 22 Nov 2010 11:31:43 +0000
Subject: [PATCH] LMS-1888 weave in SyBIT image viewer, change launch button
 label, close WellContentDialog after launching image viewer

SVN: 18832
---
 screening/.classpath                          |  1 +
 screening/build/build.xml                     |  4 ++++
 .../detailviewers/WellContentDialog.java      |  1 +
 .../client/web/public/screening-dictionary.js |  2 +-
 .../web/server/ImageViewerLaunchServlet.java  | 19 ++++++++++++++++---
 5 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/screening/.classpath b/screening/.classpath
index cc1665315a0..d230e06bfaa 100644
--- a/screening/.classpath
+++ b/screening/.classpath
@@ -44,5 +44,6 @@
 	<classpathentry kind="lib" path="/libraries/nativedata"/>
 	<classpathentry kind="lib" path="/libraries/fastutil/fastutil.jar" sourcepath="/libraries/fastutil/fastutil-src.zip"/>
 	<classpathentry kind="lib" path="/libraries/jline/jline.jar" sourcepath="/libraries/jline/src.zip"/>
+	<classpathentry kind="lib" path="/libraries/sybit-image-viewer/image-viewer.jar"/>
 	<classpathentry kind="output" path="targets/www/WEB-INF/classes"/>
 </classpath>
diff --git a/screening/build/build.xml b/screening/build/build.xml
index 44dc1dbaaab..cc2d9eef719 100644
--- a/screening/build/build.xml
+++ b/screening/build/build.xml
@@ -193,6 +193,10 @@
 			<param name="dir" value="${lib}/cisd-base" />
 			<param name="jar" value="cisd-base.jar" />
 		</antcall>
+		<antcall target="copy-and-sign-jar">
+			<param name="dir" value="${lib}/sybit-image-viewer" />
+			<param name="jar" value="image-viewer.jar" />
+		</antcall>
 		<antcall target="copy-and-sign-jar">
 			<param name="dir" value="${lib}/spring" />
 			<param name="jar" value="spring-web.jar" />
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java
index e71665ac99d..0751dba76e7 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/WellContentDialog.java
@@ -442,6 +442,7 @@ public class WellContentDialog extends Dialog
 
                                     Window.open(urlParams.toString(), "_blank",
                                             "resizable=yes,scrollbars=yes,dependent=yes");
+                                    hide();
 
                                 }
                             });
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
index 99dd9b5a08f..d9f0dfe20cc 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/public/screening-dictionary.js
@@ -79,7 +79,7 @@ var screening = {
     EXPERIMENT_PLATE_MATERIAL_BROWSER_SECTION: "Library Index",
 		EXACT_MATCH_ONLY: "Exact Matches Only",
 	
-  image_viewer_button: "Launch Image Viewer",
+  image_viewer_button: "Adjust Colors",
   
   // LAST LINE: KEEP IT AT THE END
   lastline: "" // we need a line without a comma
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java
index 414aec50ec3..1ab895837eb 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/server/ImageViewerLaunchServlet.java
@@ -30,11 +30,14 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.log4j.Logger;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.common.logging.LogCategory;
+import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.Template;
 import ch.systemsx.cisd.openbis.generic.client.web.server.AbstractServlet;
 import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.ParameterNames;
@@ -66,6 +69,7 @@ public class ImageViewerLaunchServlet extends AbstractServlet
                         + "    <j2se version='1.5+'/>\n"
                         + "    <jar href='screening.jar'/>\n"
                         + "    <jar href='cisd-base.jar'/>\n"
+                        + "    <jar href='image-viewer.jar'/>\n"
                         + "    <jar href='spring-web.jar'/>\n"
                         + "    <jar href='spring-context.jar'/>\n"
                         + "    <jar href='spring-beans.jar'/>\n"
@@ -87,9 +91,11 @@ public class ImageViewerLaunchServlet extends AbstractServlet
                         + "${data-set-and-wells-arguments}\n"
                         + "  </application-desc>\n" + "</jnlp>\n");
     
+    private  final Logger operationLog;
 
     public ImageViewerLaunchServlet()
     {
+        operationLog = LogFactory.getLogger(LogCategory.OPERATION, getClass());
     }
 
     @Override
@@ -107,8 +113,10 @@ public class ImageViewerLaunchServlet extends AbstractServlet
             template.bind("base-URL", createBaseURL(request));
             template.bind("main-class", getMainClass());
             template.bind("service-URL", basicURL);
-            template.bind("session-id", getSessionToken(request));
-            template.bind("channel", getParam(request, ParameterNames.CHANNEL));
+            String sessionToken = getSessionToken(request);
+            template.bind("session-id", sessionToken);
+            String channel = getParam(request, ParameterNames.CHANNEL);
+            template.bind("channel", channel);
             StringBuilder builder = new StringBuilder();
             for (String dataSetAndWells : getParams(request, ParameterNames.DATA_SET_AND_WELLS))
             {
@@ -117,6 +125,11 @@ public class ImageViewerLaunchServlet extends AbstractServlet
             template.bind("data-set-and-wells-arguments", builder.toString());
             writer.print(template.createText());
             writer.close();
+            if (operationLog.isInfoEnabled())
+            {
+                operationLog.info("Start Image Viewer for session " + sessionToken
+                        + " and channel " + channel);
+            }
         } catch (UserFailureException ex)
         {
             printError(response, ex.getMessage());
@@ -125,7 +138,7 @@ public class ImageViewerLaunchServlet extends AbstractServlet
     
     private String getMainClass()
     {
-        return "ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.ImageViewer";
+        return "ch.systemsx.sybit.imageviewer.gui.ImageViewer";
     }
     
     private String createBaseURL(HttpServletRequest request)
-- 
GitLab