use of kyj.Fx.dao.wizard.core.model.vo.TableModelDVO in project Gargoyle by callakrsos.
the class FieldMetaFunction method apply.
@Override
public List<FieldMeta> apply(List<TableModelDVO> models) {
List<FieldMeta> fileMetaList = new ArrayList<>(models.size());
for (TableModelDVO tableModel : models) {
try {
String fieldName = tableModel.getName();
String type = tableModel.getType();
FieldMeta fieldMeta = ClassTypeResourceLoader.getInstance().get(type);
fieldMeta.setName(fieldName);
fieldMeta.setModifier(Modifier.PRIVATE);
if ("Y".equals(tableModel.getPk())) {
fieldMeta.setPrimarykey(true);
}
fileMetaList.add(fieldMeta);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
return fileMetaList;
}
use of kyj.Fx.dao.wizard.core.model.vo.TableModelDVO in project Gargoyle by callakrsos.
the class ExcelUtilTest method testToXlsxExcelSVO.
/**
* Test method for
* {@link com.kyj.fx.voeditor.visual.util.ExcelUtil#toXlsxExcelSVO(java.io.File)}
* .
*
* @throws Exception
*/
@Test
public final void testToXlsxExcelSVO() throws Exception {
ExcelSVO xlsxExcelSVO = ExcelUtil.toK(createExcelFile, new BiFunction<File, Workbook, ExcelSVO>() {
@Override
public ExcelSVO apply(File file, Workbook xlsx) {
ExcelSVO svo = new ExcelSVO();
svo.setFile(file);
int numberOfSheets = xlsx.getNumberOfSheets();
for (int i = 0; i < numberOfSheets; i++) {
Sheet sheetAt = xlsx.getSheetAt(i);
String sheetName = xlsx.getSheetName(i);
// 헤더부 처리
{
Row columnRow = sheetAt.getRow(2);
short lastCellNum = columnRow.getLastCellNum();
ArrayList<ExcelColDVO> colList = new ArrayList<>();
for (int _cell = 0; _cell < lastCellNum; _cell++) {
Cell cell = columnRow.getCell(_cell);
String stringCellValue = cell.getStringCellValue();
ExcelColDVO excelColDVO = new ExcelColDVO();
excelColDVO.setColSeq(_cell);
excelColDVO.setColName(stringCellValue);
colList.add(excelColDVO);
}
svo.setColDvoList(sheetName, colList);
}
// 데이터부 처리
for (int _row = 3; _row < sheetAt.getLastRowNum(); _row++) {
Row row = sheetAt.getRow(_row);
short lastCellNum = row.getLastCellNum();
for (int _cell = 0; _cell < lastCellNum; _cell++) {
Cell cell = row.getCell(_cell);
String value = cell.getStringCellValue();
svo.addSheetExcelDVO(sheetName, new ExcelDataDVO(_row, _cell, value));
}
}
}
return svo;
}
});
List<TableModelDVO> list = ExcelUtil.toK(createExcelFile, new BiFunction<File, Workbook, List<TableModelDVO>>() {
@Override
public List<TableModelDVO> apply(File file, Workbook xlsx) {
List<TableModelDVO> llist = new ArrayList<>();
Sheet sheetAt = xlsx.getSheetAt(0);
// 헤더부 처리
Row columnRow = sheetAt.getRow(2);
ArrayList<ExcelColDVO> colList = new ArrayList<>();
Cell _column = columnRow.getCell(0);
Cell _type = columnRow.getCell(1);
Cell _size = columnRow.getCell(2);
Cell _comment = columnRow.getCell(3);
// 데이터부 처리
for (int _row = 3; _row < sheetAt.getLastRowNum(); _row++) {
Row row = sheetAt.getRow(_row);
Cell column = row.getCell(0);
Cell type = row.getCell(1);
Cell size = row.getCell(2);
Cell comment = row.getCell(3);
TableModelDVO modelDVO = new TableModelDVO();
modelDVO.setName(column.getStringCellValue());
modelDVO.setDabaseTypeName(type.getStringCellValue());
modelDVO.setSize(size.getStringCellValue());
modelDVO.setDesc(comment.getStringCellValue());
llist.add(modelDVO);
}
return llist;
}
});
System.out.println(list);
}
use of kyj.Fx.dao.wizard.core.model.vo.TableModelDVO in project Gargoyle by callakrsos.
the class SimpleSQLResultView method createColumns.
private void createColumns(List<TableModelDVO> columns) {
ObservableList<TableColumn<Map<String, Object>, ?>> tableColumns = tbResult.getColumns();
for (TableModelDVO column : columns) {
String databaseColumnName = column.getDatabaseColumnName();
TableColumn e = new TableColumn(databaseColumnName);
e.setCellValueFactory(new MapValueFactory<Object>(databaseColumnName));
tableColumns.add(e);
}
}
use of kyj.Fx.dao.wizard.core.model.vo.TableModelDVO in project Gargoyle by callakrsos.
the class DaoWizardViewController method btnExecOnMouseClick.
/**
* 텍스트에 기술된 SQL문을 실행한다. 기본적으로 ROWNUM 기술문을 100개를 감싸서 SQL을 조회한다.
*
* @작성자 : KYJ
* @작성일 : 2015. 10. 21.
*/
@FXML
public void btnExecOnMouseClick(MouseEvent e) {
LOGGER.debug("event] btnExecOnMouseClick");
String velocitySQL = txtSql.getText().trim();
if (velocitySQL == null || velocitySQL.isEmpty())
return;
LOGGER.debug(String.format("velocitySQL : %s", velocitySQL));
// 파라미터 컬럼값 반환받는다.
ObservableList<TbpSysDaoFieldsDVO> items = tbParams.getItems();
Map<String, TbpSysDaoColumnsDVO> unmapping = this.tbMappings.getItems().stream().filter(v -> {
String lockYn = v.getLockYn();
if ("Y".equals(lockYn))
return true;
return false;
}).collect(Collectors.toMap(TbpSysDaoColumnsDVO::getColumnName, v -> v));
Map<String, Object> paramMap = items.stream().filter(vo -> vo.getTestValue() != null && !vo.getTestValue().isEmpty()).collect(Collectors.toMap(TbpSysDaoFieldsDVO::getFieldName, new Function<TbpSysDaoFieldsDVO, Object>() {
@Override
public Object apply(TbpSysDaoFieldsDVO t) {
if ("Arrays".equals(t.getType())) {
String pattern = "'[^']{0,}'";
List<String> regexMatchs = ValueUtil.regexMatchs(pattern, t.getTestValue(), str -> {
return str.substring(1, str.length() - 1);
});
return regexMatchs;
}
return t.getTestValue();
}
}));
SimpleSQLResultView simpleSQLResultView = new SimpleSQLResultView(velocitySQL, paramMap);
try {
simpleSQLResultView.show();
List<TableModelDVO> columns = simpleSQLResultView.getColumns();
List<TbpSysDaoColumnsDVO> resultList = columns.stream().map(vo -> {
TbpSysDaoColumnsDVO dvo = new TbpSysDaoColumnsDVO();
dvo.setColumnName(vo.getDatabaseColumnName());
String databaseTypeName = vo.getDatabaseTypeName();
dvo.setColumnType(databaseTypeName);
if (unmapping.containsKey(vo.getDatabaseColumnName())) {
TbpSysDaoColumnsDVO tmp = unmapping.get(vo.getDatabaseColumnName());
dvo.setProgramType(tmp.getProgramType());
dvo.setLockYn(tmp.getLockYn());
} else {
String programType = DatabaseTypeMappingResourceLoader.getInstance().get(databaseTypeName);
dvo.setProgramType(programType);
}
return dvo;
}).collect(Collectors.toList());
// if (!this.tbMappings.getItems().isEmpty())
if (!resultList.isEmpty()) {
try {
this.tbMappings.getItems().clear();
getSelectedMethodItem().getTbpSysDaoColumnsDVOList().clear();
this.tbMappings.getItems().addAll(resultList);
getSelectedMethodItem().getTbpSysDaoColumnsDVOList().addAll(resultList);
} catch (NullPointerException n) {
DialogUtil.showMessageDialog("메소드를 선택해주세요.");
}
}
} catch (IOException e1) {
LOGGER.error(ValueUtil.toString(e1));
DialogUtil.showExceptionDailog(e1);
}
}
use of kyj.Fx.dao.wizard.core.model.vo.TableModelDVO in project Gargoyle by callakrsos.
the class VoEditorController method btnGenerateOnMouseClick.
/********************************
* 작성일 : 2016. 6. 6. 작성자 : KYJ
*
* 생성 마우스 클릭
*
* @param me
********************************/
public void btnGenerateOnMouseClick(MouseEvent me) {
try {
checkValidation();
String className = txtClassName.getText();
String location = txtLocation.getText();
String packageName = txtPackageName.getText();
String extendsBaseClass = ConfigResourceLoader.getInstance().get(ConfigResourceLoader.VOEDITOR_DEFAULT_EXTENDS_CLASS);
ObservableList<TableModelDVO> items = tbVoEditor.getItems();
ClassMeta classMeta = EditorUtil.extractedClassMeta(className, packageName, extendsBaseClass);
VoEditorConverter converter = new VoEditorConverter(classMeta, items);
VoEditor voEditor = converter.convert();
if (location != null && !location.isEmpty()) {
Optional<Pair<String, String>> showYesOrNoDialog = DialogUtil.showYesOrNoDialog("파일생성여부", "파일도 만드시겠습니까? ");
showYesOrNoDialog.ifPresent(string -> {
if ("Y".equals(string.getValue())) {
try {
voEditor.toFile(location);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
JavaTextView simpleTextView = new JavaTextView(voEditor.toText());
simpleTextView.show();
} catch (Exception e) {
DialogUtil.showExceptionDailog(e);
return;
}
}
Aggregations