@Override public void generate( final Ds3ApiSpec spec, final FileUtils fileUtils, final Path destDir, final Ds3DocSpec docSpec) throws IOException { this.fileUtils = fileUtils; try { final ImmutableList<Request> allRequests = getAllRequests(spec, docSpec); final ImmutableList<Enum> allEnums = getAllEnums(spec); final ImmutableSet<String> enumNames = EnumHelper.getEnumNamesSet(allEnums); final ImmutableSet<String> arrayMemberTypes = getArrayMemberTypes(spec, enumNames); final ImmutableSet<String> embeddedTypes = getEmbeddedTypes(spec, enumNames); final ImmutableSet<String> responseTypes = RequestHelper.getResponseTypes(allRequests); final ImmutableSet<String> paginatedTypes = getPaginatedTypes(spec); final ImmutableList<Struct> allStructs = getAllStructs( spec, enumNames, responseTypes, embeddedTypes, arrayMemberTypes, paginatedTypes); generateHeader(allEnums, allStructs, allRequests); generateSource(allEnums, allStructs, allRequests); generateStaticFiles(); } catch (final ParseException e) { LOG.error("Caught exception: ", e); } }
public CCodeGenerator() throws TemplateModelException { config.setDefaultEncoding("UTF-8"); config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); config.setClassForTemplateLoading(CCodeGenerator.class, "/templates"); config.setSharedVariable("cTypeHelper", C_TypeHelper.getInstance()); config.setSharedVariable("enumHelper", EnumHelper.getInstance()); config.setSharedVariable("requestHelper", RequestHelper.getInstance()); config.setSharedVariable("helper", Helper.getInstance()); config.setSharedVariable("structHelper", StructHelper.getInstance()); config.setSharedVariable("structMemberHelper", StructMemberHelper.getInstance()); config.setSharedVariable("parameterHelper", ParameterHelper.getInstance()); }