package jp.ac.naka.ec.entity.test;

import jp.ac.naka.ec.*;
import jp.ac.naka.ec.entity.*;

import java.io.*;

public class TestEntity extends AbstractEntity {
	public TestEntity() {
		// キーワードの追加
		addKeyword("test");
	}

	public void receiveMessage(EntityEvent evt) {
		// メッセージの取得
		String msg = evt.getMessage();
		// コンソールへの出力
		System.out.println("Receive :" + msg);
	}

	public static void main(String[] args) {
		// フロントエンドの取得
		EntityCollaborator ec = EntityCollaborator.getInstance();
		TestEntity test = new TestEntity();
		try {
			// Sipの初期化
			ec.initiateSipCore(5060);
			// DHTの初期化
			ec.initiateDHT();
			// TestEntityをシステムに追加
			ec.addEntity(test);
			ec.addEntity(new ButtonEntity());
			
			// 標準入力をEntityに送信する
			BufferedReader d = new BufferedReader(new InputStreamReader(System.in));
			String str = d.readLine();
			// キーワード"test"のEntityの探索
			Entity[] entities = ec.searchEntities("test");
			// メッセージの送信
			if(entities.length != 0)
				test.sendMessage(str, entities[0]);
		} catch (Exception e) {}
	}
}
