org.stringtemplate.v4.AutoIndentWriter Java Examples
The following examples show how to use
org.stringtemplate.v4.AutoIndentWriter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CodeGenerator.java From codebuff with BSD 2-Clause "Simplified" License | 6 votes |
public void write(ST code, String fileName) { try { // long start = System.currentTimeMillis(); Writer w = tool.getOutputFileWriter(g, fileName); STWriter wr = new AutoIndentWriter(w); wr.setLineWidth(lineWidth); code.write(wr); w.close(); // long stop = System.currentTimeMillis(); } catch (IOException ioe) { tool.errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe, fileName); } }
Example #2
Source File: TestGenerator.java From fix-orchestra with Apache License 2.0 | 6 votes |
private void generateFeature(AutoIndentWriter writer, Repository repository, FlowType flow, ActorType actor) { final STGroupFile stFeatureGroup = new STGroupFile("templates/feature.stg"); ST st = stFeatureGroup.getInstanceOf("feature"); st.add("repository", repository); st.add("flow", flow); st.add("actor", actor); st.write(writer, errorListener); repository.getMessages().getMessage().stream() .filter(m -> flow.getName().equals(m.getFlow())).forEach(message -> { Responses responses = message.getResponses(); if (responses != null) responses.getResponse().forEach(response -> generateFeatureScenario(writer, stFeatureGroup, repository, actor, message, response)); }); }
Example #3
Source File: TestGenerator.java From fix-orchestra with Apache License 2.0 | 6 votes |
private void generateFeatureScenario(AutoIndentWriter writer, STGroupFile stFeatureGroup, Repository repository, ActorType actor, MessageType message, ResponseType response) { ST st = stFeatureGroup.getInstanceOf("scenario"); st.add("actor", actor); st.add("message", message); st.add("response", response); st.write(writer, errorListener); List<Object> messageElements = message.getStructure().getComponentRefOrGroupRefOrFieldRef(); generateFeatureMessageElements(writer, stFeatureGroup, messageElements); List<Object> actions = response.getMessageRefOrAssignOrTrigger(); for (Object action : actions) { if (action instanceof MessageRefType) { MessageRefType messageRef = (MessageRefType) action; ST stMessage = stFeatureGroup.getInstanceOf("messageRef"); stMessage.add("actor", actor); stMessage.add("messageRef", messageRef); stMessage.write(writer, errorListener); MessageType responseMessage = findMessage(messageRef.getName(), messageRef.getScenario()); List<Object> responseMessageElements = responseMessage.getStructure().getComponentRefOrGroupRefOrFieldRef(); generateFeatureMessageElements(writer, stFeatureGroup, responseMessageElements); } } }
Example #4
Source File: BuckPyFunction.java From buck with Apache License 2.0 | 6 votes |
/** * Returns a python string containing all of the default rule parameters that should be made * available to user defined rules in the python build file parser */ public String addDefaultAttributes() { STGroup group = buckPyFunctionTemplate.get(); ST st; // STGroup#getInstanceOf may not be thread safe. // See discussion in: https://github.com/antlr/stringtemplate4/issues/61 synchronized (group) { st = group.getInstanceOf("buck_py_attrs"); } st.add("implicit_required_attrs", UDR_IMPLICIT_REQUIRED_ATTRIBUTES); st.add("implicit_optional_attrs", UDR_IMPLICIT_OPTIONAL_ATTRIBUTES); st.add("implicit_required_test_attrs", UDR_IMPLICIT_REQUIRED_TEST_ATTRIBUTES); st.add("implicit_optional_test_attrs", UDR_IMPLICIT_OPTIONAL_TEST_ATTRIBUTES); try { StringWriter stringWriter = new StringWriter(); st.write(new AutoIndentWriter(stringWriter, "\n")); return stringWriter.toString(); } catch (IOException e) { throw new IllegalStateException("ST writer should not throw with StringWriter", e); } }
Example #5
Source File: BuckModuleAdapterPluginGenerator.java From buck with Apache License 2.0 | 5 votes |
private void writeStringTemplateToWriter(Writer writer, ST stringTemplate) throws IOException { AutoIndentWriter noIndentWriter = new AutoIndentWriter(writer); try { stringTemplate.write(noIndentWriter); } finally { try { writer.close(); } catch (IOException e) { processingEnv .getMessager() .printMessage(Kind.WARNING, "Exception during close: " + ThrowablesUtils.toString(e)); } } }
Example #6
Source File: BuckPyFunction.java From buck with Apache License 2.0 | 4 votes |
/** * Create a Python function definition for given rule type and parameters described by DTO type. */ public String toPythonFunction(RuleType type, Class<? extends DataTransferObject> dtoClass) { ImmutableList.Builder<StParamInfo> mandatory = ImmutableList.builder(); ImmutableList.Builder<StParamInfo> optional = ImmutableList.builder(); for (ParamInfo<?> param : typeCoercerFactory.getConstructorArgDescriptor(dtoClass).getParamInfos().values().stream() .sorted(Comparator.comparing(ParamInfo::getName)) .collect(ImmutableList.toImmutableList())) { if (isSkippable(param)) { continue; } if (param.isOptional()) { optional.add(new StParamInfo(param)); } else { mandatory.add(new StParamInfo(param)); } } optional.add( StParamInfo.ofOptionalValue( VisibilityAttributes.VISIBILITY, VisibilityAttributes.VISIBILITY)); optional.add( StParamInfo.ofOptionalValue( VisibilityAttributes.WITHIN_VIEW, VisibilityAttributes.WITHIN_VIEW)); STGroup group = buckPyFunctionTemplate.get(); ST st; // STGroup#getInstanceOf may not be thread safe. // See discussion in: https://github.com/antlr/stringtemplate4/issues/61 synchronized (group) { st = group.getInstanceOf("buck_py_function"); } st.add("name", type.getName()); // Mandatory params must come before optional ones. st.add( "params", ImmutableList.builder().addAll(mandatory.build()).addAll(optional.build()).build()); st.add("typePropName", TYPE_PROPERTY_NAME); StringWriter stringWriter = new StringWriter(); try { st.write(new AutoIndentWriter(stringWriter, "\n")); } catch (IOException e) { throw new IllegalStateException("ST writer should not throw with StringWriter", e); } return stringWriter.toString(); }