[Jiemamy-notify:1704] commit [2895] テーブルに対するレコードリストを新規に作る操作を追加。

Zurück zum Archiv-Index

svnno****@sourc***** svnno****@sourc*****
2009年 3月 17日 (火) 20:56:32 JST


Revision: 2895
          http://svn.sourceforge.jp/view?root=jiemamy&view=rev&rev=2895
Author:   daisuke_m
Date:     2009-03-17 20:56:32 +0900 (Tue, 17 Mar 2009)

Log Message:
-----------
テーブルに対するレコードリストを新規に作る操作を追加。

Modified Paths:
--------------
    vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialog.java
    vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialogTableTab.java

Added Paths:
-----------
    vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/TableSelectDialog.java

Removed Paths:
-------------
    vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/table/TableEditDialogRecordTab.java


-------------- next part --------------
Modified: vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialog.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialog.java	2009-03-17 10:31:14 UTC (rev 2894)
+++ vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialog.java	2009-03-17 11:56:32 UTC (rev 2895)
@@ -1,6 +1,6 @@
 /*
  * Copyright 2007-2009 Jiemamy Project and the Others.
- * Created on 2009/02/16
+ * Created on 2009/03/17
  *
  * This file is part of Jiemamy.
  *
@@ -18,20 +18,23 @@
  */
 package org.jiemamy.eclipse.editor.dialog.root;
 
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
 import java.util.Set;
 
-import org.apache.commons.io.IOUtils;
+import org.apache.commons.collections15.IteratorUtils;
 import org.apache.commons.lang.SystemUtils;
 import org.apache.commons.lang.Validate;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MenuAdapter;
+import org.eclipse.swt.events.MenuEvent;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.GridData;
@@ -40,23 +43,29 @@
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.MenuItem;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.TabFolder;
 import org.eclipse.swt.widgets.TabItem;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.jiemamy.JiemamyFactory;
 import org.jiemamy.ReferenceResolver;
 import org.jiemamy.eclipse.JiemamyUIPlugin;
 import org.jiemamy.eclipse.ui.JiemamyEditDialog;
 import org.jiemamy.facade.JiemamyFacade;
 import org.jiemamy.model.RootModel;
 import org.jiemamy.model.dataset.DataSetModel;
+import org.jiemamy.model.dataset.RecordModel;
 import org.jiemamy.model.entity.TableModel;
 import org.jiemamy.model.entity.TableRef;
 import org.jiemamy.utils.model.DataSetUtil;
+import org.jiemamy.utils.model.RootModelUtil;
 
 /**
  * {@link RootModel}設定ダイアログクラス。
@@ -114,7 +123,7 @@
 	
 	@Override
 	protected Control createDialogArea(Composite parent) {
-		DataSetModel dataSetModel = getTargetModel();
+		final DataSetModel dataSetModel = getTargetModel();
 		getShell().setText("データ編集"); // RESOURCE
 		
 		ReferenceResolver referenceResolver = dataSetModel.getJiemamy().getReferenceResolver();
@@ -126,6 +135,9 @@
 		tabFolder = new TabFolder(composite, SWT.NONE);
 		GridData gd = new GridData(GridData.FILL_BOTH);
 		tabFolder.setLayoutData(gd);
+		final Menu menu = new Menu(tabFolder);
+		tabFolder.setMenu(menu);
+		menu.addMenuListener(new TabMenuListener(dataSetModel, menu));
 		
 		Set<TableRef> tableRefs = dataSetModel.getRecords().keySet();
 		for (TableRef tableRef : tableRefs) {
@@ -201,16 +213,13 @@
 		TabItem item = tabFolder.getItem(tabFolder.getSelectionIndex());
 		TableModel tableModel = (TableModel) item.getData();
 		
-		BufferedWriter bw = null;
 		try {
 			DataSetUtil.exportToCsv(dataSetModel, tableModel, new FileOutputStream(csv));
 		} catch (IOException e) {
 			JiemamyUIPlugin.log(e);
-		} finally {
-			IOUtils.closeQuietly(bw);
 		}
 		
-		if (SystemUtils.OS_NAME.toLowerCase().contains("windows")) {
+		if (SystemUtils.IS_OS_WINDOWS) {
 			boolean result = MessageDialog.openQuestion(getShell(), "Success", "エクスポートが完了しました。ファイルを開きますか?"); // RESOURCE
 			if (result) {
 				try {
@@ -245,11 +254,15 @@
 			return;
 		}
 		
+		boolean result = MessageDialog.openQuestion(getShell(), "confirm", "元のデータは全てクリアされます。よろしいですか?"); // RESOURCE
+		if (result == false) {
+			return;
+		}
+		
 		DataSetModel dataSetModel = getTargetModel();
 		TabItem item = tabFolder.getItem(tabFolder.getSelectionIndex());
 		TableModel tableModel = (TableModel) item.getData();
 		
-		BufferedReader br = null;
 		try {
 			DataSetUtil.importFromCsv(dataSetModel, tableModel, new FileInputStream(csv));
 		} catch (FileNotFoundException e) {
@@ -257,9 +270,82 @@
 			JiemamyUIPlugin.log(e);
 		} catch (IOException e) {
 			JiemamyUIPlugin.log(e);
-		} finally {
-			IOUtils.closeQuietly(br);
 		}
 		MessageDialog.openInformation(getShell(), "Success", "インポートが完了しました。"); // RESOURCE
+		
+		item.notifyListeners(DataSetEditDialogTableTab.RECORD_CHANGED, new Event());
 	}
+	
+
+	/**
+	 * TODO for daisuke
+	 *  
+	 * @author daisuke
+	 */
+	private final class TabMenuListener extends MenuAdapter {
+		
+		private final DataSetModel dataSetModel;
+		
+		private final Menu menu;
+		
+
+		/**
+		 * インスタンスを生成する。
+		 * 
+		 * @param dataSetModel
+		 * @param menu
+		 */
+		private TabMenuListener(DataSetModel dataSetModel, Menu menu) {
+			this.dataSetModel = dataSetModel;
+			this.menu = menu;
+		}
+		
+		@Override
+		public void menuShown(MenuEvent evt) {
+			for (MenuItem item : menu.getItems()) {
+				item.dispose();
+			}
+			
+			MenuItem addTab = new MenuItem(menu, SWT.PUSH);
+			addTab.setText("&Add"); // RESOURCE
+			addTab.addSelectionListener(new SelectionAdapter() {
+				
+				@Override
+				public void widgetSelected(SelectionEvent evt) {
+					JiemamyFactory factory = dataSetModel.getJiemamy().getFactory();
+					RootModel rootModel = factory.getRootModel();
+					Collection<TableModel> tables = RootModelUtil.getEntities(rootModel, TableModel.class);
+					List<TableModel> list = IteratorUtils.toList(tables.iterator());
+					TableSelectDialog dialog = new TableSelectDialog(getShell(), list);
+					dialog.open();
+					TableModel tableModel = dialog.getResult();
+					// TODO facade経由で
+					dataSetModel.getRecords().put(factory.newReference(tableModel), new ArrayList<RecordModel>());
+					addTab(new DataSetEditDialogTableTab(tabFolder, SWT.NONE, dataSetModel, tableModel, jiemamyFacade));
+				}
+			});
+			
+			MenuItem removeTab = new MenuItem(menu, SWT.PUSH);
+			removeTab.setText("&Remove"); // RESOURCE
+			removeTab.addSelectionListener(new SelectionAdapter() {
+				
+				@Override
+				public void widgetSelected(SelectionEvent evt) {
+					TabItem item = tabFolder.getItem(tabFolder.getSelectionIndex());
+					TableModel tableModel = (TableModel) item.getData();
+					boolean result =
+							MessageDialog.openQuestion(getShell(), "confirm", tableModel.getName()
+									+ "のレコードを全て削除します。\nよろしいですか?"); // RESOURCE
+					if (result == false) {
+						return;
+					}
+					
+					// TODO facade経由で
+					JiemamyFactory factory = dataSetModel.getJiemamy().getFactory();
+					dataSetModel.getRecords().remove(factory.newReference(tableModel));
+					item.dispose();
+				}
+			});
+		}
+	}
 }

Modified: vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialogTableTab.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialogTableTab.java	2009-03-17 10:31:14 UTC (rev 2894)
+++ vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/DataSetEditDialogTableTab.java	2009-03-17 11:56:32 UTC (rev 2895)
@@ -1,6 +1,6 @@
 /*
  * Copyright 2007-2009 Jiemamy Project and the Others.
- * Created on 2009/02/16
+ * Created on 2009/03/17
  *
  * This file is part of Jiemamy.
  *
@@ -60,6 +60,8 @@
 	
 	private final JiemamyFacade jiemamyFacade;
 	
+	public static final int RECORD_CHANGED = 123;
+	
 
 	/**
 	 * インスタンスを生成する。
@@ -77,7 +79,7 @@
 		
 		this.jiemamyFacade = jiemamyFacade;
 		
-		JiemamyFactory factory = dataSetModel.getJiemamy().getFactory();
+		final JiemamyFactory factory = dataSetModel.getJiemamy().getFactory();
 		
 		Composite composite = new Composite(parentTabFolder, SWT.NULL);
 		composite.setLayout(new GridLayout(1, false));
@@ -97,19 +99,8 @@
 			column.setData(columnModel);
 		}
 		
-		List<RecordModel> records = dataSetModel.getRecords().get(factory.newReference(tableModel));
-		for (RecordModel recordModel : records) {
-			List<String> data = CollectionsUtil.newArrayList();
-			for (TableColumn tableColumn : table.getColumns()) {
-				ColumnModel columnModel = (ColumnModel) tableColumn.getData();
-				ColumnRef columnRef = factory.newReference(columnModel);
-				String string = recordModel.getValues().get(columnRef);
-				data.add(string);
-			}
-			TableItem item = new TableItem(table, SWT.NONE);
-			item.setText(data.toArray(new String[0]));
-			item.setData(recordModel);
-		}
+		final List<RecordModel> records = dataSetModel.getRecords().get(factory.newReference(tableModel));
+		refreshTable(factory, table, records);
 		
 		final TableEditor editor = new TableEditor(table);
 		editor.horizontalAlignment = SWT.LEFT;
@@ -117,6 +108,12 @@
 		table.addListener(SWT.MouseDown, new StartEditListener(editor, table));
 		
 		getTabItem().setControl(composite);
+		getTabItem().addListener(RECORD_CHANGED, new Listener() {
+			
+			public void handleEvent(Event event) {
+				refreshTable(factory, table, records);
+			}
+		});
 	}
 	
 	@Override
@@ -125,6 +122,32 @@
 		return true;
 	}
 	
+	/**
+	 * TODO for daisuke
+	 * 
+	 * @param factory
+	 * @param table
+	 * @param records
+	 */
+	private void refreshTable(JiemamyFactory factory, final Table table, List<RecordModel> records) {
+		for (TableItem item : table.getItems()) {
+			item.dispose();
+		}
+		
+		for (RecordModel recordModel : records) {
+			List<String> data = CollectionsUtil.newArrayList();
+			for (TableColumn tableColumn : table.getColumns()) {
+				ColumnModel columnModel = (ColumnModel) tableColumn.getData();
+				ColumnRef columnRef = factory.newReference(columnModel);
+				String string = recordModel.getValues().get(columnRef);
+				data.add(string);
+			}
+			TableItem item = new TableItem(table, SWT.NONE);
+			item.setText(data.toArray(new String[data.size()]));
+			item.setData(recordModel);
+		}
+	}
+	
 
 	private final class StartEditListener implements Listener {
 		

Added: vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/TableSelectDialog.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/TableSelectDialog.java	                        (rev 0)
+++ vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/TableSelectDialog.java	2009-03-17 11:56:32 UTC (rev 2895)
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2007-2009 Jiemamy Project and the Others.
+ * Created on 2009/02/18
+ *
+ * This file is part of Jiemamy.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language
+ * governing permissions and limitations under the License.
+ */
+package org.jiemamy.eclipse.editor.dialog.root;
+
+import java.util.List;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
+
+import org.jiemamy.eclipse.editor.DisplayPlace;
+import org.jiemamy.eclipse.editor.utils.LabelStringUtil;
+import org.jiemamy.model.RootModel;
+import org.jiemamy.model.entity.TableModel;
+
+/**
+ * テーブルを選択するダイアログ。
+ * 
+ * @author daisuke
+ */
+public class TableSelectDialog extends Dialog {
+	
+	private int selectIndex = -1;
+	
+	private List<TableModel> tables;
+	
+	private Table tblColumns;
+	
+
+	/**
+	 * インスタンスを生成する。
+	 * 
+	 * @param shell シェルオブジェクト
+	 * @param tables テーブルのリスト
+	 */
+	public TableSelectDialog(Shell shell, List<TableModel> tables) {
+		super(shell);
+		setShellStyle(getShellStyle() | SWT.RESIZE);
+		
+		this.tables = tables;
+	}
+	
+	/**
+	* 選択結果を取得します。
+	* 
+	* @return 選択されたカラム
+	*/
+	public TableModel getResult() {
+		if (selectIndex >= 0 && selectIndex < tables.size()) {
+			return tables.get(selectIndex);
+		}
+		return null;
+	}
+	
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		getShell().setText("テーブル選択"); // RESOURCE
+		
+		Composite composite = new Composite(parent, SWT.NULL);
+		composite.setLayout(new GridLayout(1, false));
+		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+		
+		tblColumns = new Table(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
+		tblColumns.setLayoutData(new GridData(GridData.FILL_BOTH));
+		tblColumns.setHeaderVisible(true);
+		
+		TableColumn colStatus = new TableColumn(tblColumns, SWT.LEFT);
+		colStatus.setText("");
+		colStatus.setWidth(40);
+		
+		TableColumn colName = new TableColumn(tblColumns, SWT.LEFT);
+		colName.setText("テーブル名");
+		colName.setWidth(100);
+		
+		refreshTable();
+		
+		tblColumns.addSelectionListener(new SelectionAdapter() {
+			
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				selectIndex = tblColumns.getSelectionIndex();
+			}
+		});
+		
+		return composite;
+	}
+	
+	/**
+	 * Tableをリフレッシュします。
+	 */
+	protected void refreshTable() {
+		tblColumns.removeAll();
+		for (TableModel model : tables) {
+			TableItem item = new TableItem(tblColumns, SWT.NULL);
+			updateColumnTableItem(item, model);
+		}
+	}
+	
+	private void updateColumnTableItem(TableItem item, TableModel tableModel) {
+		RootModel rootModel = tableModel.getJiemamy().getFactory().getRootModel();
+		item.setText(0, "");
+		item.setText(1, LabelStringUtil.getString(rootModel, tableModel, DisplayPlace.TABLE));
+	}
+}


Property changes on: vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/root/TableSelectDialog.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Deleted: vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/table/TableEditDialogRecordTab.java
===================================================================
--- vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/table/TableEditDialogRecordTab.java	2009-03-17 10:31:14 UTC (rev 2894)
+++ vesta/trunk/org.jiemamy.eclipse.ui/src/main/java/org/jiemamy/eclipse/editor/dialog/table/TableEditDialogRecordTab.java	2009-03-17 11:56:32 UTC (rev 2895)
@@ -1,855 +0,0 @@
-/*
- * Copyright 2007-2009 Jiemamy Project and the Others.
- * Created on 2009/02/18
- *
- * This file is part of Jiemamy.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * either express or implied. See the License for the specific language
- * governing permissions and limitations under the License.
- */
-package org.jiemamy.eclipse.editor.dialog.table;
-
-//
-//import java.io.BufferedReader;
-//import java.io.BufferedWriter;
-//import java.io.File;
-//import java.io.FileNotFoundException;
-//import java.io.FileReader;
-//import java.io.FileWriter;
-//import java.io.IOException;
-//import java.util.ArrayList;
-//import java.util.List;
-//import java.util.Map;
-//import java.util.Random;
-//import java.util.StringTokenizer;
-//
-//import org.eclipse.jface.dialogs.MessageDialog;
-//import org.eclipse.jface.resource.ImageRegistry;
-//import org.eclipse.jface.viewers.ArrayContentProvider;
-//import org.eclipse.jface.viewers.BaseLabelProvider;
-//import org.eclipse.jface.viewers.CellEditor;
-//import org.eclipse.jface.viewers.ComboBoxCellEditor;
-//import org.eclipse.jface.viewers.ICellModifier;
-//import org.eclipse.jface.viewers.ITableLabelProvider;
-//import org.eclipse.jface.viewers.TableViewer;
-//import org.eclipse.jface.viewers.TextCellEditor;
-//import org.eclipse.jface.viewers.Viewer;
-//import org.eclipse.swt.SWT;
-//import org.eclipse.swt.custom.CCombo;
-//import org.eclipse.swt.events.KeyAdapter;
-//import org.eclipse.swt.events.KeyEvent;
-//import org.eclipse.swt.events.SelectionAdapter;
-//import org.eclipse.swt.events.SelectionEvent;
-//import org.eclipse.swt.graphics.Image;
-//import org.eclipse.swt.layout.GridData;
-//import org.eclipse.swt.layout.GridLayout;
-//import org.eclipse.swt.widgets.Button;
-//import org.eclipse.swt.widgets.Combo;
-//import org.eclipse.swt.widgets.Composite;
-//import org.eclipse.swt.widgets.Control;
-//import org.eclipse.swt.widgets.FileDialog;
-//import org.eclipse.swt.widgets.Item;
-//import org.eclipse.swt.widgets.Label;
-//import org.eclipse.swt.widgets.TabFolder;
-//import org.eclipse.swt.widgets.TabItem;
-//import org.eclipse.swt.widgets.Table;
-//import org.eclipse.swt.widgets.TableColumn;
-//
-//import org.jiemamy.eclipse.JiemamyPlugin;
-//import org.jiemamy.eclipse.ui.AbstractTableEditor;
-//import org.jiemamy.eclipse.ui.tab.AbstractTab;
-//import org.jiemamy.editcommand.Command;
-//import org.jiemamy.editcommand.CommandListener;
-//import org.jiemamy.model.JiemamyElement;
-//import org.jiemamy.model.attribute.ColumnModel;
-//import org.jiemamy.model.dataset.RecordModel;
-//import org.jiemamy.model.entity.TableModel;
-//
-///**
-// * テーブル編集ダイアログの「レコード」タブ
-// * 
-// * @author daisuke
-// */
-//public class TableEditDialogRecordTab extends AbstractTab {
-//	
-//	private TableModel tableModel;
-//	
-//	private AbstractTableEditor recordsEditArea;
-//	
-//	private Combo subjectCombo;
-//	
-//	private Combo objectCombo;
-//	
-//	private Button btnClear;
-//	
-//	private Button btnExchange;
-//	
-//	private Button btnExecute;
-//	
-//
-//	public TableEditDialogRecordTab(TabFolder parentTabFolder, int style, TableModel tableModel) {
-//		super(parentTabFolder, style, "レコード"); // RESOURCE
-//		this.tableModel = tableModel;
-//	}
-//	
-//	@Override
-//	public Composite createTabArea(TabFolder parentTabFolder) {
-//		Composite composite = new Composite(parentTabFolder, SWT.NULL);
-//		composite.setLayout(new GridLayout(1, false));
-//		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-//		
-//		TabItem tabRecord = new TabItem(parentTabFolder, SWT.NONE);
-//		tabRecord.setText(JiemamyPlugin.getResourceString("dialog.table.tab.record"));
-//		tabRecord.setControl(composite);
-//		
-//		createRecordTab(composite);
-//		recordsEditArea.disableEditControls();
-//		
-//		return composite;
-//	}
-//	
-//	private void createRecordTab(Composite parent) {
-//		recordsEditArea = new RecordTableEditor(tableModel);
-//		recordsEditArea.setAddLabel(JiemamyPlugin.getResourceString("dialog.table.record.btn.add"));
-//		recordsEditArea.setInsertLabel(JiemamyPlugin.getResourceString("dialog.table.record.btn.insert"));
-//		recordsEditArea.setRemoveLabel(JiemamyPlugin.getResourceString("dialog.table.record.btn.remove"));
-//		recordsEditArea.createControlArea(parent);
-//	}
-//	
-//	private void refreshEditComboItems() {
-//		boolean first = true;
-//		subjectCombo.removeAll();
-//		objectCombo.removeAll();
-//		for (ColumnIdNameDto dto : tableModel.getRecordColumnDtos()) {
-//			subjectCombo.add(dto.getName());
-//			objectCombo.add(dto.getName());
-//			if (first) {
-//				subjectCombo.setText(dto.getName());
-//				objectCombo.setText(dto.getName());
-//			}
-//			first = false;
-//		}
-//	}
-//	
-//
-//	private class RecordTableEditor extends AbstractTableEditor {
-//		
-//		private TableModel tableModel;
-//		
-//		private Table table;
-//		
-//		private RecordContentProvider contentProvider;
-//		
-//		/** セルエディタのリスト */
-//		private List<CellEditor> editorList = new ArrayList<CellEditor>();
-//		
-//		/** CSVインポートボタン */
-//		private Button btnImport;
-//		
-//		/** CSVエクスポートボタン */
-//		private Button btnExport;
-//		
-//
-//		/**
-//		 * コンストラクタ。
-//		 * 
-//		 * @param targetModel
-//		 */
-//		public RecordTableEditor(TableModel targetModel) {
-//			tableModel = targetModel;
-//		}
-//		
-//		@Override
-//		protected JiemamyElement addItem() {
-//			RecordModel record = new RecordModel();
-//			tableModel.addRecord(record);
-//			
-//			int addedIndex = tableModel.getRecords().indexOf(record);
-//			table.setSelection(addedIndex);
-//			enableEditControls(addedIndex);
-//			
-//			return record;
-//		}
-//		
-//		@Override
-//		protected void configureCellEditor() {
-//			int columnSize = tableModel.getRecordColumnDtos().size();
-//			List<String> propertyList = new ArrayList<String>(columnSize);
-//			editorList.clear();
-//			for (ColumnIdNameDto dto : tableModel.getRecordColumnDtos()) {
-//				propertyList.add(String.valueOf(dto.getColumnId()));
-//				
-//				ColumnModel column = tableModel.getColumnById(dto.getColumnId());
-//				if (column != null && column.canEditRecordByCombo()) {
-//					List<String> allowedStrings = new ArrayList<String>();
-//					for (RecordValueModel allowedValue : column.getValuesAllowedByForeignKeys()) {
-//						StringBuilder sb = new StringBuilder();
-//						sb.append(allowedValue.getValue());
-//						if (allowedValue.getTypicalValue().length() != 0) {
-//							sb.append(" (").append(allowedValue.getTypicalValue()).append(")");
-//						}
-//						allowedStrings.add(sb.toString());
-//					}
-//					editorList.add(new RecordComboBoxCellEditor(table, allowedStrings.toArray(new String[allowedStrings
-//						.size()])));
-//				} else {
-//					editorList.add(new RecordTextCellEditor(table));
-//				}
-//			}
-//			TableViewer tableViewer = getTableViewer();
-//			tableViewer.setColumnProperties(propertyList.toArray(new String[columnSize]));
-//			tableViewer.setCellEditors(editorList.toArray(new CellEditor[columnSize]));
-//		}
-//		
-//		@Override
-//		protected void configureEditButtons() {
-//			super.configureEditButtons();
-//			
-//			btnImport.setText(JiemamyPlugin.getResourceString("dialog.table.record.btn.import"));
-//			btnImport.addSelectionListener(new SelectionAdapter() {
-//				
-//				@Override
-//				public void widgetSelected(SelectionEvent e) {
-//					importFromCsv();
-//				}
-//				
-//				private void importFromCsv() {
-//					FileDialog dialog = new FileDialog(btnImport.getShell(), SWT.OPEN);
-//					dialog.setText(JiemamyPlugin.getResourceString("dialog.table.record.import.title"));
-//					String filename = dialog.open();
-//					
-//					if (filename != null) {
-//						File csv = new File(filename);
-//						BufferedReader br = null;
-//						try {
-//							br = new BufferedReader(new FileReader(csv));
-//							
-//							List<Long> columnIds = new ArrayList<Long>();
-//							if (br.ready()) {
-//								String line = br.readLine();
-//								StringTokenizer st = new StringTokenizer(line, ",");
-//								while (st.hasMoreTokens()) {
-//									ColumnModel column = tableModel.getColumn(st.nextToken());
-//									if (column != null) {
-//										columnIds.add(column.getId());
-//									} else {
-//										columnIds.add(Math.abs(new Random().nextLong()));
-//									}
-//								}
-//							}
-//							
-//							while (br.ready()) {
-//								RecordModel record = (RecordModel) addItem();
-//								
-//								String line = br.readLine();
-//								StringTokenizer st = new StringTokenizer(line, ",");
-//								for (int i = 0; st.hasMoreTokens(); i++) {
-//									while (columnIds.size() <= i) {
-//										columnIds.add(Math.abs(new Random().nextLong()));
-//									}
-//									
-//									record.setRecordData(columnIds.get(i), new RecordValueModel(st.nextToken()));
-//								}
-//							}
-//							
-//							refreshTableColumns();
-//						} catch (FileNotFoundException e) {
-//							JiemamyPlugin.handleException(e, JiemamyPlugin.LOG | JiemamyPlugin.DIALOG);
-//						} catch (IOException e) {
-//							JiemamyPlugin.handleException(e, JiemamyPlugin.ALL);
-//						} finally {
-//							ResourceUtils.close(br);
-//						}
-//					}
-//				}
-//			});
-//			
-//			btnExport.setText(JiemamyPlugin.getResourceString("dialog.table.record.btn.export"));
-//			btnExport.addSelectionListener(new SelectionAdapter() {
-//				
-//				@Override
-//				public void widgetSelected(SelectionEvent e) {
-//					exportToCsv();
-//				}
-//				
-//				private void exportToCsv() {
-//					FileDialog dialog = new FileDialog(btnExport.getShell(), SWT.SAVE);
-//					dialog.setText(JiemamyPlugin.getResourceString("dialog.table.record.export.title"));
-//					String filename = dialog.open();
-//					
-//					if (filename != null) {
-//						File csv = new File(filename);
-//						BufferedWriter bw = null;
-//						if (csv.exists()) {
-//							boolean result = MessageDialog.openQuestion(btnExport.getShell(), "Confirm", "overwrite?"); // RESOURCE
-//							if (!result) {
-//								return;
-//							}
-//						}
-//						try {
-//							bw = new BufferedWriter(new FileWriter(csv));
-//							
-//							boolean first = true;
-//							for (ColumnIdNameDto dto : tableModel.getRecordColumnDtos()) {
-//								bw.write(first ? "" : ",");
-//								bw.write(dto.getName());
-//								first = false;
-//							}
-//							bw.write("\n");
-//							
-//							for (RecordModel record : tableModel.getRecords()) {
-//								first = true;
-//								for (Map.Entry<Long, RecordValueModel> entry : record.getRecord().entrySet()) {
-//									RecordValueModel value = entry.getValue();
-//									bw.write(first ? "" : ",");
-//									bw.write(value.getValue());
-//									first = false;
-//								}
-//								bw.write("\n");
-//							}
-//						} catch (IOException e) {
-//							JiemamyPlugin.handleException(e, JiemamyPlugin.ALL);
-//						} finally {
-//							ResourceUtils.close(bw);
-//						}
-//					}
-//				}
-//			});
-//		}
-//		
-//		@Override
-//		protected void configureEditorControls() {
-//			btnClear.addSelectionListener(new SelectionAdapter() {
-//				
-//				@Override
-//				public void widgetSelected(SelectionEvent evt) {
-//					objectCombo.setEnabled(false);
-//				}
-//			});
-//			btnExchange.addSelectionListener(new SelectionAdapter() {
-//				
-//				@Override
-//				public void widgetSelected(SelectionEvent evt) {
-//					objectCombo.setEnabled(true);
-//				}
-//			});
-//			
-//			btnExecute.addSelectionListener(new SelectionAdapter() {
-//				
-//				@Override
-//				public void widgetSelected(SelectionEvent evt) {
-//					if (btnClear.getSelection()) {
-//						tableModel.removeRecordColumn(tableModel.getRecordColumnDtos().get(
-//								subjectCombo.getSelectionIndex()).getColumnId());
-//					} else if (btnExchange.getSelection()) {
-//						tableModel.exchangeRecordColumn(tableModel.getRecordColumnDtos().get(
-//								subjectCombo.getSelectionIndex()).getColumnId(), tableModel.getRecordColumnDtos().get(
-//								objectCombo.getSelectionIndex()).getColumnId());
-//					}
-//				}
-//			});
-//		}
-//		
-//		@Override
-//		protected void configureTable(final Table table) {
-//			super.configureTable(table);
-//			
-//			// THINK ↓要る?
-////			final Menu menu = new Menu(table);
-////			table.setMenu(menu);
-////			menu.addMenuListener(new MenuAdapter() {
-////				
-////				@Override
-////				public void menuShown(MenuEvent evt) {
-////					for (MenuItem item : menu.getItems()) {
-////						item.dispose();
-////					}
-////					int index = table.getSelectionIndex();
-////					if (index == -1) {
-////						return;
-////					}
-////					
-////					MenuItem removeItem = new MenuItem(menu, SWT.PUSH);
-////					removeItem.setText("&Remove"); // RESOURCE
-////					removeItem.addSelectionListener(new SelectionAdapter() {
-////						
-////						@Override
-////						public void widgetSelected(SelectionEvent evt) {
-////							removeTableSelectionItem();
-////						}
-////					});
-////				}
-////			});
-//		}
-//		
-//		@Override
-//		protected void configureTableViewer(TableViewer tableViewer) {
-//			tableViewer.setCellModifier(new RecordCellModifier(tableViewer));
-//			tableViewer.setLabelProvider(new RecordLabelProvider());
-//			contentProvider = new RecordContentProvider();
-//			tableViewer.setContentProvider(contentProvider);
-//// tableViewer.setSorter(new ViewerSorter());
-//			tableViewer.setInput(tableModel.getRecords());
-//		}
-//		
-//		@Override
-//		protected void createEditorControls(Composite parent) {
-//			Composite composite = new Composite(parent, SWT.NULL);
-//			GridLayout layout = new GridLayout(6, false);
-//			layout.marginHeight = 0;
-//			layout.marginWidth = 0;
-//			composite.setLayout(layout);
-//			composite.setLayoutData(new GridData());
-//			
-//			Label label = new Label(composite, SWT.NONE);
-//			label.setText(JiemamyPlugin.getResourceString("dialog.table.record.label.column"));
-//			GridData gd = new GridData();
-//			gd.verticalSpan = 2;
-//			label.setLayoutData(gd);
-//			
-//			subjectCombo = new Combo(composite, SWT.READ_ONLY);
-//			gd = new GridData();
-//			gd.verticalSpan = 2;
-//			subjectCombo.setLayoutData(gd);
-//			subjectCombo.setVisibleItemCount(20);
-//			
-//			btnClear = new Button(composite, SWT.RADIO);
-//			btnClear.setText(JiemamyPlugin.getResourceString("dialog.table.record.label.delete"));
-//			btnClear.setSelection(true);
-//			gd = new GridData();
-//			gd.horizontalSpan = 3;
-//			btnClear.setLayoutData(gd);
-//			
-//			btnExecute = new Button(composite, SWT.PUSH);
-//			btnExecute.setText(JiemamyPlugin.getResourceString("dialog.table.record.label.execute"));
-//			gd = new GridData();
-//			gd.verticalSpan = 2;
-//			btnExecute.setLayoutData(gd);
-//			
-//			btnExchange = new Button(composite, SWT.RADIO);
-//			btnExchange.setText(JiemamyPlugin.getResourceString("dialog.table.record.label.exchange1"));
-//			
-//			objectCombo = new Combo(composite, SWT.READ_ONLY);
-//			objectCombo.setEnabled(false);
-//			objectCombo.setVisibleItemCount(20);
-//			
-//			label = new Label(composite, SWT.NONE);
-//			label.setText(JiemamyPlugin.getResourceString("dialog.table.record.label.exchange2"));
-//			
-//			refreshEditComboItems();
-//			
-//			return composite;
-//		}
-//		
-//		@Override
-//		protected void createOptionalEditButtons(Composite parent) {
-//			btnImport = new Button(parent, SWT.PUSH);
-//			btnExport = new Button(parent, SWT.PUSH);
-//		}
-//		
-//		@Override
-//		protected void createTableColumns(Table table) {
-//			for (ColumnIdNameDto dto : tableModel.getRecordColumnDtos()) {
-//				TableColumn col = new TableColumn(table, SWT.LEFT);
-//				col.setText(dto.getName());
-//				col.setWidth(100);
-//				col.addSelectionListener(new SelectionAdapter() {
-//					
-//					@Override
-//					public void widgetSelected(SelectionEvent evt) {
-//						subjectCombo.setText(((TableColumn) evt.getSource()).getText());
-//					}
-//				});
-//			}
-//		}
-//		
-//		@Override
-//		protected JiemamyElement insertTableSelectionItem() {
-//			int index = table.getSelectionIndex();
-//			RecordModel record = new RecordModel();
-//			if (index < 0 || index > table.getItemCount()) {
-//				tableModel.addRecord(record);
-//			} else {
-//				tableModel.addRecord(index, record);
-//			}
-//			
-//			int addedIndex = tableModel.getRecords().indexOf(record);
-//			table.setSelection(addedIndex);
-//			enableEditControls(addedIndex);
-//			
-//			return record;
-//		}
-//		
-//		@Override
-//		protected void moveDownTableSelectionItem() {
-//			int index = table.getSelectionIndex();
-//			if (index < 0 || index >= table.getItemCount()) {
-//				return;
-//			}
-//			
-//			tableModel.moveDownRecord(index);
-//			
-//			table.setSelection(index + 1);
-//			enableEditControls(index + 1);
-//		}
-//		
-//		@Override
-//		protected void moveUpTableSelectionItem() {
-//			int index = table.getSelectionIndex();
-//			if (index <= 0 || index > table.getItemCount()) {
-//				return;
-//			}
-//			
-//			tableModel.moveUpRecord(index);
-//			
-//			table.setSelection(index - 1);
-//			enableEditControls(index - 1);
-//		}
-//		
-//		@Override
-//		protected JiemamyElement removeTableSelectionItem() {
-//			int index = table.getSelectionIndex();
-//			if (index < 0 || index > table.getItemCount()) {
-//				return null;
-//			}
-//			RecordModel recordToRemove = tableModel.removeRecord(table.getSelectionIndex());
-//			
-//			TableViewer tableViewer = getTableViewer();
-//			tableViewer.remove(recordToRemove);
-//			
-//			disableEditControls();
-//			
-//			return recordToRemove;
-//		}
-//		
-//
-//		/**
-//		 * 編集セルをCTRL+カーソルキーで移動できるようにするKeyListener
-//		 * 
-//		 * @author daisuke
-//		 */
-//		private class CellEditorKeyListener extends KeyAdapter {
-//			
-//			private Control control;
-//			
-//			private CellEditor editor;
-//			
-//
-//			/**
-//			 * コンストラクタ。
-//			 * 
-//			 * @param control
-//			 * @param editor
-//			 */
-//			public CellEditorKeyListener(Control control, CellEditor editor) {
-//				this.control = control;
-//				this.editor = editor;
-//			}
-//			
-//			@Override
-//			public void keyPressed(KeyEvent evt) {
-//				if (control == null || control.isDisposed()) {
-//					return;
-//				}
-//				
-//				if ((evt.stateMask & SWT.CTRL) == 0) {
-//					return;
-//				}
-//				
-//				int selectionIndex = table.getSelectionIndex();
-//				int columnIndex = editorList.indexOf(editor);
-//				
-//				switch (evt.keyCode) {
-//					case SWT.ARROW_RIGHT:
-//						if (columnIndex < editorList.size()) {
-//							columnIndex++;
-//						}
-//						break;
-//					
-//					case SWT.ARROW_LEFT:
-//						if (columnIndex >= 0) {
-//							columnIndex--;
-//						}
-//						break;
-//					
-//					case SWT.ARROW_UP:
-//						if (selectionIndex >= 0) {
-//							table.setSelection(--selectionIndex);
-//						}
-//						break;
-//					
-//					case SWT.ARROW_DOWN:
-//						if (selectionIndex < tableModel.getRecords().size() - 1) {
-//							table.setSelection(++selectionIndex);
-//						}
-//						break;
-//					
-//					default:
-//						return;
-//				}
-//				
-//				editor.deactivate();
-//				getTableViewer().editElement(tableModel.getRecord(selectionIndex), columnIndex);
-//			}
-//		}
-//		
-//		/**
-//		 * Record用CellModifier
-//		 * 
-//		 * @author daisuke
-//		 */
-//		private class RecordCellModifier implements ICellModifier {
-//			
-//			@SuppressWarnings("unused")
-//			private TableViewer viewer;
-//			
-//
-//			public RecordCellModifier(TableViewer viewer) {
-//				this.viewer = viewer;
-//			}
-//			
-//			public boolean canModify(Object element, String property) {
-//				return true;
-//			}
-//			
-//			public Object getValue(Object element, String property) {
-//				RecordModel record = (RecordModel) element;
-//				ColumnModel column = tableModel.getColumnById(Long.parseLong(property));
-//				
-//				assert record != null;
-//				
-//				Object result;
-//				if (column != null && column.canEditRecordByCombo()) {
-//					String value = record.getRecordData(Long.parseLong(property)).getValue();
-//					
-//					int index;
-//					for (index = 0; index < column.getValuesAllowedByForeignKeys().size(); index++) {
-//						String currentValue = column.getValuesAllowedByForeignKeys().get(index).getValue();
-//						if (currentValue.equals(value)) {
-//							break;
-//						}
-//					}
-//					result = index;
-//				} else {
-//					result = record.getRecordData(Long.parseLong(property));
-//				}
-//				return result;
-//			}
-//			
-//			public void modify(Object element, String property, Object value) {
-//				RecordModel record;
-//				if (element instanceof Item) {
-//					record = (RecordModel) ((Item) element).getData();
-//				} else {
-//					record = (RecordModel) element;
-//				}
-//				ColumnModel column = tableModel.getColumnById(Long.parseLong(property));
-//				
-//				if (column != null && column.canEditRecordByCombo()) {
-//					RecordValueModel val;
-//					if (value == null) { // NULL選択時
-//						val = null;
-//					} else if (value instanceof Integer) {
-//						val = column.getValuesAllowedByForeignKeys().get((Integer) value);
-//					} else { // 選択肢外入力時
-//						val = new RecordValueModel((String) value);
-//					}
-//					record.setRecordData(Long.parseLong(property), val);
-//				} else {
-//					record.setRecordData(Long.parseLong(property), (RecordValueModel) value);
-//				}
-//				TableViewer tableViewer = getTableViewer();
-//				tableViewer.update(element, null);
-//			}
-//			
-//		}
-//		
-//		/**
-//		 * RecordTable用ComboBoxCellEditor
-//		 * 
-//		 * @author daisuke
-//		 */
-//		private class RecordComboBoxCellEditor extends ComboBoxCellEditor {
-//			
-//			private CCombo comboBox;
-//			
-//
-//			/**
-//			 * コンストラクタ。
-//			 * 
-//			 * @param parent 親
-//			 * @param items コンボアイテム文字列の配列
-//			 */
-//			public RecordComboBoxCellEditor(Composite parent, String[] items) {
-//				super(parent, items);
-//			}
-//			
-//			@Override
-//			protected Control createControl(Composite parent) {
-//				comboBox = (CCombo) super.createControl(parent);
-//				comboBox.addKeyListener(new CellEditorKeyListener(comboBox, this));
-//				return comboBox;
-//			}
-//			
-//			@Override
-//			protected Object doGetValue() {
-//				Object value = super.doGetValue();
-//				if (value.equals(-1)) { // 選択肢外入力時
-//					return comboBox.getText();
-//				} else if (value.equals(0)) { // NULL選択時
-//					// TODO NOT NULLの時は?
-//					return null;
-//				}
-//				return value;
-//			}
-//			
-//			@Override
-//			protected void doSetValue(Object value) {
-//				Object newValue;
-//				if (value == null) {
-//					newValue = 0;
-//				} else {
-//					newValue = value;
-//				}
-//				super.doSetValue(newValue);
-//			}
-//		}
-//		
-//		/**
-//		 * Record用ContentProvider
-//		 * 
-//		 * @author daisuke
-//		 */
-//		private class RecordContentProvider extends ArrayContentProvider implements CommandListener {
-//			
-//			private Viewer viewer;
-//			
-//
-//			public void commandExecuted(Command command) {
-////				if (evt.getPropertyName().equals(RecordModel.P_RECORD_DATA)) {
-//				refreshTable();
-////				} else if (evt.getPropertyName().equals(TableModel.P_ENTITY_TABLE_RECORDS)) {
-////					refreshTable(); // レコードの変更を反映させる。
-////				} else if (evt.getPropertyName().equals(TableModel.P_ENTITY_TABLE_COLUMNS)) {
-////					refreshTableColumns(); // 増えた/減ったカラムを反映させる。
-////					configureCellEditor(); // CellEditor関係を更新する。
-////					refreshEditComboItems(); // 削除・交換操作用コンボを更新する。
-////				}
-//			}
-//			
-//			@Override
-//			public void dispose() {
-////				for (RecordModel record : tableModel.getRecords()) {
-////					record.removePropertyChangeListener(this);
-////				}
-////				tableModel.removePropertyChangeListener(this);
-//				super.dispose();
-//			}
-//			
-//			public JiemamyElement getTargetModel() {
-//				return (JiemamyElement) viewer.getInput();
-//			}
-//			
-//			@Override
-//			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-//				this.viewer = viewer;
-////				if (oldInput != null) {
-////					for (RecordModel record : tableModel.getRecords()) {
-////						record.removePropertyChangeListener(this);
-////					}
-////					tableModel.removePropertyChangeListener(this);
-////				}
-////				if (newInput != null) {
-////					tableModel.addPropertyChangeListener(this);
-////					for (RecordModel record : tableModel.getRecords()) {
-////						record.addPropertyChangeListener(this);
-////					}
-////				}
-//				
-//				super.inputChanged(viewer, oldInput, newInput);
-//			}
-//			
-//		}
-//		
-//		/**
-//		 * Record用LabelProvider
-//		 * 
-//		 * @author daisuke
-//		 */
-//		private class RecordLabelProvider extends BaseLabelProvider implements ITableLabelProvider {
-//			
-//			public Image getColumnImage(Object element, int columnIndex) {
-//				RecordModel record = (RecordModel) element;
-//				long columnId = tableModel.getRecordColumnDtos().get(columnIndex).getColumnId();
-//				
-//				RecordValueModel value = record.getRecordData(columnId);
-//				if (value.getStatus() != RecordValueStatus.VALUE) {
-//					ImageRegistry ir = JiemamyPlugin.getDefault().getImageRegistry();
-//					return ir.get(ImageNames.ICON_NULL_DATA);
-//				}
-//				
-//				return null;
-//			}
-//			
-//			public String getColumnText(Object element, int columnIndex) {
-//				RecordModel record = (RecordModel) element;
-//				long columnId = tableModel.getRecordColumnDtos().get(columnIndex).getColumnId();
-//				RecordValueModel result = record.getRecordData(columnId);
-//				
-//				return result.getValueWithTypical();
-//			}
-//		}
-//		
-//		/**
-//		 * RecordTable用TextCellEditor
-//		 * 
-//		 * @author daisuke
-//		 */
-//		private class RecordTextCellEditor extends TextCellEditor {
-//			
-//			public RecordTextCellEditor(Composite parent) {
-//				super(parent);
-//			}
-//			
-//			@Override
-//			protected Control createControl(Composite parent) {
-//				Control text = super.createControl(parent);
-//				text.addKeyListener(new CellEditorKeyListener(text, this));
-//				return text;
-//			}
-//			
-//			@Override
-//			protected Object doGetValue() {
-//				Object value = super.doGetValue();
-//				if (RecordValueStatus.NULL.getKey().equals(value)) {
-//					return new RecordValueModel(RecordValueStatus.NULL);
-//				} else if (RecordValueStatus.NOT_SPECIFIED.getKey().equals(value)) {
-//					return new RecordValueModel(RecordValueStatus.NOT_SPECIFIED);
-//				}
-//				return new RecordValueModel((String) value);
-//			}
-//			
-//			@Override
-//			protected void doSetValue(Object value) {
-//				Object newValue;
-//				if (((RecordValueModel) value).getStatus() == RecordValueStatus.NULL) {
-//					newValue = RecordValueStatus.NULL.getKey();
-//				} else if (((RecordValueModel) value).getStatus() == RecordValueStatus.NOT_SPECIFIED) {
-//					newValue = RecordValueStatus.NOT_SPECIFIED.getKey();
-//				} else {
-//					newValue = ((RecordValueModel) value).getValue();
-//				}
-//				super.doSetValue(newValue);
-//			}
-//		}
-//	}
-//}



Jiemamy-notify メーリングリストの案内
Zurück zum Archiv-Index