public void performAction(ActionEvent e) {
createObjEntity();
}
protected void createObjEntity() {
ProjectController mediator = getProjectController();
DataMap dataMap = mediator.getCurrentDataMap();
ObjEntity entity = (ObjEntity) NamedObjectFactory.createObject(
ObjEntity.class,
mediator.getCurrentDataMap());
// init defaults
entity.setSuperClassName(dataMap.getDefaultSuperclass());
entity.setDeclaredLockType(dataMap.getDefaultLockType());
DbEntity dbEntity = mediator.getCurrentDbEntity();
if (dbEntity != null) {
entity.setDbEntity(dbEntity);
String baseName = NameConverter.underscoredToJava(dbEntity.getName(), true);
String entityName = NamedObjectFactory.createName(ObjEntity.class, dbEntity
.getDataMap(), baseName);
entity.setName(entityName);
}
String pkg = dataMap.getDefaultPackage();
if (pkg != null) {
if (!pkg.endsWith(".")) {
pkg = pkg + ".";
}
entity.setClassName(pkg + entity.getName());
}
dataMap.addObjEntity(entity);
// perform the merge
EntityMergeSupport merger = new EntityMergeSupport(dataMap);
merger.synchronizeWithDbEntity(entity);
mediator.fireObjEntityEvent(new EntityEvent(this, entity, MapEvent.ADD));
EntityDisplayEvent displayEvent = new EntityDisplayEvent(
this,
entity,
dataMap,
mediator.getCurrentDataNode(),
mediator.getCurrentDataDomain());
mediator.fireObjEntityDisplayEvent(displayEvent);
}