• R/O
  • SSH
  • HTTPS

mscheduler: コミット


コミットメタ情報

リビジョン143 (tree)
日時2013-06-24 17:31:14
作者minorun

ログメッセージ

sqlite3導入を実施。
-> 新規ファイルを追加。

変更サマリ

差分

--- mScheduler/src/jScheduleData/MSchedulerDB.java (nonexistent)
+++ mScheduler/src/jScheduleData/MSchedulerDB.java (revision 143)
@@ -0,0 +1,81 @@
1+package jScheduleData;
2+
3+import java.io.File;
4+import java.sql.Connection;
5+import java.sql.DriverManager;
6+import java.sql.PreparedStatement;
7+import java.sql.Statement;
8+
9+public abstract class MSchedulerDB {
10+
11+ //
12+ private File dbFile;
13+
14+ /**
15+ * コンストラクタ
16+ */
17+ public MSchedulerDB(File dbFile) {
18+ this.dbFile = dbFile;
19+ }
20+
21+ /**
22+ *
23+ */
24+ abstract public void createTable();
25+
26+ /**
27+ * prepare statementを取得する
28+ */
29+ protected PreparedStatement getPStatement(String sql){
30+ try{
31+ Class.forName("org.sqlite.JDBC");
32+ Connection con;
33+ if ((con = getConnection()) == null){
34+ return null;
35+ }
36+ PreparedStatement pstatement = con.prepareStatement(sql);
37+ return pstatement;
38+ }catch (Exception e){
39+ e.printStackTrace();
40+ }
41+ return null;
42+ }
43+
44+ /**
45+ * statementを取得する
46+ */
47+ protected Statement getStatement(){
48+ try{
49+ Class.forName("org.sqlite.JDBC");
50+ Connection con;
51+ if ((con = getConnection()) == null){
52+ return null;
53+ }
54+ Statement statement = con.createStatement();
55+ return statement;
56+ }catch (Exception e){
57+ e.printStackTrace();
58+ }
59+ return null;
60+ }
61+
62+ /**
63+ * dbに接続する
64+ */
65+ protected Connection getConnection(){
66+ if (con!=null){
67+ return con;
68+ }
69+
70+ try{
71+ con = DriverManager.getConnection("jdbc:sqlite:" + dbFile);
72+ return con;
73+ } catch (Exception e){
74+ e.printStackTrace();
75+ }
76+ return null;
77+ }
78+
79+ //
80+ private Connection con;
81+}
--- mScheduler/src/jScheduleData/MSchedulerDBTPointDimension.java (nonexistent)
+++ mScheduler/src/jScheduleData/MSchedulerDBTPointDimension.java (revision 143)
@@ -0,0 +1,188 @@
1+package jScheduleData;
2+
3+import java.awt.Dimension;
4+import java.awt.Point;
5+import java.io.File;
6+import java.sql.PreparedStatement;
7+import java.sql.ResultSet;
8+import java.sql.Statement;
9+
10+public class MSchedulerDBTPointDimension extends MSchedulerDB {
11+
12+ // colum定数定義
13+ // T_POINT_DIMENSION
14+ private static final String COL_MAIN_POINT_X = "main_point_x";
15+ private static final String COL_MAIN_POINT_Y = "main_point_y";
16+ private static final String COL_MAIN_DIMENSION_X = "main_dimension_x";
17+ private static final String COL_MAIN_DIMENSION_Y = "main_dimension_y";
18+ private static final String COL_DIALOG_POINT_X = "dialog_point_x";
19+ private static final String COL_DIALOG_POINT_Y = "dialog_point_y";
20+ private static final String COL_DIALOG_DIMENSION_X = "dialog_dimension_x";
21+ private static final String COL_DIALOG_DIMENSION_Y = "dialog_dimension_y";
22+ private static final String COL_USERNAME = "username";
23+
24+
25+ /**
26+ * コンストラクタ
27+ */
28+ public MSchedulerDBTPointDimension(File dbFile) {
29+ super(dbFile);
30+ }
31+
32+ /**
33+ * テーブルを作成する
34+ */
35+ public void createTable(){
36+ Statement st = getStatement();
37+ try{
38+ st.execute("CREATE TABLE T_POINT_DIMENSION(" +
39+ COL_MAIN_POINT_X + "," +
40+ COL_MAIN_POINT_Y + "," +
41+ COL_MAIN_DIMENSION_X + "," +
42+ COL_MAIN_DIMENSION_Y + "," +
43+ COL_DIALOG_POINT_X + "," +
44+ COL_DIALOG_POINT_Y + "," +
45+ COL_DIALOG_DIMENSION_X + "," +
46+ COL_DIALOG_DIMENSION_Y + "," +
47+ COL_USERNAME + ");");
48+ }catch (Exception e){
49+ e.printStackTrace();
50+ }
51+ }
52+
53+ /**
54+ * レコードを作成する
55+ */
56+ public int create(Point mainPoint, Dimension mainDimension, Point diagPoint, Dimension diagDimension, String username){
57+ // SQL
58+ String sql = "INSERT INTO T_POINT_DIMENSION (" +
59+ COL_MAIN_POINT_X + "," +
60+ COL_MAIN_POINT_Y + "," +
61+ COL_MAIN_DIMENSION_X + "," +
62+ COL_MAIN_DIMENSION_Y + "," +
63+ COL_DIALOG_POINT_X + "," +
64+ COL_DIALOG_POINT_Y + "," +
65+ COL_DIALOG_DIMENSION_X + "," +
66+ COL_DIALOG_DIMENSION_Y + "," +
67+ COL_USERNAME + ") " +
68+ "VALUES (?,?,?,?,?,?,?,?,?);";
69+
70+ // execute
71+ PreparedStatement ps;
72+ try{
73+ ps = getPStatement(sql);
74+ ps.setInt(1,mainPoint.x);
75+ ps.setInt(2,mainPoint.y);
76+ ps.setInt(3,mainDimension.width);
77+ ps.setInt(4,mainDimension.height);
78+ ps.setInt(5,diagPoint.x);
79+ ps.setInt(6,diagPoint.y);
80+ ps.setInt(7,diagDimension.width);
81+ ps.setInt(8,diagDimension.height);
82+ ps.setString(9,username);
83+ return ps.executeUpdate();
84+ }catch (Exception e){
85+ e.printStackTrace();
86+ return -1;
87+ }
88+ }
89+
90+ /**
91+ * 全レコードを削除する
92+ */
93+ public int deleteAll(){
94+ // SQL
95+ String sql = "DELETE FROM T_POINT_DIMENSION";
96+
97+ // execute
98+ PreparedStatement ps;
99+ try{
100+ ps = getPStatement(sql);
101+ ps.executeUpdate();
102+ ps.close();
103+ return 0;
104+ }catch (Exception e){
105+ e.printStackTrace();
106+ return -1;
107+ }
108+ }
109+
110+ /**
111+ *
112+ */
113+ public int buildHeaderInfo(JScheduleDataHeaderSqlite jshs){
114+ return storeHeaderInfo(selectAll(), jshs);
115+ }
116+
117+ /**
118+ * 読み込む
119+ */
120+ private ResultSet selectAll(){
121+
122+ // SQL
123+ String sql = "SELECT * FROM T_POINT_DIMENSION;";
124+
125+ Statement statement = getStatement();
126+ ResultSet rs;
127+ try{
128+ rs = statement.executeQuery(sql);
129+ }catch (Exception e){
130+ e.printStackTrace();
131+ return null;
132+ }
133+ return rs;
134+ }
135+
136+ /**
137+ * データをheaderに格納する
138+ */
139+ private int storeHeaderInfo(ResultSet rs, JScheduleDataHeaderSqlite jshs){
140+ try{
141+ while(rs.next()){
142+ oneHeaderInfo(rs, jshs);
143+ }
144+ return 0;
145+ }catch (Exception e){
146+ e.printStackTrace();
147+ return -1;
148+ }
149+ }
150+
151+ /**
152+ * ひとつのrecordをheaderに格納する
153+ */
154+ private int oneHeaderInfo(ResultSet rs, JScheduleDataHeaderSqlite jshs){
155+
156+ int mainX;
157+ int mainY;
158+ int mainDX;
159+ int mainDY;
160+ int diagX;
161+ int diagY;
162+ int diagDX;
163+ int diagDY;
164+ String username;
165+
166+ try {
167+ mainX = rs.getInt(COL_MAIN_POINT_X);
168+ mainY = rs.getInt(COL_MAIN_POINT_Y);
169+ mainDX = rs.getInt(COL_MAIN_DIMENSION_X);
170+ mainDY = rs.getInt(COL_MAIN_DIMENSION_Y);
171+ diagX = rs.getInt(COL_DIALOG_POINT_X);
172+ diagY = rs.getInt(COL_DIALOG_POINT_Y);
173+ diagDX = rs.getInt(COL_DIALOG_DIMENSION_X);
174+ diagDY = rs.getInt(COL_DIALOG_DIMENSION_Y);
175+ username = rs.getString(COL_USERNAME);
176+ } catch (Exception e){
177+ e.printStackTrace();
178+ return -1;
179+ }
180+ // headerに格納する
181+ jshs.mainFramePoint = new Point(mainX, mainY);
182+ jshs.mainFrameDimension = new Dimension(mainDX, mainDY);
183+ jshs.detailDialogPoint = new Point(diagX, diagY);
184+ jshs.detailDialogDimension = new Dimension(diagDX, diagDY);
185+ jshs.userName = username;
186+ return 0;
187+ }
188+}
--- mScheduler/src/jScheduleData/MSchedulerDBTJscheduleData.java (nonexistent)
+++ mScheduler/src/jScheduleData/MSchedulerDBTJscheduleData.java (revision 143)
@@ -0,0 +1,263 @@
1+package jScheduleData;
2+
3+import java.io.File;
4+import java.sql.PreparedStatement;
5+import java.sql.ResultSet;
6+import java.sql.Statement;
7+
8+import scheduleData.DateInfo;
9+import scheduleData.ScheduleData;
10+
11+public class MSchedulerDBTJscheduleData extends MSchedulerDB {
12+
13+ // T_JSCHEDULE_DATA
14+ private static final String COL_ID = "id";
15+ private static final String COL_TITLE = "title";
16+ private static final String COL_S_DATE = "s_date";
17+ private static final String COL_E_DATE = "e_date";
18+ private static final String COL_PLACE = "place";
19+ private static final String COL_PROJECT_UNIT_NAME = "project_unit_name";
20+ private static final String COL_PROJECT_CODE = "project_code";
21+ private static final String COL_PHASE = "phase";
22+ private static final String COL_WORK = "work";
23+ private static final String COL_COMMENT = "comment";
24+ private static final String COL_CLOSED = "closed";
25+ private static final String COL_UN_FIXED = "un_fixed";
26+ private static final String COL_PROGRESS_RATIO = "progress_ratio";
27+ private static final String COL_UNIQUE_ID = "unique_id";
28+ private static final String COL_WBS_NO = "wbs_no";
29+ private static final String COL_COLOR_INFO = "color_info";
30+
31+ /**
32+ * コンストラクタ
33+ */
34+ public MSchedulerDBTJscheduleData(File dbFile) {
35+ super(dbFile);
36+ }
37+
38+ /**
39+ * テーブルを作成する
40+ */
41+ public void createTable(){
42+ Statement st = getStatement();
43+ try{
44+ st.execute("CREATE TABLE T_JSCHEDULE_DATA(" +
45+ COL_ID + "," +
46+ COL_TITLE + "," +
47+ COL_S_DATE + "," +
48+ COL_E_DATE + "," +
49+ COL_PLACE + "," +
50+ COL_PROJECT_UNIT_NAME + "," +
51+ COL_PROJECT_CODE + "," +
52+ COL_PHASE + "," +
53+ COL_WORK + "," +
54+ COL_COMMENT + "," +
55+ COL_CLOSED + "," +
56+ COL_UN_FIXED + "," +
57+ COL_PROGRESS_RATIO + "," +
58+ COL_UNIQUE_ID + "," +
59+ COL_WBS_NO + "," +
60+ COL_COLOR_INFO + ");");
61+ }catch (Exception e){
62+ e.printStackTrace();
63+ }
64+
65+ //
66+ createIndex();
67+ }
68+
69+ /**
70+ *
71+ */
72+ private void createIndex(){
73+ Statement st = getStatement();
74+ try{
75+ st.execute("CREATE INDEX IND01 ON T_JSCHEDULE_DATA(" +
76+ COL_ID + ");");
77+ }catch (Exception e){
78+ e.printStackTrace();
79+ }
80+ }
81+
82+ /**
83+ *
84+ */
85+ public ScheduleData getById(String id){
86+ // SQL
87+ String sql = "SELECT * FROM T_JSCHEDULE_DATA WHERE ID = ?";
88+
89+ // execute
90+ PreparedStatement ps;
91+ ResultSet rs;
92+ try{
93+ ps = getPStatement(sql);
94+ ps.setString(1, id);
95+ rs = ps.executeQuery();
96+ }catch (Exception e){
97+ e.printStackTrace();
98+ return null;
99+ }
100+ return exScheduleData(rs);
101+ }
102+
103+ /**
104+ * レコードを作成する
105+ */
106+ public int create(ScheduleData sd){
107+ // SQL
108+ String sql = "INSERT INTO T_JSCHEDULE_DATA (" +
109+ COL_ID + "," +
110+ COL_TITLE + "," +
111+ COL_S_DATE + "," +
112+ COL_E_DATE + "," +
113+ COL_PLACE + "," +
114+ COL_PROJECT_UNIT_NAME + "," +
115+ COL_PROJECT_CODE + "," +
116+ COL_PHASE + "," +
117+ COL_WORK + "," +
118+ COL_COMMENT + "," +
119+ COL_CLOSED + "," +
120+ COL_UN_FIXED + "," +
121+ COL_PROGRESS_RATIO + "," +
122+ COL_UNIQUE_ID + "," +
123+ COL_WBS_NO + "," +
124+ COL_COLOR_INFO + ")" +
125+ "VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
126+
127+ // execute
128+ PreparedStatement ps;
129+ try{
130+ ps = getPStatement(sql);
131+ ps.setString(1,sd.createScheduleDataKey());
132+ ps.setString(2,sd.getTitle());
133+ ps.setString(3,sd.getS_date().createDateInfoKey());
134+ ps.setString(4,sd.getE_date().createDateInfoKey());
135+ ps.setString(5,sd.getPlace());
136+ ps.setString(6,sd.getProjectUnitName());
137+ ps.setString(7,sd.getPrj_code());
138+ ps.setString(8,sd.getPhaseName());
139+ ps.setString(9,sd.getWork());
140+ ps.setString(10,sd.getComment());
141+ ps.setBoolean(11,sd.isClosed());
142+ ps.setBoolean(12,sd.isUnFixed());
143+ ps.setInt(13, sd.getProgressRatio());
144+ ps.setInt(14,sd.getUniquieId());
145+ ps.setString(15,sd.getWbsNo());
146+ ps.setInt(16,sd.getColorInfo());
147+ return ps.executeUpdate();
148+ }catch (Exception e){
149+ e.printStackTrace();
150+ return -1;
151+ }
152+ }
153+
154+
155+ /**
156+ *
157+ */
158+ public int deleteById(String id){
159+ // SQL
160+ String sql = "DELETE FROM T_JSCHEDULE_DATA WHERE ID = ?";
161+
162+ // execute
163+ PreparedStatement ps;
164+ try{
165+ ps = getPStatement(sql);
166+ ps.setString(1, id);
167+ return ps.executeUpdate();
168+ }catch (Exception e){
169+ e.printStackTrace();
170+ return -1;
171+ }
172+ }
173+
174+ /**
175+ * すべてのスケジュールデータを読み込み、mapに格納する
176+ * (初期起動時の処理)
177+ */
178+ public int buildAllSchedule(DateInfo dateInfo, JScheduleData jsd){
179+ return scheduleData2map(getAllSchedule(dateInfo),jsd);
180+ }
181+
182+ /**
183+ * すべてのスケジュールデータを読み込む
184+ */
185+ private ResultSet getAllSchedule(DateInfo dateInfo){
186+
187+ // SQL
188+ String sql = "SELECT * FROM T_JSCHEDULE_DATA WHERE S_DATE >= ?";
189+
190+ // execute
191+ PreparedStatement ps;
192+ ResultSet rs;
193+ try{
194+ ps = getPStatement(sql);
195+ ps.setString(1, dateInfo.createDateInfoKey());
196+ rs = ps.executeQuery();
197+ }catch (Exception e){
198+ e.printStackTrace();
199+ return null;
200+ }
201+ return rs;
202+ }
203+
204+ /**
205+ * 読み込んだスケジュールデータをmapに格納する
206+ */
207+ private int scheduleData2map(ResultSet rs, JScheduleData jsd){
208+ try{
209+ while(rs.next()){
210+ oneScheduleData2map(rs, jsd);
211+ }
212+ return 0;
213+ }catch (Exception e){
214+ e.printStackTrace();
215+ return -1;
216+ }
217+ }
218+
219+ /**
220+ * ひとつのスケジュールデータをmapに格納する
221+ */
222+ private int oneScheduleData2map(ResultSet rs, JScheduleData jsd){
223+
224+ // sdを抽出する
225+ ScheduleData sd;
226+ if ((sd = exScheduleData(rs)) == null){
227+ return -1;
228+ }
229+
230+ // mapに格納する
231+ jsd.addSchedule2ScheduleDataMap2(sd);
232+ jsd.addSchedule2DayScheduleDataMap(sd);
233+ return 0;
234+ }
235+
236+ /**
237+ * resultset からスケジュールデータを作成する
238+ */
239+ private ScheduleData exScheduleData(ResultSet rs){
240+ ScheduleData sd = new ScheduleData();
241+ try {
242+ sd.setTitle(rs.getString(COL_TITLE));
243+ sd.setS_date(new DateInfo(rs.getString(COL_S_DATE)));
244+ sd.setE_date(new DateInfo(rs.getString(COL_E_DATE)));
245+ sd.setPlace(rs.getString(COL_PLACE));
246+ sd.setProjectUnitName(rs.getString(COL_PROJECT_UNIT_NAME));
247+ sd.setPrj_code(rs.getString(COL_PROJECT_CODE));
248+ sd.setPhaseName(rs.getString(COL_PHASE));
249+ sd.setWork(rs.getString(COL_WORK));
250+ sd.setComment(rs.getString(COL_COMMENT));
251+ sd.setClosed(rs.getBoolean(COL_CLOSED));
252+ sd.setUnFixed(rs.getBoolean(COL_UN_FIXED));
253+ sd.setProgressRatio(rs.getInt(COL_PROGRESS_RATIO));
254+ sd.setUniquieId(rs.getInt(COL_UNIQUE_ID));
255+ sd.setWbsNo(rs.getString(COL_WBS_NO));
256+ sd.setColorInfo(rs.getInt(COL_COLOR_INFO));
257+ } catch (Exception e){
258+ e.printStackTrace();
259+ return null;
260+ }
261+ return sd;
262+ }
263+}
--- mScheduler/src/jScheduleData/JScheduleDataSqlite.java (nonexistent)
+++ mScheduler/src/jScheduleData/JScheduleDataSqlite.java (revision 143)
@@ -0,0 +1,116 @@
1+package jScheduleData;
2+
3+import java.io.File;
4+import java.util.ArrayList;
5+
6+import scheduleData.DateInfo;
7+import scheduleData.ScheduleData;
8+
9+import commonData.UserInfo;
10+
11+public class JScheduleDataSqlite extends JScheduleData {
12+
13+ public JScheduleDataSqlite(UserInfo userInfo, File dbFile) {
14+ super(userInfo);
15+
16+ // 拡張子.sqlite3以外は認めない
17+ if (!dbFile.getPath().endsWith(".sqlite3")){
18+ return;
19+ }
20+
21+ this.userInfo = userInfo;
22+ this.db = new MSchedulerDBTJscheduleData(dbFile);
23+ JScheduleDataHeaderSqlite jsdhs = new JScheduleDataHeaderSqlite(dbFile);
24+
25+ // ファイルがなかったら新規ユーザとみなし、DBとテーブルを作成する
26+ if (!dbFile.exists()){
27+ db.createTable();
28+ jsdhs.createTable();
29+ jsdhs.createDummyHeader(userInfo.getUserName());
30+
31+ // 旧jsmのデータ移行を行う
32+ readJsmData(dbFile);
33+
34+ }
35+
36+ jsdhs.readHeader();
37+ setJScheduleDataHeader(jsdhs);
38+ }
39+
40+ /**
41+ * データ移行
42+ */
43+ private void readJsmData(File dbFile){
44+ File jsmFile;
45+ if ((jsmFile = checkJsmfile(dbFile)) == null){
46+ return;
47+ }
48+
49+ JScheduleDataJsm jsdj= new JScheduleDataJsm(userInfo, jsmFile);
50+ jsdj.readScheduleData();
51+ ArrayList<ScheduleData> sdList= jsdj.getScheduleListAfterDateInfo(new DateInfo("20100101000000"));
52+ addScheduleData(sdList);
53+ }
54+
55+ /**
56+ * jsmファイルをチェックする
57+ */
58+ private File checkJsmfile(File dbFile){
59+ String jsmFilename = dbFile.getPath().replaceAll("sqlite3$", "jsm");
60+ File jsmFile = new File(jsmFilename);
61+ if (jsmFile.exists()){
62+ return jsmFile;
63+ }else{
64+ return null;
65+ }
66+ }
67+
68+
69+ /**
70+ * スケジュールデータを読み込む
71+ */
72+ @Override
73+ public int readScheduleData(DateInfo dateScope) {
74+
75+ // DataMapを初期化する
76+ createDataMap();
77+
78+ // スケジュールデータを読み込み、mapにセットする
79+ if (db.buildAllSchedule(dateScope, this) < 0 ){
80+ return (-1);
81+ }
82+ return (0);
83+ }
84+
85+ /**
86+ * スケジュールを追加する
87+ */
88+ @Override
89+ public int addScheduleData(ArrayList<ScheduleData> sdList){
90+ for(ScheduleData sd : sdList){
91+ db.create(sd);
92+ }
93+ return 0;
94+ }
95+
96+ /**
97+ * スケジュールを削除する
98+ */
99+ @Override
100+ public int delScheduleData(ArrayList<ScheduleData> sdList){
101+ for(ScheduleData sd : sdList){
102+ db.deleteById(sd.createScheduleDataKey());
103+ }
104+ return 0;
105+ }
106+
107+ @Override
108+ protected void copyOriginalInformation(ScheduleData sd, ScheduleData addSd) {
109+ // 特になし
110+ }
111+
112+ //
113+ private UserInfo userInfo;
114+ private MSchedulerDBTJscheduleData db;
115+
116+}
\ No newline at end of file
--- mScheduler/src/jScheduleData/JScheduleDataHeaderSqlite.java (nonexistent)
+++ mScheduler/src/jScheduleData/JScheduleDataHeaderSqlite.java (revision 143)
@@ -0,0 +1,81 @@
1+package jScheduleData;
2+
3+import java.awt.Dimension;
4+import java.awt.Point;
5+import java.io.File;
6+
7+public class JScheduleDataHeaderSqlite extends JScheduleDataHeader {
8+ public JScheduleDataHeaderSqlite(File dbFile) {
9+ super();
10+ db = new MSchedulerDBTPointDimension(dbFile);
11+ }
12+
13+ /**
14+ * テーブルを作成する
15+ */
16+ public void createTable(){
17+ db.createTable();
18+ }
19+
20+ /**
21+ * ヘッダ情報を読み込み保管する
22+ */
23+ public int readHeader(){
24+ return db.buildHeaderInfo(this);
25+ }
26+
27+
28+ /**
29+ * ダミーのヘッダ情報を作成する
30+ */
31+ @Override
32+ public void createDummyHeader(String userName){
33+ setMainFramePoint(new Point(0,0));
34+ setMainFrameDimension(new Dimension(1030,719));
35+ setDetailDialogPoint(new Point(0,0));
36+ setDetailDialogDimension(new Dimension(526,367));
37+ setUserName(userName);
38+ }
39+
40+ /**
41+ * 保管しているヘッダ情報を書き出す
42+ */
43+ public int writeHeader(){
44+ db.deleteAll();
45+ db.create(getMainFramePoint(), getMainFrameDimension(), getDetailDialogPoint(), getDetailDialogDimension(), getUserName());
46+ return (0);
47+ }
48+
49+ @Override
50+ public void setMainFramePoint(Point mainFramePoint) {
51+ super.setMainFramePoint(mainFramePoint);
52+ writeHeader();
53+ }
54+
55+ @Override
56+ public void setMainFrameDimension(Dimension mainFrameDimension) {
57+ super.setMainFrameDimension(mainFrameDimension);
58+ writeHeader();
59+ }
60+
61+ @Override
62+ public void setDetailDialogPoint(Point detailDialogPoint) {
63+ super.setDetailDialogPoint(detailDialogPoint);
64+ writeHeader();
65+ }
66+
67+ @Override
68+ public void setDetailDialogDimension(Dimension detailDialogDimension) {
69+ super.setDetailDialogDimension(detailDialogDimension);
70+ writeHeader();
71+ }
72+
73+ @Override
74+ public void setUserName(String userName) {
75+ super.setUserName(userName);
76+ writeHeader();
77+ }
78+
79+ //
80+ MSchedulerDBTPointDimension db;
81+}
旧リポジトリブラウザで表示