Search in sources :

Example 1 with ClassDescr

use of org.kie.workbench.common.services.datamodeller.parser.descr.ClassDescr in project kie-wb-common by kiegroup.

the class JavaFileHandler1Test method testMethodRemoval.

@Test
public void testMethodRemoval() {
    try {
        ClassDescr classDescr = fileHandler.getFileDescr().getClassDescr();
        MethodDescr methodDescr = classDescr.getMethod("getField2");
        assertNotNull(methodDescr);
        classDescr.getElements().remove(methodDescr);
        assertStrings(fileContents[0], fileHandler.buildResult());
        methodDescr = classDescr.getMethod("setField1");
        assertNotNull(methodDescr);
        classDescr.getElements().remove(methodDescr);
        assertStrings(fileContents[1], fileHandler.buildResult());
        methodDescr = classDescr.getMethod("getField1");
        assertNotNull(methodDescr);
        classDescr.getElements().remove(methodDescr);
        assertStrings(fileContents[2], fileHandler.buildResult());
        FieldDescr fieldDescr = classDescr.getField("field12");
        assertNotNull(fieldDescr);
        boolean deleted = classDescr.removeField("field12");
        assertEquals(true, deleted);
        assertEquals(fileContents[3], fileHandler.buildResult());
        fieldDescr = DescriptorFactoryImpl.getInstance().createFieldDescr("public int field100 = 12;");
        StringBuilder indentStr = new StringBuilder(System.lineSeparator() + System.lineSeparator() + "    ");
        TextTokenElementDescr indent = new TextTokenElementDescr("", 0, indentStr.length() - 1, 1, 0);
        indent.setSourceBuffer(indentStr);
        classDescr.addField(fieldDescr);
        classDescr.getElements().addMemberBefore(fieldDescr, indent);
        assertEquals(fileContents[4], fileHandler.buildResult());
        methodDescr = DescriptorFactoryImpl.getInstance().createMethodDescr("public java.lang.String getAddress() { return null; }");
        indentStr = new StringBuilder(System.lineSeparator() + System.lineSeparator() + "    ");
        indent = new TextTokenElementDescr("", 0, indentStr.length() - 1, 1, 0);
        indent.setSourceBuffer(indentStr);
        classDescr.addMethod(methodDescr);
        classDescr.getElements().addMemberBefore(methodDescr, indent);
        assertEquals(fileContents[5], fileHandler.buildResult());
        /*

            TODO add more cases

            assertEquals(fileContents[0], fileHandler.build());


            fileHandler.deleteMethod("getField1");
            logger.debug(fileHandler.build());

            fileHandler.deleteField("setField2");
            logger.debug(fileHandler.build());

            fileHandler.deleteMethod("setField2");
            fileHandler.addField("\n\tprotected String surname = null;\n");
            fileHandler.deleteMethod("setField1");
            fileHandler.deleteField("field7");
            fileHandler.addMethod("\n\tpublic static final java.lang.String echo(String msg) {\n\t\treturn msg;\n\t}\n");
            fileHandler.deleteField("field8");
            fileHandler.addField("\n\tprotected int i = 0;\n");
            fileHandler.deleteField("field6");
            fileHandler.deleteField("field9");
            fileHandler.deleteField("field11");
            fileHandler.deleteField("field14");

            fileHandler.addValuePair("\n\tpublic String getUserName() {\n\t\treturn surname;\n\t}\n");
            */
        String result = fileHandler.buildResult();
    // logger.debug(result);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : MethodDescr(org.kie.workbench.common.services.datamodeller.parser.descr.MethodDescr) FieldDescr(org.kie.workbench.common.services.datamodeller.parser.descr.FieldDescr) ClassDescr(org.kie.workbench.common.services.datamodeller.parser.descr.ClassDescr) TextTokenElementDescr(org.kie.workbench.common.services.datamodeller.parser.descr.TextTokenElementDescr) Test(org.junit.Test)

Example 2 with ClassDescr

use of org.kie.workbench.common.services.datamodeller.parser.descr.ClassDescr in project kie-wb-common by kiegroup.

the class JavaFileHandler2Test method test.

@Test
public void test() {
    try {
        String result = fileHandler.buildResult();
        logger.debug(result);
        ClassDescr classDescr = fileHandler.getFileDescr().getClassDescr();
        FieldDescr field = DescriptorFactoryImpl.getInstance().createFieldDescr("\n\n\tpublic /*eso*/static   int value  = (2+4), otro=1  /**/ ; /**/");
        ParserUtil.setSourceBufferTMP(field, field.getSourceBuffer());
        ParserUtil.populateUnManagedElements(0, field.getSourceBuffer().length() - 1, field);
        ParserUtil.setSourceBufferTMP(field, field.getSourceBuffer());
        classDescr.addField(field);
        classDescr.addField(field);
        result = fileHandler.buildResult();
        logger.debug(result);
        classDescr.getElements().remove(field);
        classDescr.getElements().remove(field);
        result = fileHandler.buildResult();
        logger.debug(result);
        assertEquals(originalFileContent, result);
        int i = 0;
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : FieldDescr(org.kie.workbench.common.services.datamodeller.parser.descr.FieldDescr) ClassDescr(org.kie.workbench.common.services.datamodeller.parser.descr.ClassDescr) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)2 ClassDescr (org.kie.workbench.common.services.datamodeller.parser.descr.ClassDescr)2 FieldDescr (org.kie.workbench.common.services.datamodeller.parser.descr.FieldDescr)2 MethodDescr (org.kie.workbench.common.services.datamodeller.parser.descr.MethodDescr)1 TextTokenElementDescr (org.kie.workbench.common.services.datamodeller.parser.descr.TextTokenElementDescr)1