/////////////////////////////////////////////////////////////////
//Copyright (C) 2005 NTT CORPORATION.
//
//GetChildMatStAction.java(教材構造ツリー取得処理)
//
//		変更履歴
//			2005.01.31  新規作成  OGA
//
//	機能
//
//SCORM LO 教材用 教材構造ツリーを取得する
//
/////////////////////////////////////////////////////////////////

/*
 * 作成日: 2005/02/18
 *
 * TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
package jp.co.ntt.lms.xmf.actions.lo.scorm.individuallog;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import jp.co.ntt.lms.xms.logsumup.scorm.ScormDocument;

/**
 * @author Administrator
 *
 * TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
 * ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
 */
public class GetChildMatStAction extends Action{
	
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		// キャッシュ無効処理
		response.setHeader( "cache-control", "no-cache" );

		// パラメータ取得
		String strLoID = request.getParameter( "LoID" );
		String strUID = request.getParameter( "UID" );
		try {
			// クライアントへ渡すバッファ領域確保
			String strGetLine = new String();

			//セッションより指定教材の構造定義ノードリストを取得
			ScormDocument objNode = null;
			try {
				objNode = (ScormDocument)request.getSession().getAttribute( strLoID );
			}
			catch( ClassCastException ce ) {
				ce.printStackTrace();
				return mapping.findForward("error");
			}

			if( objNode == null ) {
				return mapping.findForward("error");
			}
			// クライアントへ渡すデータの作成
			strGetLine = objNode.getChildListXml( strUID );

			// クライアントへ情報出力
			request.setAttribute("strGetLine", strGetLine.toString());

		} catch( Exception e ) {
			e.printStackTrace();
			return mapping.findForward("error");
		}
		
		return mapping.findForward("success");
	}
}
