package addressbook;

import com.neocore.httpclient.*;

public class ConnectXprioriBean {

	// メンバ変数の定義
	private static String server = "localhost"; // ホスト名

	private static String username = "Administrator"; // ユーザ名

	private static String password = "admin"; // パスワード

	private static int port_num = 7700; // ポート番号

	private static SessionManagedNeoConnection neosession; // SessionManagedNeoConnectionオブジェクト

	private static String sid = null; // セッションID

	/**
	 * コンストラクタ Xprioriへの接続を確立する
	 */
	public ConnectXprioriBean() {
		try {// Xprioriへの接続をおこなう
			neosession = new SessionManagedNeoConnection(server, port_num);
		} catch (Exception e) {
			System.out.println("接続に失敗しました:" + e);
			return;
		}
		try {// Xprioriへログインする
			sid = neosession.login(username, password);
		} catch (Exception e) {
			System.out.println("ログインに失敗しました:" + e);
		}
	}

	/**
	 * ログアウトする
	 */
	public void logout() {
		try {// ログアウトをする
			neosession.logout();
		} catch (Exception e) {
			System.out.println("ログアウトに失敗しました:" + e);
		}
	}

	/**
	 * クエリーを送信する
	 * 
	 * @param xpath
	 *            XPath式
	 * @return 検索結果XML
	 */
	public String query(String xpath) {
		String ret = "";
		try {// queryXMLをラップする
			ret = neosession.queryXML(xpath);
		} catch (Exception e) {
			System.out.println("エラーが発生しました: " + e);
		}
		return ret;
	}

}

