private GeneratorTask createTask(String javaShapeName, ShapeModel shapeModel) throws Exception { final Template template = freemarker.getModelUnmarshallerTemplate(); final ShapeType shapeType = shapeModel.getShapeType(); Map<String, Object> dataModel = ImmutableMapParameter.<String, Object>builder() .put("fileHeader", model.getFileHeader()) .put("shape", shapeModel) .put("metadata", metadata) .put("transformPackage", model.getTransformPackage()) .put("exceptionUnmarshallerImpl", model.getExceptionUnmarshallerImpl()) .build(); switch (shapeType) { case Response: case Model: { String unmarshallerNameSuffix = metadata.isJsonProtocol() ? "JsonUnmarshaller" : "StaxUnmarshaller"; return new FreemarkerGeneratorTask(transformClassDir, javaShapeName + unmarshallerNameSuffix, template, dataModel); } case Exception: { return new FreemarkerGeneratorTask(transformClassDir, javaShapeName + "Unmarshaller", freemarker.getExceptionUnmarshallerTemplate(), dataModel); } } // If shape doesn't need an umarshaller generated it should have been filtered out already throw new IllegalStateException(shapeModel.getC2jName() + " is not supported for unmarshaller generation"); }
private GeneratorTask createMarshallerTask(String javaShapeName, Template template, String marshallerClassName) throws IOException { Map<String, Object> marshallerDataModel = ImmutableMapParameter.<String, Object>builder() .put("fileHeader", model.getFileHeader()) .put("shapeName", javaShapeName) .put("shapes", shapes) .put("metadata", metadata) .put("transformPackage", model.getTransformPackage()) .put("customConfig", model.getCustomizationConfig()) .put("className", marshallerClassName) .put("protocolEnum", getProtocolEnumName()) .build(); return new FreemarkerGeneratorTask(transformClassDir, marshallerClassName, template, marshallerDataModel); }
private GeneratorTask createTask(String javaShapeName, ShapeModel shapeModel) throws IOException { Metadata metadata = model.getMetadata(); Map<String, Object> dataModel = ImmutableMapParameter.<String, Object>builder() .put("fileHeader", model.getFileHeader()) .put("shape", shapeModel) .put("metadata", metadata) .put("baseClassFqcn", getModelBaseClassFqcn(shapeModel.getShapeType())) .put("customConfig", model.getCustomizationConfig()) .put("shouldGenerateSdkRequestConfigSetter", shouldGenerateSdkRequestConfigSetter(shapeModel)) .put("awsDocsUrl", createLinkToServiceDocumentation(metadata, shapeModel)) .put("shouldEmitStructuredPojoInterface", model.getMetadata().isJsonProtocol() && shapeModel.getShapeType() == ShapeType.Model) .put("transformPackage", model.getTransformPackage()) .build(); // Submit task for generating the // model/request/response/enum/exception class. return new FreemarkerGeneratorTask(modelClassDir, javaShapeName, freemarker.getShapeTemplate(shapeModel), dataModel); }
final Map<String, T> tiny() { return ImmutableMapParameter.<String, T>builder() .put("stringAttr", av(randomS())) .build(); }
final Map<String, T> small() { return ImmutableMapParameter.<String, T>builder() .put("stringAttr", av(randomS())) .put("binaryAttr", av(randomB())) .put("listAttr", av(Arrays.asList( av(randomS()), av(randomB()), av(randomS()) ))) .build(); }
private GeneratorTask createTask(String javaShapeName, ShapeModel shapeModel) throws Exception { final Template template = freemarker.getModelUnmarshallerTemplate(); final ShapeType shapeType = shapeModel.getShapeType(); Map<String, Object> dataModel = ImmutableMapParameter.<String, Object>builder() .put("fileHeader", model.getFileHeader()) .put("shape", shapeModel) .put("metadata", metadata) .put("transformPackage", model.getTransformPackage()) .put("exceptionUnmarshallerImpl", model.getExceptionUnmarshallerImpl()) .build(); switch (shapeType) { case Response: case Model: { String unmarshallerNameSuffix = metadata.isJsonProtocol() ? "JsonUnmarshaller" : "StaxUnmarshaller"; return new FreemarkerGeneratorTask(transformClassDir, javaShapeName + unmarshallerNameSuffix, template, dataModel); } case Exception: { return new FreemarkerGeneratorTask(transformClassDir, javaShapeName + "Unmarshaller", freemarker.getExceptionUnmarshallerTemplate(), dataModel); } } // If shape doesn't need an umarshaller generated it should have been filtered out already throw new IllegalStateException(shapeModel.getC2jName() + " is not supported for unmarshaller generation"); }
private GeneratorTask createMarshallerTask(String javaShapeName, Template template, String marshallerClassName) throws IOException { Map<String, Object> marshallerDataModel = ImmutableMapParameter.<String, Object>builder() .put("fileHeader", model.getFileHeader()) .put("shapeName", javaShapeName) .put("shapes", shapes) .put("metadata", metadata) .put("transformPackage", model.getTransformPackage()) .put("customConfig", model.getCustomizationConfig()) .put("className", marshallerClassName) .put("protocolEnum", getProtocolEnumName()) .build(); return new FreemarkerGeneratorTask(transformClassDir, marshallerClassName, template, marshallerDataModel); }
private GeneratorTask createTask(String javaShapeName, ShapeModel shapeModel) throws IOException { Metadata metadata = model.getMetadata(); Map<String, Object> dataModel = ImmutableMapParameter.<String, Object>builder() .put("fileHeader", model.getFileHeader()) .put("shape", shapeModel) .put("metadata", metadata) .put("baseClassFqcn", getModelBaseClassFqcn(shapeModel.getShapeType())) .put("customConfig", model.getCustomizationConfig()) .put("shouldGenerateSdkRequestConfigSetter", shouldGenerateSdkRequestConfigSetter(shapeModel)) .put("awsDocsUrl", createLinkToServiceDocumentation(metadata, shapeModel)) .put("shouldEmitStructuredPojoInterface", model.getMetadata().isJsonProtocol() && shapeModel.getShapeType() == ShapeType.Model) .put("transformPackage", model.getTransformPackage()) .build(); // Submit task for generating the // model/request/response/enum/exception class. return new FreemarkerGeneratorTask(modelClassDir, javaShapeName, freemarker.getShapeTemplate(shapeModel), dataModel); }
final Map<String, T> huge() { return ImmutableMapParameter.<String, T>builder() .put("hashKey", av(randomS())) .put("stringAttr", av(randomS())) ImmutableMapParameter.<String, T>builder() .put("attrOne", av(randomS())) .put("attrTwo", av(randomB())) av(randomS()), av(randomS()), av(ImmutableMapParameter.<String, T>builder() .put("attrOne", av(randomS())) .put("attrTwo", av(randomB()))