dataproducer.java

来自「全面实现ilog地功能,没有使用第三方lib.」· Java 代码 · 共 90 行

JAVA
90
字号
/* * This source code is part of TWaver 1.3.1 * * SERVA Software PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * Copyright 2000-2005 SERVA Software, Inc. All rights reserved. */package demo.table;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.Vector;

import twaver.AlarmSeverity;
import twaver.TaskAdapter;
import twaver.table.TTableModel;

public class DataProducer extends TaskAdapter {
	private TTableModel tableModel;

	private int clock = 0;

	private Random r = new Random();

	public DataProducer(TTableModel tableModel) {
		this.tableModel = tableModel;
	
		// add 20 items
		Vector data = new Vector();
		for(int i=0; i<20; i++){
			data.add(createRowData());
		}		
		tableModel.setTableData(data);
		
		// remove row of index 2 
		tableModel.removeRow(2);
		
		// remove row with oid 7
		tableModel.removeRowByOID(new Integer(7));
		
		// remove rows with oid 11, 13, 15 
		List list = new ArrayList();
		list.add(new Integer(11));
		list.add(new Integer(13));
		list.add(new Integer(15));
		tableModel.removeRowsByOID(list);
	}

	public int getInterval() {
		return 2000;
	}

	public void run(long clock) {		if(tableModel.getRawData().size() > 200){			tableModel.clearRawData();		}
		tableModel.addRow(createRowData());
		tableModel.addRow(createNullRowData());
	}

	private Vector createRowData() {
		Vector rowData = new Vector();
		rowData.add(new Integer(clock));
		rowData.add("String:" + new Character((char) ('a' + r.nextInt(3))));
		rowData.add(new Character((char) ('A' + r.nextInt(8))));
		rowData.add(AlarmSeverity.getByValue(r.nextInt(6) * 100));
		rowData.add(new Boolean(r.nextBoolean()));
		rowData.add(new Double(r.nextInt(100) / 100.0));
		rowData.add(new Date());
		rowData.add(new Integer(clock++ % 3));
		rowData.add(new Float(r.nextInt(100) / 100.0));
		rowData.add(new Double(clock * r.nextInt(10) / 2.0));
		rowData.add(EnumEditor.City.getValues()[r.nextInt(3)]);
		rowData.add(EnumEditor.Language.getValues()[r.nextInt(4)]);
		rowData.add(new Person(r.nextInt(100), "name" + clock));
		rowData.add("I am hidden additional data <" + clock + ">");
		return rowData;
	}

	private Vector createNullRowData() {
		Vector rowData = new Vector();
		for (int i = 0; i < 13; i++) {
			rowData.add(null);
		}
		return rowData;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?