Search in sources :

Example 6 with CsvArrayList

use of jp.ossc.nimbus.util.CsvArrayList in project nimbus by nimbus-org.

the class CsvArrayListTest method testSetEscapeString.

public void testSetEscapeString() throws Exception {
    CsvArrayList ary = new CsvArrayList();
    ary.setEscapeString("@");
    ary.split("nakano@,hoge@,fuga@,,hirotaka@,", ",");
    assertEquals(ary.size(), 2);
    assertEquals(ary.getStr(0), "nakano,hoge,fuga,");
    assertEquals(ary.getStr(1), "hirotaka,");
    String tmp = ary.getStr(0);
    if (!tmp.endsWith(",")) {
        throw new Exception();
    }
    tmp = ary.getStr(1);
    if (!tmp.endsWith(",")) {
        throw new Exception();
    }
    ary.split("nakano@@,,hirotaka@@,", ",");
    assertEquals(ary.size(), 4);
    tmp = ary.getStr(0);
    if (!tmp.endsWith("@")) {
        throw new Exception();
    }
    tmp = ary.getStr(1);
    if (tmp.length() != 0) {
        throw new Exception();
    }
    tmp = ary.getStr(2);
    if (!tmp.endsWith("@")) {
        throw new Exception();
    }
}
Also used : CsvArrayList(jp.ossc.nimbus.util.CsvArrayList)

Example 7 with CsvArrayList

use of jp.ossc.nimbus.util.CsvArrayList in project nimbus by nimbus-org.

the class CachedPerformanceStatisticsService method toAry.

/**
 *	Listデータ取得<BR>
 *	指定のソートキーでソートを行う。<BR>
 * @param sortKey	ソートキー
 * @param isUpset	昇順、降順の指定
 * @return ArrayList	ソート統計情報
 */
public ArrayList toAry(int sortKey, boolean isUpset) {
    ArrayList sortList = new ArrayList();
    ArrayList retAry = new ArrayList();
    Hashtable tb = null;
    synchronized (this) {
        tb = (Hashtable) mHash.clone();
    }
    /**
     * データリストから一項目づつ取り出す。
     */
    for (Enumeration enumeration = tb.elements(); enumeration.hasMoreElements(); ) {
        PerformanceRecord item = (PerformanceRecord) enumeration.nextElement();
        // キーソートメソッドをコール
        if (sortKey == C_NAME) {
            _sortList(sortList, item, sortKey, isUpset);
        } else {
            _sortListByVal(sortList, item, sortKey, isUpset);
        }
    }
    /**
     * キーソートリストから出力文字配列にデータを転記
     */
    for (ListIterator iterator = sortList.listIterator(); iterator.hasNext(); ) {
        // KEY文字データ取得・CSV分解
        String sortItem = (String) iterator.next();
        CsvArrayList keyAry = new CsvArrayList();
        keyAry.split(sortItem, ";");
        // キーでHASHから対象パフォーマンスマネージャを取り出す。
        PerformanceRecord item = (PerformanceRecord) mHash.get(keyAry.getStr(0));
        if (item != null) {
            retAry.add(item);
        }
    }
    return retAry;
}
Also used : Enumeration(java.util.Enumeration) CsvArrayList(jp.ossc.nimbus.util.CsvArrayList) Hashtable(java.util.Hashtable) CsvArrayList(jp.ossc.nimbus.util.CsvArrayList) ArrayList(java.util.ArrayList) ListIterator(java.util.ListIterator)

Example 8 with CsvArrayList

use of jp.ossc.nimbus.util.CsvArrayList in project nimbus by nimbus-org.

the class CachedPerformanceStatisticsService method _sortListByVal.

/**
 *	ソートメソッド<BR>
 *	指定のソートキーでソートを行う。<BR>
 * @param sortList	ソート結果格納配列
 * @param item		PerformanceMangerオブジェクト
 * @param sortKey	ソートキー
 * @param isUpset	昇順、降順の指定
 */
private void _sortListByVal(ArrayList sortList, PerformanceRecord item, int sortKey, boolean isUpset) {
    // ログを取得する
    String cmpKey = null;
    if (sortKey == C_NAME) {
        cmpKey = item.getResourceId();
    } else if (sortKey == C_BEST) {
        Long tmpLong = new Long(item.getBestPerformance());
        cmpKey = tmpLong.toString();
    } else if (sortKey == C_WORST) {
        Long tmpLong = new Long(item.getWorstPerformance());
        cmpKey = tmpLong.toString();
    } else if (sortKey == C_AVERAGE) {
        Long tmpLong = new Long(item.getAveragePerformance());
        cmpKey = tmpLong.toString();
    } else if (sortKey == C_COUNT) {
        Long tmpLong = new Long(item.getCallTime());
        cmpKey = tmpLong.toString();
    }
    /**
     * sortデータ文字列を作成する<BR>
     *	resourceId + ";" 比較データ
     */
    String rscId = item.getResourceId() + ";" + cmpKey;
    int entryCnt = 0;
    /**
     * sortListにソートインサートする。
     */
    for (ListIterator iterator = sortList.listIterator(); iterator.hasNext(); entryCnt++) {
        // リストのコンペア項目を取り出す。
        String destCmp = (String) iterator.next();
        CsvArrayList parse = new CsvArrayList();
        parse.split(destCmp, ";");
        // コンペア
        int ret = 0;
        if (sortKey == C_NAME) {
            ret = cmpKey.compareTo(parse.getStr(1));
        } else {
            long value = Long.valueOf(parse.getStr(1)).longValue();
            long cmpvalue = Long.valueOf(cmpKey).longValue();
            if (cmpvalue == value) {
                ret = 0;
            } else if (cmpvalue < value) {
                ret = -1;
            } else {
                ret = 1;
            }
        }
        if (isUpset) {
            if (ret <= 0) {
                break;
            }
        } else {
            if (ret >= 0) {
                break;
            }
        }
    }
    sortList.add(entryCnt, rscId);
}
Also used : CsvArrayList(jp.ossc.nimbus.util.CsvArrayList) ListIterator(java.util.ListIterator)

Example 9 with CsvArrayList

use of jp.ossc.nimbus.util.CsvArrayList in project nimbus by nimbus-org.

the class CachedPerformanceStatisticsService method toStringAry.

// 
/**
 *	文字出力メソッド<BR>
 *	指定のソートキーでソートを行う。<BR>
 * @param sortKey	ソートキー
 * @param isUpset		昇順、降順の指定
 * @return String[] ソート結果
 */
public String[] toStringAry(int sortKey, boolean isUpset) {
    // ログを取得する
    ArrayList sortList = new ArrayList();
    CsvArrayList retAry = new CsvArrayList();
    Hashtable tb = null;
    synchronized (this) {
        tb = (Hashtable) mHash.clone();
    }
    /**
     * データリストから一項目づつ取り出す。
     */
    for (Enumeration enumeration = tb.elements(); enumeration.hasMoreElements(); ) {
        PerformanceRecord item = (PerformanceRecord) enumeration.nextElement();
        // キーソートメソッドをコール
        _sortList(sortList, item, sortKey, isUpset);
    }
    /**
     * キーソートリストから出力文字配列にデータを転記
     */
    for (ListIterator iterator = sortList.listIterator(); iterator.hasNext(); ) {
        // KEY文字データ取得・CSV分解
        String sortItem = (String) iterator.next();
        CsvArrayList keyAry = new CsvArrayList();
        keyAry.split(sortItem, ";");
        // キーでHASHから対象パフォーマンスマネージャを取り出す。
        PerformanceRecord item = (PerformanceRecord) mHash.get(keyAry.getStr(0));
        // 出力リストにパフォーマンス文字格納
        if (item != null) {
            retAry.add(item.toString());
        } else {
        }
    }
    /**
     * 出力
     */
    String[] retStrAry = retAry.toStringAry();
    return retStrAry;
}
Also used : Enumeration(java.util.Enumeration) CsvArrayList(jp.ossc.nimbus.util.CsvArrayList) Hashtable(java.util.Hashtable) CsvArrayList(jp.ossc.nimbus.util.CsvArrayList) ArrayList(java.util.ArrayList) ListIterator(java.util.ListIterator)

Example 10 with CsvArrayList

use of jp.ossc.nimbus.util.CsvArrayList in project nimbus by nimbus-org.

the class CachedPerformanceStatisticsService method _sortList.

// 
/**
 *	ソートメソッド<BR>
 *	指定のソートキーでソートを行う。<BR>
 * @param sortList	ソート結果格納配列
 * @param item		PerformanceMangerオブジェクト
 * @param sortKey	ソートキー
 * @param isUpset	昇順、降順の指定
 */
private void _sortList(ArrayList sortList, PerformanceRecord item, int sortKey, boolean isUpset) {
    // ログを取得する
    String cmpKey = null;
    if (sortKey == C_NAME) {
        cmpKey = item.getResourceId();
    } else if (sortKey == C_BEST) {
        Long tmpLong = new Long(item.getBestPerformance());
        cmpKey = tmpLong.toString();
    } else if (sortKey == C_WORST) {
        Long tmpLong = new Long(item.getWorstPerformance());
        cmpKey = tmpLong.toString();
    } else if (sortKey == C_AVERAGE) {
        Long tmpLong = new Long(item.getAveragePerformance());
        cmpKey = tmpLong.toString();
    } else if (sortKey == C_COUNT) {
        Long tmpLong = new Long(item.getCallTime());
        cmpKey = tmpLong.toString();
    }
    /**
     * sortデータ文字列を作成する<BR>
     *	resourceId + ";" 比較データ
     */
    String rscId = item.getResourceId() + ";" + cmpKey;
    // rscId = rscId + ";" + cmpKey ;
    int entryCnt = 0;
    /**
     * sortListにソートインサートする。
     */
    for (ListIterator iterator = sortList.listIterator(); iterator.hasNext(); entryCnt++) {
        // リストのコンペア項目を取り出す。
        String destCmp = (String) iterator.next();
        CsvArrayList parse = new CsvArrayList();
        parse.split(destCmp, ";");
        // コンペア
        int ret = cmpKey.compareTo(parse.getStr(1));
        if (isUpset) {
            if (ret <= 0) {
                break;
            }
        } else {
            if (ret >= 0) {
                break;
            }
        }
    }
    sortList.add(entryCnt, rscId);
}
Also used : CsvArrayList(jp.ossc.nimbus.util.CsvArrayList) ListIterator(java.util.ListIterator)

Aggregations

CsvArrayList (jp.ossc.nimbus.util.CsvArrayList)14 ListIterator (java.util.ListIterator)4 ArrayList (java.util.ArrayList)3 Enumeration (java.util.Enumeration)2 Hashtable (java.util.Hashtable)2 Iterator (java.util.Iterator)1 ServiceException (jp.ossc.nimbus.lang.ServiceException)1