use of org.tmdmaker.core.model.VirtualSuperset in project tmdmaker by tmdmaker.
the class DiagramTest method testCreateVirtualSuperset.
@Test
public void testCreateVirtualSuperset() {
Diagram diagram = new Diagram();
Entity e1 = Entity.ofEvent(new Identifier("テスト1番号")).withDefaultAttribute();
diagram.addChild(e1);
Entity e2 = Entity.ofEvent(new Identifier("テスト2番号")).withDefaultAttribute();
diagram.addChild(e2);
List<AbstractEntityModel> list = new ArrayList<AbstractEntityModel>();
list.add(e1);
list.add(e2);
VirtualSuperset vsp = VirtualSuperset.of(new ModelName("スーパーセット"));
vsp.virtualSubsets().builder().subsetList(list).build();
VirtualSupersetType2VirtualSupersetRelationship t2v = (VirtualSupersetType2VirtualSupersetRelationship) vsp.getModelTargetConnections().get(0);
VirtualSupersetType type = vsp.getVirtualSupersetType();
Entity2VirtualSupersetTypeRelationship m2t1 = (Entity2VirtualSupersetTypeRelationship) type.getModelTargetConnections().get(0);
assertEquals(2, vsp.getVirtualSubsetList().size());
assertEquals(true, t2v.isDeletable());
assertEquals("スーパーセット", t2v.getSourceName());
assertEquals("テスト1,テスト2", t2v.getTargetName());
assertEquals("スーパーセット", m2t1.getSourceName());
assertEquals("テスト1", m2t1.getTargetName());
}
use of org.tmdmaker.core.model.VirtualSuperset in project tmdmaker by tmdmaker.
the class VirtualSupersetCreateAction method run.
/**
* {@inheritDoc}
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
// アクション呼び出し時のマウスカーソル位置を取得。位置の微調整必要かも
Point pos = getControlCursorLocation();
List<AbstractEntityModel> selectedModels = getSelectedModelList();
Diagram diagram = getDiagram();
VirtualSuperset original = null;
VirtualSupersetType aggregator = null;
if (!selectedModels.isEmpty()) {
original = getVirtualSuperset();
if (original != null) {
selectedModels.remove(original);
}
}
VirtualSupersetCreateDialog dialog = new VirtualSupersetCreateDialog(getControl().getShell(), diagram, original, selectedModels);
if (dialog.open() == Dialog.OK) {
CompoundCommand ccommand = null;
VirtualSuperset edited = dialog.getEditedValue();
aggregator = dialog.getEditedAggregator();
List<AbstractEntityModel> selection = dialog.getSelection();
// みなしスーパーセット作成
if (original == null) {
if (selection.isEmpty()) {
return;
}
ccommand = new CompoundCommand();
ccommand.add(new VirtualSupersetCreateCommand(edited, selection, pos.x, pos.y));
ccommand.add(new VirtualSupersetTypeChangeCommand(edited, aggregator.isApplyAttribute()));
} else {
ccommand = new VirtualSupersetEditCommand(original, edited, selection, aggregator.isApplyAttribute());
}
execute(ccommand);
}
}
use of org.tmdmaker.core.model.VirtualSuperset in project tmdmaker by tmdmaker.
the class ModelFeatureTest method testCanCreateSubset.
/**
* モデル毎のサブセットの作成可否をテスト
*/
@Test
public void testCanCreateSubset() {
CombinationTable t = new CombinationTable();
assertEquals(true, t.canCreateSubset());
Entity e = new Entity();
assertEquals(true, e.canCreateSubset());
Detail d = new Detail();
assertEquals(true, d.canCreateSubset());
Laputa l = new Laputa();
assertEquals(false, l.canCreateSubset());
MappingList m = new MappingList();
assertEquals(true, m.canCreateSubset());
MultivalueAndSuperset ms = new MultivalueAndSuperset();
assertEquals(false, ms.canCreateSubset());
MultivalueOrEntity mo = new MultivalueOrEntity();
assertEquals(true, mo.canCreateSubset());
RecursiveTable r = new RecursiveTable();
assertEquals(true, r.canCreateSubset());
SubsetEntity s = new SubsetEntity();
assertEquals(true, s.canCreateSubset());
VirtualEntity v = new VirtualEntity();
assertEquals(false, v.canCreateSubset());
VirtualSuperset vs = new VirtualSuperset();
assertEquals(false, vs.canCreateSubset());
Memo mm = new Memo();
assertEquals(false, mm.canCreateSubset());
TurboFile tb = new TurboFile();
assertEquals(false, tb.canCreateSubset());
}
use of org.tmdmaker.core.model.VirtualSuperset in project tmdmaker by tmdmaker.
the class ModelFeatureTest method testCanCreateVirtualEntity.
/**
* モデル毎のみなしエンティティ作成可否をテスト
*/
@Test
public void testCanCreateVirtualEntity() {
CombinationTable t = new CombinationTable();
assertEquals(true, t.canCreateVirtualEntity());
Entity e = new Entity();
assertEquals(true, e.canCreateVirtualEntity());
Detail d = new Detail();
assertEquals(true, d.canCreateVirtualEntity());
Laputa l = new Laputa();
assertEquals(false, l.canCreateVirtualEntity());
MappingList m = new MappingList();
assertEquals(true, m.canCreateVirtualEntity());
MultivalueAndSuperset ms = new MultivalueAndSuperset();
assertEquals(false, ms.canCreateVirtualEntity());
MultivalueOrEntity mo = new MultivalueOrEntity();
assertEquals(true, mo.canCreateVirtualEntity());
RecursiveTable r = new RecursiveTable();
assertEquals(true, r.canCreateVirtualEntity());
SubsetEntity s = new SubsetEntity();
assertEquals(true, s.canCreateVirtualEntity());
VirtualEntity v = new VirtualEntity();
assertEquals(false, v.canCreateVirtualEntity());
VirtualSuperset vs = new VirtualSuperset();
assertEquals(false, vs.canCreateVirtualEntity());
Memo mm = new Memo();
assertEquals(false, mm.canCreateVirtualEntity());
TurboFile tb = new TurboFile();
assertEquals(false, tb.canCreateVirtualEntity());
}
use of org.tmdmaker.core.model.VirtualSuperset in project tmdmaker by tmdmaker.
the class VirtualSupersetTest method testDeleteSuperSuper1.
@Test
public void testDeleteSuperSuper1() {
List<AbstractEntityModel> list = new ArrayList<AbstractEntityModel>();
Diagram diagram = new Diagram();
Entity e1 = Entity.ofEvent(new Identifier("テスト1番号")).withDefaultAttribute();
diagram.addChild(e1);
Entity e2 = Entity.ofEvent(new Identifier("テスト2番号")).withDefaultAttribute();
diagram.addChild(e2);
Entity e3 = Entity.ofEvent(new Identifier("テスト2番号")).withDefaultAttribute();
diagram.addChild(e3);
VirtualSuperset vsp1 = VirtualSuperset.of(new ModelName("スーパーセット"));
VirtualSubsetBuilder builder = vsp1.virtualSubsets().builder();
list.add(e1);
list.add(e2);
list.add(e3);
builder.subsetList(list).build();
assertEquals(3, vsp1.virtualSubsets().all().size());
List<AbstractEntityModel> list2 = new ArrayList<AbstractEntityModel>();
list2.add(e1);
list2.add(e2);
builder = vsp1.virtualSubsets().builder();
builder.subsetList(null).build();
assertTrue(!vsp1.hasSubset());
assertEquals(vsp1.virtualSubsets().all().size(), 0);
builder.rollback();
assertTrue(vsp1.hasSubset());
assertEquals(vsp1.virtualSubsets().all().size(), 3);
}
Aggregations