/*
* OpenClinica is distributed under the GNU Lesser General Public License (GNU
* LGPL).
*
* For details see: http://www.openclinica.org/license copyright 2003-2011 Akaza
* Research
*
*/
package org.akaza.openclinica.logic.odmExport;
import java.util.HashMap;
public class ClinicalDataUtil {
/**
* Return true if itValue contains at least one nullValue.
*
* @param itValue
* @param key
* @param nullValueCVs
* @return
*/
public static Boolean isNull(String itValue, String key, HashMap<String, String> nullValueCVs) {
if (nullValueCVs.containsKey(key)) {
String[] nullvalues = nullValueCVs.get(key).split(",");
String[] values = itValue.split(",");
for(String v : values) {
v = v.trim();
for (String n : nullvalues) {
if (v.equals(n.trim())) {
return true;
}
}
}
}
return false;
}
/**
* <p>Precondition: itValue has null value(s) in it. nullValueStr has no space.
* nullValueStr starts and ends with ","</p>
*
* @param itValue
* @param nullValueStr
* @return
*/
public static boolean isValueWithNull(String itValue, String nullValueStr) {
String[] values = itValue.split(",");
for(String v : values) {
if(!nullValueStr.contains(","+v.trim()+",")) {
return true;
}
}
return false;
}
/**
* <p>Precondition: itValue has null value(s) in it. nullValueStr has no space.
* nullValueStr starts and ends with ","</p>
*
* @param itValue
* @param nulls
* @return
*/
public static String getNullsInValue(String itValue, String nullValueStr) {
String vnull = ",";
String[] values = itValue.split(",");
for(String v : values) {
v = v.trim();
if(nullValueStr.contains(","+v+",") && !vnull.contains(","+v+",")) {
vnull += v + ",";
}
}
return vnull.substring(1, vnull.length()-1);
}
/**
* <p>Return nullValueStr with no space, and with "," at the beginning and the end.</p>
* @param nullValueStr
* @return
*/
public static String presetNullValueStr(String nullValueStr) {
String nullvalues = nullValueStr;
if(nullvalues.contains(" ")) {
nullvalues = nullvalues.replace(" ", "");
}
nullvalues = nullvalues.endsWith(",")?","+nullvalues:","+nullvalues+",";
return nullvalues;
}
}