use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class BaseResponseGenerator_Test method testTypeMap.
private static ImmutableMap<String, Ds3Type> testTypeMap() {
final Ds3Type type1 = typeWithNameToMarshal();
final Ds3Type type2 = typeWithoutNameToMarshal();
final Ds3Type type3 = typeEmptyListBucketResult();
final Ds3Type type4 = typeEmptyJobWithChunks();
return ImmutableMap.of(type1.getName(), type1, type2.getName(), type2, type3.getName(), type3, type4.getName(), type4);
}
use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class Ds3TypeClassificationUtil_Test method isCommonPrefixesType_Test.
@Test
public void isCommonPrefixesType_Test() {
final ImmutableList<Ds3Element> elements = ImmutableList.of(new Ds3Element("CommonPrefixes", "array", "java.lang.String", true));
final Ds3Type type = createDs3TypeTestData("TestType", elements);
assertTrue(isCommonPrefixesType(type));
}
use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class StructHelper_Test method testGenerateStructMembers.
@Test
public void testGenerateStructMembers() throws ParseException {
final Ds3Element testElement1 = new Ds3Element("boolElement", "boolean", null, false);
final Ds3Element testElement2 = new Ds3Element("beanElement", "com.spectralogic.s3.server.domain.UserApiBean", null, false);
final ImmutableList<Ds3Element> elementsList = ImmutableList.of(testElement1, testElement2);
final Ds3Type ds3Type = new Ds3Type("testDs3Type", elementsList);
final ImmutableSet.Builder<String> enumNames = ImmutableSet.builder();
final Struct testStruct = StructConverter.toStruct(ds3Type, enumNames.build(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of());
final String output = StructMemberHelper.generateStructMembers(testStruct.getStructMembers());
assertTrue(output.contains("ds3_bool bool_element;"));
assertTrue(output.contains("ds3_user_api_bean_response* bean_element;"));
}
use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class StructHelper_Test method testGenerateResponseParser.
@Test
public void testGenerateResponseParser() throws ParseException {
final Ds3Element testElement1 = new Ds3Element("BoolElement", "boolean", null, false);
final Ds3Element testElement2 = new Ds3Element("BeanElement", "com.spectralogic.s3.server.domain.UserApiBean", null, false);
final ImmutableList<Ds3Element> elementsList = ImmutableList.of(testElement1, testElement2);
final Ds3Type ds3Type = new Ds3Type("testDs3Type", elementsList);
final ImmutableSet.Builder<String> enumNames = ImmutableSet.builder();
final Struct testStruct = StructConverter.toStruct(ds3Type, enumNames.build(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of());
final String output = StructHelper.generateResponseParser(testStruct.getName(), testStruct.getStructMembers());
assertTrue(output.contains(" if (element_equal(child_node, \"BoolElement\")) {"));
assertTrue(output.contains(" response->bool_element = xml_get_bool(client->log, doc, child_node);"));
assertTrue(output.contains(" } else if (element_equal(child_node, \"BeanElement\")) {"));
assertTrue(output.contains(" error = _parse_ds3_user_api_bean_response(client, doc, child_node, &response->bean_element);"));
assertTrue(output.contains(" } else {"));
assertTrue(output.contains(" ds3_log_message(client->log, DS3_ERROR, \"Unknown node[%s] of ds3_test_ds3_type_response [%s]\\n\", child_node->name, root->name);"));
assertTrue(output.contains(" }"));
}
use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class GoCodeGenerator method generateType.
/**
* Generates the response model represented by the specified {@link Ds3Type}
*/
private void generateType(final Ds3Type ds3Type) throws IOException, TemplateException {
final Template tmpl = getTypeTemplate(ds3Type);
final TypeModelGenerator<?> generator = getTypeGenerator(ds3Type);
final Type type = generator.generate(ds3Type);
final Path path = destDir.resolve(BASE_PROJECT_PATH.resolve(Paths.get(COMMANDS_NAMESPACE.replace(".", "/") + "/" + uncapitalize(type.getName()) + ".go")));
LOG.info("Getting OutputStream for file: {}", path.toString());
try (final OutputStream outputStream = fileUtils.getOutputFile(path);
final Writer writer = new OutputStreamWriter(outputStream)) {
tmpl.process(type, writer);
}
}
Aggregations