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);
}
}
use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class StructConverter_Test method testConvertNameToMarshallEmpty.
@Test
public void testConvertNameToMarshallEmpty() 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 Struct testStruct = StructConverter.toStruct(ds3Type, ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of());
assertThat(testStruct.getNameToMarshall(), is("Data"));
}
use of com.spectralogic.ds3autogen.api.models.apispec.Ds3Type in project ds3_autogen by SpectraLogic.
the class StructConverter_Test method testConvertNameToMarshallSetValid.
@Test
public void testConvertNameToMarshallSetValid() 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", "testDs3TypeMarshallName", elementsList, ImmutableList.of());
final Struct testStruct = StructConverter.toStruct(ds3Type, ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of(), ImmutableSet.of());
assertThat(testStruct.getNameToMarshall(), is("testDs3TypeMarshallName"));
}
Aggregations