GroupSessionでは各種IDを採番するために採番マスタを使用しています。
ここではのその採番マスタから新しいIDを取得する方法について説明します。
このドキュメントは、Java、Apache Struts、Jakarta Antについての知識がある事を前提とします。
新しいIDを各プラグイン側で取得する方法を「Hello World!」プラグインを作成する方法で作成したソースファイルを元に説明します。
IDを採番するにはまず、jp.groupsession.v2.cmn.dao.MlCountMtControllerを取得します。
jp.groupsession.v2.struts.AbstractGsActionを継承していればgetCountMtController()メソッドから取得できます。
次にMlCountMtControllerクラスのgetSaibanNumber(String, String, int)メソッドを実行することでIDを採番することができます。
MlCountMtControllerクラスでは第1・第2引数毎に採番を行うので、他の採番レコードと重複しないように指定する必要があります。
既にGroupSessionで使用されている採番IDは設計書ダウンロードページのコード定義書を参照してください。
package jp.groupsession.v2.newplugin.helloworld;
import java.sql.Connection;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import jp.groupsession.v2.cmn.GSConst;
import jp.groupsession.v2.cmn.dao.BaseUserModel;
import jp.groupsession.v2.cmn.dao.MlCountMtController;
import jp.groupsession.v2.struts.AbstractGsAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* [機 能] HelloWorldのアクションクラス
* [解 説]
* [備 考]
*
* @author JTS
*/
public class HelloWorldAction extends AbstractGsAction {
/**
* [機 能] アクションを実行する
* [解 説]
* [備 考]
* @param map ActionMapping
* @param form ActionForm
* @param req HttpServletRequest
* @param res HttpServletResponse
* @param con DB Connection
* @return ActionForward
* @throws Exception 実行時例外
*/
public ActionForward executeAction(ActionMapping map,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res,
Connection con)
throws Exception {
//HttpServletRequestからHttpSessionを取得します。
HttpSession session = req.getSession();
//セッション情報からログインユーザの情報を取得します。
BaseUserModel usModel =
(BaseUserModel) session.getAttribute(GSConst.SESSION_KEY);
//セッション情報からユーザSIDを取得
int usrSid = usModel.getUsrsid();
//採番マスタコントローラーを取得
MlCountMtController cntCon = getCountMtController();
//採番マスタからHelloWorldIDを取得
long newId = cntCon.getSaibanNumber("helloworld", "group", usrSid);
return map.getInputForward();
}
}