/** * @param artemisModel * @param generator * @param file * @param log * @throws com.artemis.generator.validator.TypeModelValidatorException */ private void generateFile(ArtemisModel artemisModel, TypeModelGenerator generator, File file, Log log) { try { FileWriter fileWriter = new FileWriter(file); try { TypeModel typeModel = createExampleTypeModel(generator, artemisModel); new TypeModelValidator(log, file.getName()).validate(typeModel); new PoetSourceGenerator().generate(typeModel, fileWriter); } finally { fileWriter.close(); } } catch (TypeModelValidatorException e) { throw new RuntimeException("Fluid API generation aborted, duplicate components, component field or component method names might be to blame.\n", e); } catch (IOException e) { throw new RuntimeException(e); } }
/** * @param artemisModel * @param generator * @param file * @param log * @throws com.artemis.generator.validator.TypeModelValidatorException */ private void generateFile(ArtemisModel artemisModel, TypeModelGenerator generator, File file, Log log) { try { FileWriter fileWriter = new FileWriter(file); try { TypeModel typeModel = createExampleTypeModel(generator, artemisModel); new TypeModelValidator(log, file.getName()).validate(typeModel); new PoetSourceGenerator().generate(typeModel, fileWriter); } finally { fileWriter.close(); } } catch (TypeModelValidatorException e) { throw new RuntimeException("Fluid API generation aborted, duplicate components, component field or component method names might be to blame.\n", e); } catch (IOException e) { throw new RuntimeException(e); } }