[Jiemamy-notify] commit [2025] 移動させました.

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 10月 23日 (木) 02:20:54 JST


Revision: 2025
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=jiemamy&view=rev&rev=2025
Author:   j5ik2o
Date:     2008-10-23 02:20:54 +0900 (Thu, 23 Oct 2008)

Log Message:
-----------
移動させました.

Added Paths:
-----------
    artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java

Removed Paths:
-------------
    artemis/trunk/org.jiemamy.serializer/src/main/java/ApplicationModelCreator.java


-------------- next part --------------
Deleted: artemis/trunk/org.jiemamy.serializer/src/main/java/ApplicationModelCreator.java
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/ApplicationModelCreator.java	2008-10-22 17:16:39 UTC (rev 2024)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/ApplicationModelCreator.java	2008-10-22 17:20:54 UTC (rev 2025)
@@ -1,523 +0,0 @@
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jiemamy.core.S2FactoryStrategy;
-import org.jiemamy.core.model.dataset.RecordModelImpl;
-import org.jiemamy.core.model.typedef.datatype.impl.IntegerDataTypeMock;
-import org.jiemamy.core.model.typedef.datatype.impl.NumericDataTypeMock;
-import org.jiemamy.core.model.typedef.datatype.impl.TimestampDataTypeMock;
-import org.jiemamy.core.model.typedef.datatype.impl.VarcharDataTypeMock;
-import org.jiemamy.core.utils.processor.entity.table.GetColumnProcessor;
-import org.jiemamy.core.utils.processor.root.SetRecordProcessor;
-import org.jiemamy.creator.JiemamyModelFactory;
-import org.jiemamy.spec.exception.ElementNotFoundException;
-import org.jiemamy.spec.exception.JiemamyRuntimeException;
-import org.jiemamy.spec.exception.TooManyElementsException;
-import org.jiemamy.spec.model.ColumnModel;
-import org.jiemamy.spec.model.DomainModel;
-import org.jiemamy.spec.model.RootModel;
-import org.jiemamy.spec.model.connection.ForeignKeyModel;
-import org.jiemamy.spec.model.connection.ForeignKeyModel.InitiallyCheckTime;
-import org.jiemamy.spec.model.connection.ForeignKeyModel.ReferentialAction;
-import org.jiemamy.spec.model.constraint.NotNullConstraintModel;
-import org.jiemamy.spec.model.constraint.PrimaryKeyConstraintModel;
-import org.jiemamy.spec.model.constraint.UniqueConstraintModel;
-import org.jiemamy.spec.model.dataset.RecordModel;
-import org.jiemamy.spec.model.node.StickyModel;
-import org.jiemamy.spec.model.node.TableModel;
-import org.jiemamy.spec.model.node.ViewModel;
-import org.jiemamy.spec.view.model.DiagramPresentationModel;
-import org.jiemamy.spec.view.model.DiagramPresentations;
-import org.jiemamy.spec.view.model.geometory.JmPoint;
-import org.jiemamy.spec.view.model.geometory.JmRectangle;
-
-/**
- * アプリケーション用のモデルを生成するクラス。
- * 
- * @author j5ik2o
- */
-public class ApplicationModelCreator {
-	
-	/**
-	 * TODO for daisuke
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		RootModel rootModel = new ApplicationModelCreator().createModel();
-		System.out.println(rootModel);
-	}
-	
-	/**
-	 * テスト用モデルを生成する。
-	 * @return モデル
-	 */
-	public RootModel createModel() {
-		JiemamyModelFactory.init(new S2FactoryStrategy("jiemamy-view.dicon"));
-		int offset = 50;
-		
-		RootModel rootModel = JiemamyModelFactory.createRoot().init();
-		rootModel.setDialectClassName("org.jiemamy.dialect.mysql.MySqlDialect"); // MySQLDialect.class.getName()	
-		rootModel.setBeginScript("BEGIN;");
-		rootModel.setEndScript("COMMIT;");
-		rootModel.setDescription("シリアライゼーションイメージ");
-		rootModel.setSchemaName("FOO");
-		
-		DomainModel idDomain = rootModel.createJiemamyModel(DomainModel.class).init("ID", new IntegerDataTypeMock());
-		rootModel.appendModel(idDomain);
-		idDomain.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
-		idDomain.addConstraint(rootModel.createJiemamyModel(UniqueConstraintModel.class).init());
-		// TODO AUTO_INCREMENTの追加 [CORE-21]
-		
-		DomainModel nameDomain =
-				rootModel.createJiemamyModel(DomainModel.class).init("NAME", new VarcharDataTypeMock(32));
-		rootModel.appendModel(nameDomain);
-		nameDomain.setDescription("人名用の型です。");
-		
-		// ノードの生成
-		TableModel deptTable = createDeptTable(rootModel, idDomain, nameDomain);
-		TableModel empTable = createEmpTable(rootModel, idDomain, nameDomain);
-		
-		ViewModel highSalView =
-				rootModel.createJiemamyModel(ViewModel.class).init("V_HIGH_SAL_EMP",
-						"SELECT * FROM T_EMP WHERE SAL > 2000;");
-		highSalView.setLogicalName("高給取り");
-		rootModel.appendModel(highSalView);
-		
-		StickyModel sticky = rootModel.createJiemamyModel(StickyModel.class).init();
-		rootModel.appendModel(sticky);
-		sticky.setContents("メモーー");
-		
-		// コネクションの生成・追加
-		ForeignKeyModel fkEmpEmp = createForeignKey(rootModel, empTable, empTable, "MGR_ID");
-		rootModel.appendModel(fkEmpEmp);
-		fkEmpEmp.setOnDelete(ReferentialAction.SET_NULL);
-		fkEmpEmp.setDeferrable(true);
-		fkEmpEmp.setInitiallyCheckTime(InitiallyCheckTime.DEFERRED);
-		
-		ForeignKeyModel fkEmpDept = createForeignKey(rootModel, deptTable, empTable, "DEPT_ID");
-		rootModel.appendModel(fkEmpDept);
-		
-		// ダイアグラム表現の生成・追加(1)
-		DiagramPresentationModel presentation =
-				rootModel.createJiemamyModel(DiagramPresentationModel.class).init("全部表示する");
-		rootModel.getAdapter(DiagramPresentations.class).add(presentation);
-		presentation.setName("全部表示する");
-		presentation.getNodeLayouts().put(empTable, new JmRectangle(360, 60));
-		presentation.getNodeLayouts().put(deptTable, new JmRectangle(60, 60));
-		presentation.getNodeLayouts().put(highSalView, new JmRectangle(60, 270));
-		presentation.getNodeLayouts().put(sticky, new JmRectangle(360, 270));
-		
-		List<JmPoint> bendpoints = new ArrayList<JmPoint>();
-		JmRectangle rect = presentation.getNodeLayouts().get(empTable);
-		bendpoints.add(0, new JmPoint(Math.max(rect.x - offset, 0), rect.y));
-		bendpoints.add(1, new JmPoint(rect.x, Math.max(rect.y - offset, 0)));
-		presentation.getConnectionLayouts().put(fkEmpEmp, bendpoints);
-		presentation.getConnectionLayouts().put(fkEmpDept, new ArrayList<JmPoint>()); // bendpount無し
-		
-		// ダイアグラム表現の生成・追加(2)
-		presentation = rootModel.createJiemamyModel(DiagramPresentationModel.class).init("一部表示する");
-		rootModel.getAdapter(DiagramPresentations.class).add(presentation);
-		presentation.getNodeLayouts().put(empTable, new JmRectangle(60, 60));
-		presentation.getNodeLayouts().put(highSalView, new JmRectangle(270, 270));
-		presentation.getConnectionLayouts().put(fkEmpDept, new ArrayList<JmPoint>()); // bendpount無し
-		
-//		// データセットの生成・追加(1)
-//		InsertDataSetModel dataSet = rootModel.createJiemamyModel(InsertDataSetModel.class).init("データ群en");
-//		rootModel.getAdapter(InsertDataSetModel.class).add(dataSet);
-//		dataSet.getRecords().put(deptTable, createDeptDataSetEn(deptTable));
-//		dataSet.getRecords().put(empTable, createEmpDataSetEn(empTable));
-//		
-//		// データセットの生成・追加(2)
-//		dataSet = rootModel.createJiemamyModel(InsertDataSetModel.class).init("データ群ja");
-//		rootModel.getAdapter(InsertDataSetModel.class).add(dataSet);
-//		dataSet.getRecords().put(deptTable, createDeptDataSetJa(deptTable));
-//		dataSet.getRecords().put(empTable, createEmpDataSetJa(empTable));
-		
-		return rootModel;
-	}
-	
-	private List<RecordModel> createDeptDataSetEn(TableModel deptTable) {
-		List<RecordModel> result = new ArrayList<RecordModel>();
-		
-		try {
-			RecordModel record = new RecordModelImpl();
-			
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "1"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "10"));
-			record
-				.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "ACCOUNTING"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "NEW YORK"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "2"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "20"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "RESEARCH"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "DALLAS"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "3"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "30"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "SALES"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "CHICAGO"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "4"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "40"));
-			record
-				.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "OPERATIONS"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "BOSTON"));
-			result.add(record);
-		} catch (TooManyElementsException e) {
-			throw new JiemamyRuntimeException("test code error", e);
-		}
-		
-		return result;
-	}
-	
-	private List<RecordModel> createDeptDataSetJa(TableModel deptTable) {
-		List<RecordModel> result = new ArrayList<RecordModel>();
-		
-		try {
-			RecordModel record = new RecordModelImpl();
-			
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "1"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "10"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "経理部"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "広島"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "2"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "20"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "研究開発部"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "京都"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "3"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "30"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "営業部"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "東京"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "4"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "40"));
-			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "経営本部"));
-			// locは指定せず、特定しない状態
-			result.add(record);
-		} catch (TooManyElementsException e) {
-			throw new JiemamyRuntimeException("test code error", e);
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * DEPTテーブルの生成。
-	 * @param rootModel 
-	 * @param idDomain IDの型として使用するドメイン
-	 * @param nameDomain 名称として使用するドメイン
-	 * @return DEPTテーブル
-	 */
-	private TableModel createDeptTable(RootModel rootModel, DomainModel idDomain, DomainModel nameDomain) {
-		TableModel deptTable = rootModel.createJiemamyModel(TableModel.class).init("T_DEPT");
-		rootModel.appendModel(deptTable);
-		deptTable.setBeginScript("/* test begin script */");
-		deptTable.setDescription("部署マスタです。");
-		
-		ColumnModel idColumn = rootModel.createJiemamyModel(ColumnModel.class).init("ID", idDomain);
-		deptTable.getColumns().add(idColumn);
-		idColumn.addConstraint(rootModel.createJiemamyModel(PrimaryKeyConstraintModel.class).init());
-		idColumn.setLogicalName("部署ID");
-		
-		ColumnModel noColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("DEPT_NO", new IntegerDataTypeMock());
-		deptTable.getColumns().add(noColumn);
-		noColumn.setLogicalName("部署番号");
-		
-		ColumnModel deptNameColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("DEPT_NAME", new VarcharDataTypeMock(20));
-		deptTable.getColumns().add(deptNameColumn);
-		deptNameColumn.setLogicalName("部署名");
-		deptNameColumn.setRepresentation(true);
-		
-		ColumnModel locColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("LOC", new VarcharDataTypeMock(20));
-		deptTable.getColumns().add(locColumn);
-		locColumn.setLogicalName("ロケーション");
-		locColumn.setDefaultValue("secret");
-		
-		return deptTable;
-	}
-	
-	private List<RecordModel> createEmpDataSetEn(TableModel empTable) {
-		List<RecordModel> result = new ArrayList<RecordModel>();
-		
-		try {
-			RecordModel record = new RecordModelImpl();
-			
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "1"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "10"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "SMITH"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2003-02-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "40"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "2"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "20"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "ALLEN"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2000-03-04"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "50"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "WARD"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), null));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "1993-12-05"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "60"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "4"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "40"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "JONES"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "2"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "36"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "5"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "50"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "MARTIN"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2002-05-30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "6"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "60"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "BLAKE"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "7"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "70"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "CLARK"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2004-09-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "1"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "8"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "80"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "SCOTT"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "4"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2008-03-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
-			result.add(record);
-		} catch (TooManyElementsException e) {
-			throw new JiemamyRuntimeException("test code error", e);
-		}
-		
-		return result;
-	}
-	
-	private List<RecordModel> createEmpDataSetJa(TableModel empTable) {
-		List<RecordModel> result = new ArrayList<RecordModel>();
-		
-		try {
-			RecordModel record = new RecordModelImpl();
-			
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "1"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "10"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "山本"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2003-02-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "40"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "2"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "20"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "内海"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2000-03-04"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "50"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "村瀬"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), null));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "1993-12-05"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "60"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "4"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "40"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "近藤"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "2"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "36"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "5"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "50"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "小峰"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2002-05-30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "6"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "60"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "三浦"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "7"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "70"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "前島"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2004-09-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "1"));
-			result.add(record);
-			
-			record = new RecordModelImpl();
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "8"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "80"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "島崎"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "4"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2008-03-01"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
-			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
-			result.add(record);
-		} catch (TooManyElementsException e) {
-			throw new JiemamyRuntimeException("test code error", e);
-		}
-		
-		return result;
-	}
-	
-	/**
-	 * EMPテーブルの生成
-	 * @param rootModel 
-	 * @param idDomain IDの型として使用するドメイン
-	 * @param nameDomain 名称として使用するドメイン
-	 * @return EMPテーブル
-	 */
-	private TableModel createEmpTable(RootModel rootModel, DomainModel idDomain, DomainModel nameDomain) {
-		TableModel empTable = rootModel.createJiemamyModel(TableModel.class).init("T_EMP");
-		rootModel.appendModel(empTable);
-		empTable.setLogicalName("従業員");
-		empTable.setBeginScript("/* test end script */");
-		empTable.setDescription("従業員マスタです。");
-		
-		ColumnModel idColumn = rootModel.createJiemamyModel(ColumnModel.class).init("ID", idDomain);
-		empTable.getColumns().add(idColumn);
-		idColumn.addConstraint(rootModel.createJiemamyModel(PrimaryKeyConstraintModel.class).init());
-		idColumn.setLogicalName("従業員ID");
-		
-		ColumnModel noColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("EMP_NO", new IntegerDataTypeMock());
-		empTable.getColumns().add(noColumn);
-		noColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
-		noColumn.setLogicalName("従業員番号");
-		
-		ColumnModel nameColumn = rootModel.createJiemamyModel(ColumnModel.class).init("EMP_NAME", nameDomain);
-		empTable.getColumns().add(nameColumn);
-		nameColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
-		nameColumn.setLogicalName("従業員名");
-		nameColumn.setDefaultValue("no name");
-		nameColumn.setSimpleIndex(true);
-		nameColumn.setRepresentation(true);
-		
-		rootModel.createJiemamyModel(ColumnModel.class).init("MGR_ID", new IntegerDataTypeMock());
-		
-		ColumnModel hireColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("HIREDATE", new TimestampDataTypeMock());
-		empTable.getColumns().add(hireColumn);
-		hireColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
-		
-		ColumnModel salColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("SAL", new NumericDataTypeMock(7, 2));
-		empTable.getColumns().add(salColumn);
-		salColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
-		
-		ColumnModel deptColumn =
-				rootModel.createJiemamyModel(ColumnModel.class).init("DEPT_ID", new IntegerDataTypeMock());
-		empTable.getColumns().add(deptColumn);
-		deptColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
-		
-		return empTable;
-	}
-	
-	/**
-	 * 外部キーを生成する。
-	 * このメソッドは、複合キーテーブルを参照する外部キーは生成できない。
-	 * @param rootModel 
-	 * @param target 参照先テーブル
-	 * @param source 制約を受けるテーブル
-	 * @param sourceColumnName 制約を受けるカラムのカラム名 
-	 * @return 外部キー
-	 */
-	private ForeignKeyModel createForeignKey(RootModel rootModel, TableModel target, TableModel source,
-			String sourceColumnName) {
-		String[] sourceColumnNames = new String[] {
-			sourceColumnName
-		};
-		
-		ForeignKeyModel fk = rootModel.createJiemamyModel(ForeignKeyModel.class).init(rootModel, source, target);
-		fk.createMappings(rootModel, false);
-		for (int i = 0; i < sourceColumnNames.length; i++) {
-			try {
-				ColumnModel constraintColumn = source.getColumn(sourceColumnNames[i]);
-				fk.getMappings().get(i).setConstraintColumn(constraintColumn);
-				break;
-			} catch (TooManyElementsException e) {
-				throw new JiemamyRuntimeException("test code error", e);
-			} catch (ElementNotFoundException e) {
-				// ignore
-			}
-		}
-		
-		return fk;
-	}
-}

Copied: artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java (from rev 2024, artemis/trunk/org.jiemamy.serializer/src/main/java/ApplicationModelCreator.java)
===================================================================
--- artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java	                        (rev 0)
+++ artemis/trunk/org.jiemamy.serializer/src/main/java/org/jiemamy/core/model/ApplicationModelCreator.java	2008-10-22 17:20:54 UTC (rev 2025)
@@ -0,0 +1,524 @@
+package org.jiemamy.core.model;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jiemamy.core.S2FactoryStrategy;
+import org.jiemamy.core.model.dataset.RecordModelImpl;
+import org.jiemamy.core.model.typedef.datatype.impl.IntegerDataTypeMock;
+import org.jiemamy.core.model.typedef.datatype.impl.NumericDataTypeMock;
+import org.jiemamy.core.model.typedef.datatype.impl.TimestampDataTypeMock;
+import org.jiemamy.core.model.typedef.datatype.impl.VarcharDataTypeMock;
+import org.jiemamy.core.utils.processor.entity.table.GetColumnProcessor;
+import org.jiemamy.core.utils.processor.root.SetRecordProcessor;
+import org.jiemamy.creator.JiemamyModelFactory;
+import org.jiemamy.spec.exception.ElementNotFoundException;
+import org.jiemamy.spec.exception.JiemamyRuntimeException;
+import org.jiemamy.spec.exception.TooManyElementsException;
+import org.jiemamy.spec.model.ColumnModel;
+import org.jiemamy.spec.model.DomainModel;
+import org.jiemamy.spec.model.RootModel;
+import org.jiemamy.spec.model.connection.ForeignKeyModel;
+import org.jiemamy.spec.model.connection.ForeignKeyModel.InitiallyCheckTime;
+import org.jiemamy.spec.model.connection.ForeignKeyModel.ReferentialAction;
+import org.jiemamy.spec.model.constraint.NotNullConstraintModel;
+import org.jiemamy.spec.model.constraint.PrimaryKeyConstraintModel;
+import org.jiemamy.spec.model.constraint.UniqueConstraintModel;
+import org.jiemamy.spec.model.dataset.RecordModel;
+import org.jiemamy.spec.model.node.StickyModel;
+import org.jiemamy.spec.model.node.TableModel;
+import org.jiemamy.spec.model.node.ViewModel;
+import org.jiemamy.spec.view.model.DiagramPresentationModel;
+import org.jiemamy.spec.view.model.DiagramPresentations;
+import org.jiemamy.spec.view.model.geometory.JmPoint;
+import org.jiemamy.spec.view.model.geometory.JmRectangle;
+
+/**
+ * アプリケーション用のモデルを生成するクラス。
+ * 
+ * @author j5ik2o
+ */
+public class ApplicationModelCreator {
+	
+	/**
+	 * TODO for daisuke
+	 * @param args
+	 */
+	public static void main(String[] args) {
+		RootModel rootModel = new ApplicationModelCreator().createModel();
+		System.out.println(rootModel);
+	}
+	
+	/**
+	 * テスト用モデルを生成する。
+	 * @return モデル
+	 */
+	public RootModel createModel() {
+		JiemamyModelFactory.init(new S2FactoryStrategy("jiemamy-view.dicon"));
+		int offset = 50;
+		
+		RootModel rootModel = JiemamyModelFactory.createRoot().init();
+		rootModel.setDialectClassName("org.jiemamy.dialect.mysql.MySqlDialect"); // MySQLDialect.class.getName()	
+		rootModel.setBeginScript("BEGIN;");
+		rootModel.setEndScript("COMMIT;");
+		rootModel.setDescription("シリアライゼーションイメージ");
+		rootModel.setSchemaName("FOO");
+		
+		DomainModel idDomain = rootModel.createJiemamyModel(DomainModel.class).init("ID", new IntegerDataTypeMock());
+		rootModel.appendModel(idDomain);
+		idDomain.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
+		idDomain.addConstraint(rootModel.createJiemamyModel(UniqueConstraintModel.class).init());
+		// TODO AUTO_INCREMENTの追加 [CORE-21]
+		
+		DomainModel nameDomain =
+				rootModel.createJiemamyModel(DomainModel.class).init("NAME", new VarcharDataTypeMock(32));
+		rootModel.appendModel(nameDomain);
+		nameDomain.setDescription("人名用の型です。");
+		
+		// ノードの生成
+		TableModel deptTable = createDeptTable(rootModel, idDomain, nameDomain);
+		TableModel empTable = createEmpTable(rootModel, idDomain, nameDomain);
+		
+		ViewModel highSalView =
+				rootModel.createJiemamyModel(ViewModel.class).init("V_HIGH_SAL_EMP",
+						"SELECT * FROM T_EMP WHERE SAL > 2000;");
+		highSalView.setLogicalName("高給取り");
+		rootModel.appendModel(highSalView);
+		
+		StickyModel sticky = rootModel.createJiemamyModel(StickyModel.class).init();
+		rootModel.appendModel(sticky);
+		sticky.setContents("メモーー");
+		
+		// コネクションの生成・追加
+		ForeignKeyModel fkEmpEmp = createForeignKey(rootModel, empTable, empTable, "MGR_ID");
+		rootModel.appendModel(fkEmpEmp);
+		fkEmpEmp.setOnDelete(ReferentialAction.SET_NULL);
+		fkEmpEmp.setDeferrable(true);
+		fkEmpEmp.setInitiallyCheckTime(InitiallyCheckTime.DEFERRED);
+		
+		ForeignKeyModel fkEmpDept = createForeignKey(rootModel, deptTable, empTable, "DEPT_ID");
+		rootModel.appendModel(fkEmpDept);
+		
+		// ダイアグラム表現の生成・追加(1)
+		DiagramPresentationModel presentation =
+				rootModel.createJiemamyModel(DiagramPresentationModel.class).init("全部表示する");
+		rootModel.getAdapter(DiagramPresentations.class).add(presentation);
+		presentation.setName("全部表示する");
+		presentation.getNodeLayouts().put(empTable, new JmRectangle(360, 60));
+		presentation.getNodeLayouts().put(deptTable, new JmRectangle(60, 60));
+		presentation.getNodeLayouts().put(highSalView, new JmRectangle(60, 270));
+		presentation.getNodeLayouts().put(sticky, new JmRectangle(360, 270));
+		
+		List<JmPoint> bendpoints = new ArrayList<JmPoint>();
+		JmRectangle rect = presentation.getNodeLayouts().get(empTable);
+		bendpoints.add(0, new JmPoint(Math.max(rect.x - offset, 0), rect.y));
+		bendpoints.add(1, new JmPoint(rect.x, Math.max(rect.y - offset, 0)));
+		presentation.getConnectionLayouts().put(fkEmpEmp, bendpoints);
+		presentation.getConnectionLayouts().put(fkEmpDept, new ArrayList<JmPoint>()); // bendpount無し
+		
+		// ダイアグラム表現の生成・追加(2)
+		presentation = rootModel.createJiemamyModel(DiagramPresentationModel.class).init("一部表示する");
+		rootModel.getAdapter(DiagramPresentations.class).add(presentation);
+		presentation.getNodeLayouts().put(empTable, new JmRectangle(60, 60));
+		presentation.getNodeLayouts().put(highSalView, new JmRectangle(270, 270));
+		presentation.getConnectionLayouts().put(fkEmpDept, new ArrayList<JmPoint>()); // bendpount無し
+		
+//		// データセットの生成・追加(1)
+//		InsertDataSetModel dataSet = rootModel.createJiemamyModel(InsertDataSetModel.class).init("データ群en");
+//		rootModel.getAdapter(InsertDataSetModel.class).add(dataSet);
+//		dataSet.getRecords().put(deptTable, createDeptDataSetEn(deptTable));
+//		dataSet.getRecords().put(empTable, createEmpDataSetEn(empTable));
+//		
+//		// データセットの生成・追加(2)
+//		dataSet = rootModel.createJiemamyModel(InsertDataSetModel.class).init("データ群ja");
+//		rootModel.getAdapter(InsertDataSetModel.class).add(dataSet);
+//		dataSet.getRecords().put(deptTable, createDeptDataSetJa(deptTable));
+//		dataSet.getRecords().put(empTable, createEmpDataSetJa(empTable));
+		
+		return rootModel;
+	}
+	
+	private List<RecordModel> createDeptDataSetEn(TableModel deptTable) {
+		List<RecordModel> result = new ArrayList<RecordModel>();
+		
+		try {
+			RecordModel record = new RecordModelImpl();
+			
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "1"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "10"));
+			record
+				.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "ACCOUNTING"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "NEW YORK"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "2"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "20"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "RESEARCH"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "DALLAS"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "3"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "30"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "SALES"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "CHICAGO"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "4"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "40"));
+			record
+				.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "OPERATIONS"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "BOSTON"));
+			result.add(record);
+		} catch (TooManyElementsException e) {
+			throw new JiemamyRuntimeException("test code error", e);
+		}
+		
+		return result;
+	}
+	
+	private List<RecordModel> createDeptDataSetJa(TableModel deptTable) {
+		List<RecordModel> result = new ArrayList<RecordModel>();
+		
+		try {
+			RecordModel record = new RecordModelImpl();
+			
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "1"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "10"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "経理部"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "広島"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "2"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "20"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "研究開発部"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "京都"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "3"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "30"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "営業部"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("LOC")), "東京"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("ID")), "4"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NO")), "40"));
+			record.process(new SetRecordProcessor(deptTable.process(new GetColumnProcessor("DEPT_NAME")), "経営本部"));
+			// locは指定せず、特定しない状態
+			result.add(record);
+		} catch (TooManyElementsException e) {
+			throw new JiemamyRuntimeException("test code error", e);
+		}
+		
+		return result;
+	}
+	
+	/**
+	 * DEPTテーブルの生成。
+	 * @param rootModel 
+	 * @param idDomain IDの型として使用するドメイン
+	 * @param nameDomain 名称として使用するドメイン
+	 * @return DEPTテーブル
+	 */
+	private TableModel createDeptTable(RootModel rootModel, DomainModel idDomain, DomainModel nameDomain) {
+		TableModel deptTable = rootModel.createJiemamyModel(TableModel.class).init("T_DEPT");
+		rootModel.appendModel(deptTable);
+		deptTable.setBeginScript("/* test begin script */");
+		deptTable.setDescription("部署マスタです。");
+		
+		ColumnModel idColumn = rootModel.createJiemamyModel(ColumnModel.class).init("ID", idDomain);
+		deptTable.getColumns().add(idColumn);
+		idColumn.addConstraint(rootModel.createJiemamyModel(PrimaryKeyConstraintModel.class).init());
+		idColumn.setLogicalName("部署ID");
+		
+		ColumnModel noColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("DEPT_NO", new IntegerDataTypeMock());
+		deptTable.getColumns().add(noColumn);
+		noColumn.setLogicalName("部署番号");
+		
+		ColumnModel deptNameColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("DEPT_NAME", new VarcharDataTypeMock(20));
+		deptTable.getColumns().add(deptNameColumn);
+		deptNameColumn.setLogicalName("部署名");
+		deptNameColumn.setRepresentation(true);
+		
+		ColumnModel locColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("LOC", new VarcharDataTypeMock(20));
+		deptTable.getColumns().add(locColumn);
+		locColumn.setLogicalName("ロケーション");
+		locColumn.setDefaultValue("secret");
+		
+		return deptTable;
+	}
+	
+	private List<RecordModel> createEmpDataSetEn(TableModel empTable) {
+		List<RecordModel> result = new ArrayList<RecordModel>();
+		
+		try {
+			RecordModel record = new RecordModelImpl();
+			
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "1"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "10"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "SMITH"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2003-02-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "40"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "2"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "20"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "ALLEN"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2000-03-04"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "50"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "WARD"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), null));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "1993-12-05"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "60"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "4"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "40"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "JONES"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "2"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "36"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "5"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "50"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "MARTIN"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2002-05-30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "6"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "60"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "BLAKE"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "7"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "70"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "CLARK"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2004-09-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "1"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "8"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "80"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "SCOTT"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "4"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2008-03-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
+			result.add(record);
+		} catch (TooManyElementsException e) {
+			throw new JiemamyRuntimeException("test code error", e);
+		}
+		
+		return result;
+	}
+	
+	private List<RecordModel> createEmpDataSetJa(TableModel empTable) {
+		List<RecordModel> result = new ArrayList<RecordModel>();
+		
+		try {
+			RecordModel record = new RecordModelImpl();
+			
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "1"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "10"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "山本"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2003-02-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "40"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "2"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "20"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "内海"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2000-03-04"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "50"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "村瀬"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), null));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "1993-12-05"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "60"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "4"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "4"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "40"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "近藤"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "2"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "36"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "5"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "50"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "小峰"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2002-05-30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "3"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "6"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "60"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "三浦"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "3"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2007-04-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "7"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "70"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "前島"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "1"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2004-09-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "30"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "1"));
+			result.add(record);
+			
+			record = new RecordModelImpl();
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("ID")), "8"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NO")), "80"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("EMP_NAME")), "島崎"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("MGR_ID")), "4"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("HIREDATE")), "2008-03-01"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("SAL")), "25"));
+			record.process(new SetRecordProcessor(empTable.process(new GetColumnProcessor("DEPT_ID")), "2"));
+			result.add(record);
+		} catch (TooManyElementsException e) {
+			throw new JiemamyRuntimeException("test code error", e);
+		}
+		
+		return result;
+	}
+	
+	/**
+	 * EMPテーブルの生成
+	 * @param rootModel 
+	 * @param idDomain IDの型として使用するドメイン
+	 * @param nameDomain 名称として使用するドメイン
+	 * @return EMPテーブル
+	 */
+	private TableModel createEmpTable(RootModel rootModel, DomainModel idDomain, DomainModel nameDomain) {
+		TableModel empTable = rootModel.createJiemamyModel(TableModel.class).init("T_EMP");
+		rootModel.appendModel(empTable);
+		empTable.setLogicalName("従業員");
+		empTable.setBeginScript("/* test end script */");
+		empTable.setDescription("従業員マスタです。");
+		
+		ColumnModel idColumn = rootModel.createJiemamyModel(ColumnModel.class).init("ID", idDomain);
+		empTable.getColumns().add(idColumn);
+		idColumn.addConstraint(rootModel.createJiemamyModel(PrimaryKeyConstraintModel.class).init());
+		idColumn.setLogicalName("従業員ID");
+		
+		ColumnModel noColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("EMP_NO", new IntegerDataTypeMock());
+		empTable.getColumns().add(noColumn);
+		noColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
+		noColumn.setLogicalName("従業員番号");
+		
+		ColumnModel nameColumn = rootModel.createJiemamyModel(ColumnModel.class).init("EMP_NAME", nameDomain);
+		empTable.getColumns().add(nameColumn);
+		nameColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
+		nameColumn.setLogicalName("従業員名");
+		nameColumn.setDefaultValue("no name");
+		nameColumn.setSimpleIndex(true);
+		nameColumn.setRepresentation(true);
+		
+		rootModel.createJiemamyModel(ColumnModel.class).init("MGR_ID", new IntegerDataTypeMock());
+		
+		ColumnModel hireColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("HIREDATE", new TimestampDataTypeMock());
+		empTable.getColumns().add(hireColumn);
+		hireColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
+		
+		ColumnModel salColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("SAL", new NumericDataTypeMock(7, 2));
+		empTable.getColumns().add(salColumn);
+		salColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
+		
+		ColumnModel deptColumn =
+				rootModel.createJiemamyModel(ColumnModel.class).init("DEPT_ID", new IntegerDataTypeMock());
+		empTable.getColumns().add(deptColumn);
+		deptColumn.addConstraint(rootModel.createJiemamyModel(NotNullConstraintModel.class).init());
+		
+		return empTable;
+	}
+	
+	/**
+	 * 外部キーを生成する。
+	 * このメソッドは、複合キーテーブルを参照する外部キーは生成できない。
+	 * @param rootModel 
+	 * @param target 参照先テーブル
+	 * @param source 制約を受けるテーブル
+	 * @param sourceColumnName 制約を受けるカラムのカラム名 
+	 * @return 外部キー
+	 */
+	private ForeignKeyModel createForeignKey(RootModel rootModel, TableModel target, TableModel source,
+			String sourceColumnName) {
+		String[] sourceColumnNames = new String[] {
+			sourceColumnName
+		};
+		
+		ForeignKeyModel fk = rootModel.createJiemamyModel(ForeignKeyModel.class).init(rootModel, source, target);
+		fk.createMappings(rootModel, false);
+		for (int i = 0; i < sourceColumnNames.length; i++) {
+			try {
+				ColumnModel constraintColumn = source.getColumn(sourceColumnNames[i]);
+				fk.getMappings().get(i).setConstraintColumn(constraintColumn);
+				break;
+			} catch (TooManyElementsException e) {
+				throw new JiemamyRuntimeException("test code error", e);
+			} catch (ElementNotFoundException e) {
+				// ignore
+			}
+		}
+		
+		return fk;
+	}
+}


Jiemamy-notify メーリングリストの案内
Back to archive index