edu.harvard.i2b2.ontology.util.StringUtil.java Source code

Java tutorial

Introduction

Here is the source code for edu.harvard.i2b2.ontology.util.StringUtil.java

Source

/*
 * Copyright (c) 2006-2007 Massachusetts General Hospital 
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the i2b2 Software License v1.0 
 * which accompanies this distribution. 
 * 
 * Contributors:
 *       Lori Phillips
 */
package edu.harvard.i2b2.ontology.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import edu.harvard.i2b2.common.exception.I2B2Exception;

/**
 * StringUtil class to perform string parsing tasks
 * This is singleton class.
 * @author lcp5
 */
public class StringUtil {
    private static Log log = LogFactory.getLog(StringUtil.class.getName());
    //to make this class singleton
    private static StringUtil thisInstance;

    static {
        thisInstance = new StringUtil();
    }

    public static StringUtil getInstance() {
        return thisInstance;
    }

    public static String getTableCd(String fullPath) {
        int end = fullPath.indexOf("\\", 3);
        return fullPath.substring(2, end).trim();
    }

    public static String getPath(String fullPath) {
        int end = fullPath.indexOf("\\", 3);

        fullPath = fullPath.substring(end).trim();

        Boolean addDelimiter = true;

        try {
            addDelimiter = OntologyUtil.getInstance().getOntTerminalDelimiter();
        } catch (I2B2Exception e) {
            log.debug(e.getMessage() + " property set to false");
            addDelimiter = false; //if delimiter property is missing; assume false.

        }

        // add trailing backslash if ont.terminal.delimiter property set to true.
        if (addDelimiter) {
            if (fullPath.lastIndexOf('\\') != fullPath.length() - 1) {
                fullPath = fullPath + "\\";
            }
        }
        return fullPath;

    }

    public static String getLiteralPath(String fullPath) {
        int end = fullPath.indexOf("\\", 3);

        fullPath = fullPath.substring(end).trim();

        return fullPath;

    }

    public static String escapePOSTGRESQL(String sql) {
        sql = sql.replaceAll("\\\\", "\\\\\\\\");
        sql = sql.replaceAll("'", "''");
        //       sql=sql.replaceAll("\\?", "??");
        //      sql=sql.replaceAll("_", "?_");    
        //     sql=sql.replaceAll("%", "?%");
        //    sql=sql.replaceAll("\\[", "?["); 
        //   sql += "%";

        return sql;
    }

    public static String escapeSQLSERVER(String sql) {

        sql = sql.replaceAll("\\?", "??");
        sql = sql.replaceAll("_", "?_");
        sql = sql.replaceAll("%", "?%");
        sql = sql.replaceAll("\\[", "?[");
        //   sql += "%";

        return sql;
    }

    public static String escapeORACLE(String sql) {

        sql = sql.replaceAll("\\?", "??");
        sql = sql.replaceAll("_", "?_");
        sql = sql.replaceAll("%", "?%");
        //     sql += "%";
        return sql;
    }

    public static String getCpath(String key) {
        int beginning = key.indexOf("\\", 3);
        if (key.endsWith("\\")) {
            key = key.substring(0, key.length() - 1).trim();
        }
        int end = key.lastIndexOf("\\");
        String cpath = key.substring(beginning, end + 1).trim();

        return cpath;

    }

    public static String getSymbol(String key) {
        if (key.endsWith("\\")) {
            key = key.substring(0, key.length() - 1).trim();
        }
        int end = key.lastIndexOf("\\");
        String symbol = key.substring(end + 1, key.length()).trim();

        return symbol;
    }

}