Search in sources :

Example 1 with ClassMeta

use of com.kyj.fx.voeditor.core.model.meta.ClassMeta in project Gargoyle by callakrsos.

the class FxDaoCommons method isDuplicated.

/**
	 * 파라미터 클래스정보에 동일한 클래스타입이 존재하는지 확인한다.
	 *
	 * @작성자 : KYJ
	 * @작성일 : 2015. 10. 28.
	 * @param params
	 * @return
	 */
public boolean isDuplicated(List<ClassMeta> params) {
    if (params != null) {
        Set<String> set = new HashSet<>();
        for (ClassMeta meta : params) {
            String key = meta.getPackageName() + meta.getName();
            if (set.contains(key))
                return true;
            set.add(key);
        }
    }
    return false;
}
Also used : ClassMeta(com.kyj.fx.voeditor.core.model.meta.ClassMeta) HashSet(java.util.HashSet)

Example 2 with ClassMeta

use of com.kyj.fx.voeditor.core.model.meta.ClassMeta in project Gargoyle by callakrsos.

the class DaoWizardTest method test.

/********************************
	 * 작성일 : 2016. 4. 16. 작성자 : KYJ
	 *
	 *
	 * DAO Wizard Test Case
	 *
	 * @throws Exception
	 ********************************/
@Test
public void test() throws Exception {
    // *******클래스 정보
    ClassMeta classMeta = new ClassMeta("Hello");
    // ******메소드 정보
    TbpSysDaoMethodsDVO methodMeta = new TbpSysDaoMethodsDVO(classMeta);
    // 메소드명
    methodMeta.setMethodName("simple");
    // SQL문
    methodMeta.setSqlBody("select 1 as ss from dual where name = :name");
    // 데이터베이스 타입에 대한정보
    TbpSysDaoColumnsDVO tbpSysDaoColumnsDVO = new TbpSysDaoColumnsDVO();
    tbpSysDaoColumnsDVO.setColumnName("name");
    tbpSysDaoColumnsDVO.setColumnType("VARCHAR");
    methodMeta.setTbpSysDaoColumnsDVOList(Arrays.asList(tbpSysDaoColumnsDVO));
    // 테스트 필드에 대한정보.. (이부분은 크게 중요치는않음.)
    TbpSysDaoFieldsDVO tbpSysDaoFieldsDVO = new TbpSysDaoFieldsDVO();
    tbpSysDaoFieldsDVO.setFieldName("name");
    tbpSysDaoFieldsDVO.setTestValue("kyj");
    tbpSysDaoFieldsDVO.setType("java.lang.String");
    methodMeta.setTbpSysDaoFieldsDVOList(Arrays.asList(tbpSysDaoFieldsDVO));
    // 리턴타입에 대한정보
    methodMeta.setResultVoClass("com.sample.Hello");
    // DAO생성을 위한준비
    DaoWizard<ClassMeta, TbpSysDaoMethodsDVO, FieldMeta> wizard = new DaoWizard(classMeta, Arrays.asList(methodMeta));
    // 반드시호출.
    wizard.build();
    // 확인
    System.out.println(wizard.toText());
    Assert.assertNotNull(wizard.toText());
}
Also used : TbpSysDaoMethodsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoMethodsDVO) DaoWizard(kyj.Fx.dao.wizard.DaoWizard) ClassMeta(com.kyj.fx.voeditor.core.model.meta.ClassMeta) FieldMeta(com.kyj.fx.voeditor.core.model.meta.FieldMeta) TbpSysDaoColumnsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoColumnsDVO) TbpSysDaoFieldsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoFieldsDVO) Test(org.junit.Test)

Example 3 with ClassMeta

use of com.kyj.fx.voeditor.core.model.meta.ClassMeta 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;
    }
}
Also used : VoEditorConverter(com.kyj.fx.voeditor.visual.util.VoEditorConverter) JavaTextView(com.kyj.fx.voeditor.visual.component.popup.JavaTextView) ClassMeta(com.kyj.fx.voeditor.core.model.meta.ClassMeta) TableModelDVO(kyj.Fx.dao.wizard.core.model.vo.TableModelDVO) FileNotFoundException(java.io.FileNotFoundException) GargoyleFileAlreadyExistException(com.kyj.fx.voeditor.visual.exceptions.GargoyleFileAlreadyExistException) ParseException(com.github.javaparser.ParseException) IOException(java.io.IOException) VoEditor(com.kyj.fx.voeditor.core.VoEditor) Pair(javafx.util.Pair)

Example 4 with ClassMeta

use of com.kyj.fx.voeditor.core.model.meta.ClassMeta in project Gargoyle by callakrsos.

the class DaoWizardViewController method btnGenerateOnMouseClick.

/**
	 * DAO Wizard 생성 버튼 이벤트
	 *
	 * @작성자 : KYJ
	 * @작성일 : 2015. 10. 28.
	 */
@FXML
public void btnGenerateOnMouseClick(MouseEvent event) {
    try {
        int checkValidation = checkValidation();
        String className = txtClassName.getText();
        String location = txtDaoLocation.getText();
        String packageName = txtPackageName.getText();
        String desc = txtAreaDaoDesc.getText();
        // 저장처리전 검증 및 위자드로 한번 확인
        String extendsBaseClass = ConfigResourceLoader.getInstance().get(ConfigResourceLoader.DAO_WIZARD_DEFAULT_EXTENDS_CLASS);
        ClassMeta classMeta = EditorUtil.extractedClassMeta(className, packageName, extendsBaseClass);
        classMeta.setDesc(desc);
        // TbmSysDaoDVO tbmSysDaoDVO = tbmSysDaoDVOProperty.get();
        // tbmSysDaoDVO.setClassName(className);
        // tbmSysDaoDVO.setLocation(location);
        // tbmSysDaoDVO.setPackageName(packageName);
        // tbmSysDaoDVO.setDesc(desc);
        // tbmSysDaoDVO.setExtendClassNameStr(extendsBaseClass);
        DaoWizardConverter converter = new DaoWizardConverter(classMeta, tbmSysDaoDVOProperty.get());
        converter.createWizard(Wizardtype.meerkatbase);
        DaoWizard<ClassMeta, TbpSysDaoMethodsDVO, FieldMeta> daowizard = converter.convert();
        if (location != null && !location.isEmpty()) {
            Optional<Pair<String, String>> showYesOrNoDialog = DialogUtil.showYesOrNoDialog("파일생성여부", "파일도 만드시겠습니까? ");
            showYesOrNoDialog.ifPresent(string -> {
                if ("Y".equals(string.getValue())) {
                    try {
                        daowizard.toFile(ValueUtil.appendBaseDir(location));
                    } catch (Exception e) {
                        DialogUtil.showExceptionDailog(e);
                    }
                }
            });
        }
        // 위의 검증작업에서 이상없을시 데이터베이스 저장작업
        if (checkValidation == MESSAGE_CODES.indexOf(MSG_NOMAL)) {
            JavaTextView simpleTextView = new JavaTextView(daowizard.toText());
            simpleTextView.show();
            Optional<Pair<String, String>> showYesOrNoDialog = DialogUtil.showYesOrNoDialog(MESSAGE_CODES.get(checkValidation), "Code : [" + checkValidation + "]\n" + MESSAGE_CODES.get(checkValidation) + "\nDo you want save. ?");
            showYesOrNoDialog.ifPresent(option -> {
                if ("Y".equals(option.getValue())) {
                    TbmSysDaoDVO saveTbmSysDaoDVO = this.tbmSysDaoDVOProperty.get();
                    saveTbmSysDaoDVO.setClassName(className);
                    saveTbmSysDaoDVO.setLocation(location);
                    saveTbmSysDaoDVO.setPackageName(packageName);
                    saveTbmSysDaoDVO.setClassDesc(desc);
                    saveTbmSysDaoDVO.setExtendsClassName(extendsBaseClass);
                    save(saveTbmSysDaoDVO);
                }
            });
        } else {
            DialogUtil.showMessageDialog("Error Code[" + checkValidation + "]\n" + MESSAGE_CODES.get(checkValidation));
        }
    // if (checkValidation == MESSAGE_CODES.indexOf(MSG_NOMAL)) {
    //
    // } else {
    // DialogUtil.showMessageDialog(MESSAGE_CODES.get(checkValidation));
    // }
    } catch (Exception e) {
        DialogUtil.showExceptionDailog(e, e.getMessage());
    }
}
Also used : TbpSysDaoMethodsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoMethodsDVO) TbmSysDaoDVO(kyj.Fx.dao.wizard.core.model.vo.TbmSysDaoDVO) DaoWizardConverter(com.kyj.fx.voeditor.visual.util.DaoWizardConverter) JavaTextView(com.kyj.fx.voeditor.visual.component.popup.JavaTextView) ClassMeta(com.kyj.fx.voeditor.core.model.meta.ClassMeta) FieldMeta(com.kyj.fx.voeditor.core.model.meta.FieldMeta) IOException(java.io.IOException) Pair(javafx.util.Pair) FXML(javafx.fxml.FXML)

Example 5 with ClassMeta

use of com.kyj.fx.voeditor.core.model.meta.ClassMeta in project Gargoyle by callakrsos.

the class EditorUtil method extractedClassMeta.

/**
	 * @작성자 : KYJ
	 * @작성일 : 2015. 10. 16.
	 * @param className
	 * @param packageName
	 * @param extendsBaseClass
	 * @return
	 * @throws ClassNotFoundException
	 */
public static ClassMeta extractedClassMeta(String className, String packageName, String extendsBaseClass) throws ClassNotFoundException {
    ClassMeta classMeta = null;
    if (extendsBaseClass != null && !extendsBaseClass.isEmpty()) {
        try {
            Class<?> extendsBaseClazz = Class.forName(extendsBaseClass);
            classMeta = new ClassMeta(packageName, className, extendsBaseClazz);
        } catch (Exception e) {
            classMeta = new ClassMeta(packageName, className);
            classMeta.setExtendClassNameStr(extendsBaseClass);
        }
    } else {
        classMeta = new ClassMeta(packageName, className);
    }
    return classMeta;
}
Also used : ClassMeta(com.kyj.fx.voeditor.core.model.meta.ClassMeta)

Aggregations

ClassMeta (com.kyj.fx.voeditor.core.model.meta.ClassMeta)7 FieldMeta (com.kyj.fx.voeditor.core.model.meta.FieldMeta)4 VoEditor (com.kyj.fx.voeditor.core.VoEditor)3 JavaTextView (com.kyj.fx.voeditor.visual.component.popup.JavaTextView)2 IOException (java.io.IOException)2 Pair (javafx.util.Pair)2 TbpSysDaoMethodsDVO (kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoMethodsDVO)2 Test (org.junit.Test)2 ParseException (com.github.javaparser.ParseException)1 CompilationUnit (com.github.javaparser.ast.CompilationUnit)1 Node (com.github.javaparser.ast.Node)1 PackageDeclaration (com.github.javaparser.ast.PackageDeclaration)1 GargoyleFileAlreadyExistException (com.kyj.fx.voeditor.visual.exceptions.GargoyleFileAlreadyExistException)1 DaoWizardConverter (com.kyj.fx.voeditor.visual.util.DaoWizardConverter)1 VoEditorConverter (com.kyj.fx.voeditor.visual.util.VoEditorConverter)1 FileInputStream (java.io.FileInputStream)1 FileNotFoundException (java.io.FileNotFoundException)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 FXML (javafx.fxml.FXML)1