From e4fa8cb9a93e6f81b01c3c361765658be9ff237d Mon Sep 17 00:00:00 2001
From: anttil <anttil>
Date: Fri, 8 Jul 2016 12:35:05 +0000
Subject: [PATCH] SSDM-3816: ELN: Installer Fixes

SVN: 36807
---
 .../bin/delete-eln-master-data-script.sh       |  8 --------
 .../bin/disable-eln-master-data-script.sh      | 11 +++++++++++
 .../resource/installer/userInputSpec.xml       |  6 +++---
 .../resource/tarball/console.properties        |  4 ++--
 .../installer/izpack/ELNMasterDataAction.java  | 18 +++++++-----------
 .../izpack/GlobalInstallationContext.java      |  8 ++++++--
 6 files changed, 29 insertions(+), 26 deletions(-)
 delete mode 100644 installation/resource/installer/bin/delete-eln-master-data-script.sh
 create mode 100644 installation/resource/installer/bin/disable-eln-master-data-script.sh

diff --git a/installation/resource/installer/bin/delete-eln-master-data-script.sh b/installation/resource/installer/bin/delete-eln-master-data-script.sh
deleted file mode 100644
index fdfcf5618cd..00000000000
--- a/installation/resource/installer/bin/delete-eln-master-data-script.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-BASE=`dirname "$0"`
-if [ ${BASE#/} == ${BASE} ]; then
-    BASE="`pwd`/${BASE}"
-fi
-
-echo "Removing ELN master data script"
-rm $BASE/../servers/core-plugins/eln-lims/1/as/initialize-master-data.py
diff --git a/installation/resource/installer/bin/disable-eln-master-data-script.sh b/installation/resource/installer/bin/disable-eln-master-data-script.sh
new file mode 100644
index 00000000000..67316e5be99
--- /dev/null
+++ b/installation/resource/installer/bin/disable-eln-master-data-script.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+BASE=`dirname "$0"`
+if [ ${BASE#/} == ${BASE} ]; then
+    BASE="`pwd`/${BASE}"
+fi
+
+if [ "$ELN_MASTER_DATA" == "false" ]; then
+    echo "Disabling ELN master data script";
+    mv $BASE/../servers/core-plugins/eln-lims/1/as/initialize-master-data-minimum.py $BASE/../servers/core-plugins/eln-lims/1/as/initialize-master-data.py;
+fi
+touch $BASE/../servers/core-plugins/eln-lims/1/as/.eln-master-data-installed
\ No newline at end of file
diff --git a/installation/resource/installer/userInputSpec.xml b/installation/resource/installer/userInputSpec.xml
index a7939961ed4..c84ea9630ca 100644
--- a/installation/resource/installer/userInputSpec.xml
+++ b/installation/resource/installer/userInputSpec.xml
@@ -78,10 +78,10 @@
     <field type="title" txt="ELN/LIMS master data" bold="true" size="2" />
 
     <field type="radio" variable="ELN-LIMS-MASTER-DATA">
-      <description align="left" txt="Should ELN/LIMS master data be installed?" />
+      <description align="left" txt="Install ELN/LIMS default entity types (PLASMID, YEAST, FLY, etc.)?" />
       <spec>
-          <choice txt="Yes" value="true"/>
-          <choice txt="No" value="false" set="true"/>
+          <choice txt="Yes" value="true" set="true"/>
+          <choice txt="No" value="false"/>
       </spec>
     </field>
   </panel>
diff --git a/installation/resource/tarball/console.properties b/installation/resource/tarball/console.properties
index 16d9de72ebb..24920bfaeda 100644
--- a/installation/resource/tarball/console.properties
+++ b/installation/resource/tarball/console.properties
@@ -47,8 +47,8 @@ KEY_PASSWORD = changeit
 # Standard technology ELN-LIMS is disabled by default
 #ELN-LIMS = true
 
-#ELN/LIMS master data is disabled by default. This setting is meaningful only if ELN-LIMS is enabled
-#ELN-LIMS-MASTER-DATA = true
+# Full ELN/LIMS master data is enabled by default. This setting is meaningful only if ELN-LIMS is enabled
+#ELN-LIMS-MASTER-DATA = false
 
 # Fast data set file browsing improves the performance of browsing of data sets with a large number of files. 
 # We recommend leaving it on for all instances, and especially screening instances.
diff --git a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ELNMasterDataAction.java b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ELNMasterDataAction.java
index cd024d181c2..a7fce004bf9 100644
--- a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ELNMasterDataAction.java
+++ b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/ELNMasterDataAction.java
@@ -16,9 +16,8 @@
 
 package ch.systemsx.cisd.openbis.installer.izpack;
 
-import static ch.systemsx.cisd.openbis.installer.izpack.GlobalInstallationContext.TECHNOLOGY_ELN_LIMS;
-
 import java.util.HashMap;
+import java.util.Map;
 
 import com.izforge.izpack.api.data.AutomatedInstallData;
 import com.izforge.izpack.api.data.PanelActionConfiguration;
@@ -31,23 +30,20 @@ public class ELNMasterDataAction extends AbstractScriptExecutor
     /**
      * a script that creates a installation backup.
      */
-    private static final String CREATE_BACKUP_SCRIPT = "delete-eln-master-data-script.sh";
+    private static final String ELN_MASTER_DATA_SCRIPT = "disable-eln-master-data-script.sh";
 
     @Override
     public synchronized void executeAction(AutomatedInstallData data)
     {
-        String script = getAdminScript(data, CREATE_BACKUP_SCRIPT);
+        String script = getAdminScript(data, ELN_MASTER_DATA_SCRIPT);
 
-        String elnEnabled = data.getVariable(TECHNOLOGY_ELN_LIMS);
         String elnMasterDataEnabled = data.getVariable("ELN-LIMS-MASTER-DATA");
-        if (elnMasterDataEnabled == null)
-        {
-            elnMasterDataEnabled = "true";
-        }
 
-        if ("true".equals(elnEnabled) && "false".equals(elnMasterDataEnabled))
+        if (elnMasterDataEnabled != null)
         {
-            executeAdminScript(new HashMap<String, String>(), script);
+            Map<String, String> env = new HashMap<String, String>();
+            env.put("ELN_MASTER_DATA", elnMasterDataEnabled);
+            executeAdminScript(env, script);
         }
     }
 
diff --git a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java
index 965cc8436de..f74b3cb278d 100644
--- a/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java
+++ b/installation/source/java/ch/systemsx/cisd/openbis/installer/izpack/GlobalInstallationContext.java
@@ -120,8 +120,12 @@ public class GlobalInstallationContext
         }
 
         isElnMasterDataNotInstalled = (isFirstTimeInstallation == true) ||
-                (new File(installDir, "servers/core-plugins/eln-lims/1/as/initialize-master-data.py").exists() == false) ||
-                (new SetTechnologyCheckBoxesAction().isTechnologyEnabled(installDir, TECHNOLOGY_ELN_LIMS) == false);
+                ((new File(installDir, "servers/core-plugins/eln-lims/1/as/initialize-master-data.py").exists() == false) &&
+                        (new File(installDir, "servers/core-plugins/eln-lims/1/as/initialize-master-data-minimum.py").exists() == false))
+                ||
+                ((new File(installDir, "servers/core-plugins/eln-lims/1/as/.eln-master-data-installed").exists() == false) &&
+                        (new File(installDir, "servers/core-plugins/eln-lims/1/as/initialize-master-data-minimum.py").exists() == true));
+
     }
 
     private static boolean installationExists()
-- 
GitLab