How to use marshal method of com.consol.citrus.jdbc.model.JdbcMarshaller class

Best Citrus code snippet using com.consol.citrus.jdbc.model.JdbcMarshaller.marshal

Source:JdbcMarshaller.java Github

copy

Full Screen

...35/**36 * @author Christoph Deppisch37 * @since 2.7.338 */39public class JdbcMarshaller extends ObjectMapper implements Marshaller, Unmarshaller {40 /** Logger */41 private static Logger log = LoggerFactory.getLogger(JdbcMarshaller.class);42 /** System property defining message format to marshal to */43 private static final String JDBC_MARSHALLER_TYPE_PROPERTY = "citrus.jdbc.marshaller.type";44 /** XML marshalling delegate */45 private Jaxb2Marshaller jaxbDelegate = new Jaxb2Marshaller();46 /** Message type format: XML or JSON */47 private String type;48 /**49 * Default constructor50 */51 public JdbcMarshaller() {52 jaxbDelegate.setClassesToBeBound(Operation.class,53 OperationResult.class);54 jaxbDelegate.setSchema(new ClassPathResource("com/consol/citrus/schema/citrus-jdbc-message.xsd"));55 type = System.getProperty(JDBC_MARSHALLER_TYPE_PROPERTY, MessageType.JSON.name());56 try {57 jaxbDelegate.afterPropertiesSet();58 } catch (Exception e) {59 log.warn("Failed to setup jdbc message marshaller: " + e.getMessage());60 }61 setSerializationInclusion(JsonInclude.Include.NON_NULL);62 }63 @Override64 public boolean supports(Class<?> clazz) {65 return jaxbDelegate.supports(clazz);66 }67 @Override68 public Object unmarshal(Source source) {69 if (type.equalsIgnoreCase(MessageType.XML.name())) {70 try {71 return jaxbDelegate.unmarshal(source);72 } catch (XmlMappingException e) {73 if (source instanceof StreamSource) {74 for (Class<?> type : Arrays.asList(Operation.class, OperationResult.class)) {75 try {76 return readValue(((StreamSource) source).getReader(), type);77 } catch (JsonParseException | JsonMappingException e2) {78 continue;79 } catch (IOException io) {80 log.warn("Failed to read jdbc JSON object from source: " + io.getMessage());81 break;82 }83 }84 }85 throw new CitrusRuntimeException("Failed to read jdbc XML object from source", e);86 }87 } else if (type.equalsIgnoreCase(MessageType.JSON.name())) {88 for (Class<?> type : Arrays.asList(Operation.class, OperationResult.class)) {89 try {90 return readValue(((StreamSource) source).getReader(), type);91 } catch (JsonParseException | JsonMappingException e2) {92 continue;93 } catch (IOException io) {94 throw new CitrusRuntimeException("Failed to read jdbc JSON object from source", io);95 }96 }97 try {98 return jaxbDelegate.unmarshal(source);99 } catch (XmlMappingException me) {100 log.warn("Failed to read jdbc XML object from source: " + me.getMessage());101 }102 throw new CitrusRuntimeException("Failed to read jdbc JSON object from source" + source);103 } else {104 throw new CitrusRuntimeException("Unsupported jdbc marshaller type: " + type);105 }106 }107 @Override108 public void marshal(Object graph, Result result) {109 if (type.equalsIgnoreCase(MessageType.JSON.name())) {110 if (result instanceof StringResult) {111 StringWriter writer = new StringWriter();112 ((StringResult) result).setWriter(writer);113 try {114 writer().writeValue(writer, graph);115 } catch (IOException e) {116 throw new CitrusRuntimeException("Failed to write jdbc JSON object graph to result", e);117 }118 }119 } else if (type.equalsIgnoreCase(MessageType.XML.name())) {120 try {121 jaxbDelegate.marshal(graph, result);122 } catch (XmlMappingException e) {123 throw new CitrusRuntimeException("Failed to write jdbc XML object to result", e);124 }125 } else {126 throw new CitrusRuntimeException("Unsupported jdbc marshaller type: " + type);127 }128 }129 /**130 * Gets the type.131 *132 * @return133 */134 public String getType() {135 return type;136 }137 /**138 * Sets the type.139 *140 * @param type...

Full Screen

Full Screen

Source:DataSetCreator.java Github

copy

Full Screen

...38 try {39 if (response.getPayload() instanceof DataSet) {40 return response.getPayload(DataSet.class);41 } else if (isReadyToMarshal(response, messageType)) {42 return marshalResponse(response, messageType);43 } else {44 return new DataSet();45 }46 } catch (final SQLException e) {47 throw new CitrusRuntimeException("Failed to read dataSet from response message", e);48 }49 }50 /**51 * Marshals the given message to the requested MessageType52 * @param response The response to marshal53 * @param messageType The requested MessageType54 * @return A DataSet representing the message55 * @throws SQLException In case the marshalling failed56 */57 private DataSet marshalResponse(final Message response, final MessageType messageType) throws SQLException {58 String dataSet = null;59 if (response instanceof JdbcMessage || response.getPayload() instanceof OperationResult) {60 dataSet = response.getPayload(OperationResult.class).getDataSet();61 } else {62 try {63 JdbcMarshaller jdbcMarshaller = new JdbcMarshaller();64 jdbcMarshaller.setType(messageType.name());65 Object object = jdbcMarshaller.unmarshal(new StringSource(response.getPayload(String.class)));66 if (object instanceof OperationResult && StringUtils.hasText(((OperationResult) object).getDataSet())) {67 dataSet = ((OperationResult) object).getDataSet();68 }69 } catch (CitrusRuntimeException e) {70 dataSet = response.getPayload(String.class);71 }72 }73 74 if (isJsonResponse(messageType)) {75 return new JsonDataSetProducer(Optional.ofNullable(dataSet).orElse("[]")).produce();76 } else if (isXmlResponse(messageType)) {77 return new XmlDataSetProducer(Optional.ofNullable(dataSet).orElse("<dataset></dataset>")).produce();78 } else {79 throw new CitrusRuntimeException("Unable to create dataSet from data type " + messageType.name());...

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1import com.consol.citrus.jdbc.model.JdbcMarshaller;2import com.consol.citrus.jdbc.model.JdbcMessage;3import com.consol.citrus.jdbc.model.JdbcMessageHeader;4import com.consol.citrus.jdbc.model.JdbcMessagePayload;5import com.consol.citrus.message.MessageType;6import java.util.ArrayList;7import java.util.List;8public class 3 {9 public static void main(String[] args) throws Exception {10 JdbcMarshaller marshaller = new JdbcMarshaller();11 marshaller.setMessageType(MessageType.XML);12 JdbcMessage message = new JdbcMessage();13 message.setHeaders(getHeaders());14 message.setPayload(getPayload());15 System.out.println(marshaller.marshal(message));16 }17 private static JdbcMessageHeader getHeaders() {18 JdbcMessageHeader messageHeader = new JdbcMessageHeader();19 messageHeader.setTableName("TEST");20 return messageHeader;21 }22 private static JdbcMessagePayload getPayload() {23 JdbcMessagePayload messagePayload = new JdbcMessagePayload();24 messagePayload.setTableName("TEST");25 List<String> columnNames = new ArrayList<>();26 columnNames.add("ID");27 columnNames.add("NAME");28 messagePayload.setColumnNames(columnNames);29 List<List<Object>> rows = new ArrayList<>();30 List<Object> row1 = new ArrayList<>();31 row1.add(1);32 row1.add("John");33 rows.add(row1);34 messagePayload.setRows(rows);35 return messagePayload;36 }37}38import com.consol.citrus.jdbc.model.JdbcMarshaller;39import com.consol.citrus.jdbc.model.JdbcMessage;

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1import com.consol.citrus.jdbc.model.JdbcMarshaller;2import com.consol.citrus.jdbc.model.ResultSet;3import com.consol.citrus.xml.XsdSchemaRepository;4import com.consol.citrus.xml.schema.XsdSchema;5import com.consol.citrus.xml.schema.XsdSchemaValidationContext;6import org.springframework.core.io.ClassPathResource;7import org.springframework.xml.transform.StringSource;8import java.io.IOException;9import java.util.HashMap;10import java.util.Map;11public class 3 {12public static void main(String[] args) {13JdbcMarshaller marshaller = new JdbcMarshaller();14marshaller.setSchemaRepository(new XsdSchemaRepository(new ClassPathResource("com/consol/citrus/jdbc/model/ResultSet.xsd", 3.class)));15ResultSet resultSet = new ResultSet();16resultSet.setColumnNames(new String[]{"column1", "column2"});17resultSet.setRows(new String[][]{{"value1", "value2"}});18XsdSchema schema = new XsdSchema(new ClassPathResource("com/consol/citrus/jdbc/model/ResultSet.xsd", 3.class));19XsdSchemaValidationContext validationContext = new XsdSchemaValidationContext(schema);20Map<String, Object> map = new HashMap<>();21map.put("schema", schema);22map.put("validationContext", validationContext);23String result = marshaller.marshal(resultSet, map);24System.out.println(result);25}26}27com.consol.citrus.jdbc.model.JdbcMarshaller.marshal(Object, Map<String, Object>)

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.jdbc.model;2import java.io.File;3import java.io.IOException;4import java.util.ArrayList;5import java.util.List;6import org.springframework.context.support.ClassPathXmlApplicationContext;7import org.springframework.core.io.ClassPathResource;8import org.springframework.core.io.Resource;9import org.springframework.core.io.support.PathMatchingResourcePatternResolver;10import org.springframework.core.io.support.ResourcePatternResolver;11import org.springframework.util.Assert;12import org.springframework.util.StringUtils;13import org.testng.annotations.Test;14import com.consol.citrus.exceptions.CitrusRuntimeException;15import com.consol.citrus.util.FileUtils;16import com.consol.citrus.util.XMLUtils;17import com.consol.citrus.xml.XsdSchemaRepository;18public class JdbcMarshallerTest {19public void testMarshal() throws IOException {20ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();21Resource[] resources = resolver.getResources("classpath*:com/consol/citrus/jdbc/model/*.xsd");22List<Resource> xsdResources = new ArrayList<Resource>();23for (Resource resource : resources) {24xsdResources.add(resource);25}26XsdSchemaRepository schemaRepository = new XsdSchemaRepository();27schemaRepository.setSchemas(xsdResources.toArray(new Resource[xsdResources.size()]));28schemaRepository.afterPropertiesSet();29ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("com/consol/citrus/jdbc/model/3.xml");30JdbcMarshaller marshaller = new JdbcMarshaller();31marshaller.setSchemaRepository(schemaRepository);32marshaller.afterPropertiesSet();33JdbcRequest request = context.getBean("request", JdbcRequest.class);34String result = marshaller.marshal(request);35FileUtils.writeToFile(new File("target/3.xml"), result);36Assert.isTrue(XMLUtils.validateXMLSchema(new ClassPathResource("com/consol/citrus/jdbc/model/3.xsd"), result));37}38}

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1public class 3 {2 public static void main(String[] args) throws Exception {3 JdbcMarshaller marshaller = new JdbcMarshaller();4 JdbcResultSet resultSet = new JdbcResultSet();5 JdbcRow row = new JdbcRow();6 JdbcColumn column = new JdbcColumn();7 column.setName("name");8 column.setValue("john");9 row.getColumn().add(column);10 column = new JdbcColumn();11 column.setName("age");12 column.setValue("25");13 row.getColumn().add(column);14 resultSet.getRow().add(row);15 row = new JdbcRow();16 column = new JdbcColumn();17 column.setName("name");18 column.setValue("jane");19 row.getColumn().add(column);20 column = new JdbcColumn();21 column.setName("age");22 column.setValue("26");23 row.getColumn().add(column);24 resultSet.getRow().add(row);25 String xml = marshaller.marshal(resultSet);26 System.out.println(xml);27 }28}

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1JdbcMarshaller marshaller = new JdbcMarshaller();2marshaller.setDataSource(dataSource);3marshaller.setSqlQuery("select * from customer");4marshaller.setRowName("customer");5marshaller.setMarshalingStrategy(new Jaxb2MarshallingStrategy());6marshaller.afterPropertiesSet();7marshaller.marshal(null, new StreamResult(System.out));8JdbcMarshaller marshaller = new JdbcMarshaller();9marshaller.setDataSource(dataSource);10marshaller.setSqlQuery("select * from customer");11marshaller.setRowName("customer");12marshaller.setMarshalingStrategy(new Jaxb2MarshallingStrategy());13marshaller.afterPropertiesSet();14marshaller.unmarshal(new StreamSource(new FileInputStream(new File("3.xml"))));15JdbcMarshaller marshaller = new JdbcMarshaller();16marshaller.setDataSource(dataSource);17marshaller.setSqlQuery("select * from customer");18marshaller.setRowName("customer");19marshaller.setMarshalingStrategy(new Jaxb2MarshallingStrategy());20marshaller.afterPropertiesSet();21marshaller.unmarshal(new StreamSource(new FileInputStream(new File("3.xml"))), new DefaultValidationContext());22JdbcMarshaller marshaller = new JdbcMarshaller();23marshaller.setDataSource(dataSource);24marshaller.setSqlQuery("select * from customer");25marshaller.setRowName("customer");26marshaller.setMarshalingStrategy(new Jaxb2MarshallingStrategy());27marshaller.afterPropertiesSet();28marshaller.unmarshal(new StreamSource(new FileInputStream(new File("3.xml"))), new DefaultValidationContext(), new JdbcMarshallerResult());29JdbcMarshaller marshaller = new JdbcMarshaller();30marshaller.setDataSource(dataSource);31marshaller.setSqlQuery("select * from customer");32marshaller.setRowName("customer");33marshaller.setMarshalingStrategy(new Jaxb2MarshallingStrategy());34marshaller.afterPropertiesSet();35marshaller.unmarshal(new StreamSource(new FileInputStream(new File("3.xml"))), new DefaultValidationContext(), new JdbcMarshallerResult(), new JdbcMarshallerResult());36JdbcMarshaller marshaller = new JdbcMarshaller();37marshaller.setDataSource(dataSource

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.jdbc;2import com.consol.citrus.jdbc.model.JdbcMarshaller;3import com.consol.citrus.jdbc.model.JdbcRequest;4import com.consol.citrus.jdbc.model.JdbcStatement;5import com.consol.citrus.jdbc.model.JdbcStatementType;6import com.consol.citrus.jdbc.model.JdbcStatementType;7import com

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.jdbc.model;2import com.consol.citrus.exceptions.CitrusRuntimeException;3import com.consol.citrus.util.FileUtils;4import org.testng.Assert;5import org.testng.annotations.Test;6import java.io.File;7public class JdbcMarshallerTest {8 public void testJdbcMarshaller() {9 JdbcMarshaller jdbcMarshaller = new JdbcMarshaller();10 JdbcAction jdbcAction = new JdbcAction();11 jdbcAction.setName("testJdbcAction");12 jdbcAction.setDataSource("testDataSource");13 jdbcAction.setSqlQuery("select * from testTable");14 jdbcAction.setSqlResourcePath("classpath:sql/test.sql");15 jdbcAction.setResultSet("testResultSet");16 jdbcAction.setRowMapper("testRowMapper");17 jdbcAction.setSqlResource("testSqlResource");18 jdbcAction.setSqlResourceVariable("testSqlResourceVariable");19 jdbcAction.setSqlResourceVariablePrefix("testSqlResourceVariablePrefix");20 jdbcAction.setSqlResourceVariableSuffix("testSqlResourceVariableSuffix");21 jdbcAction.setSqlResourceVariables("testSqlResourceVariables");22 jdbcAction.setSqlResourceVariablesPrefix("testSqlResourceVariablesPrefix");23 jdbcAction.setSqlResourceVariablesSuffix("testSqlResourceVariablesSuffix");24 jdbcAction.setSqlResourceDelimiter("testSqlResourceDelimiter");25 jdbcAction.setSqlResourceCommentPrefix("testSqlResourceCommentPrefix");26 jdbcAction.setSqlResourceCommentSuffix("testSqlResourceCommentSuffix");27 jdbcAction.setSqlResourceEscapeCharacter("testSqlResourceEscapeCharacter");28 jdbcAction.setSqlResourceTrimLine(true);29 jdbcAction.setSqlResourceTrimBlocks(true);30 jdbcAction.setSqlResourceIgnoreEmptyLines(true);31 jdbcAction.setSqlResourceIgnoreComments(true);32 jdbcAction.setSqlResourceIgnoreSqlComments(true);33 jdbcAction.setSqlResourceIgnoreSqlDelimiters(true);34 jdbcAction.setSqlResourceIgnoreSqlEscapeCharacters(true);35 jdbcAction.setSqlResourceStatementSeparator("testSqlResourceStatementSeparator");36 jdbcAction.setSqlResourceStatementSeparatorPrefix("testSqlResourceStatementSeparatorPrefix");37 jdbcAction.setSqlResourceStatementSeparatorSuffix("testSqlResourceStatementSeparatorSuffix");38 jdbcAction.setSqlResourceStatementSeparatorTrim(true);39 jdbcAction.setSqlResourceStatementSeparatorIgnoreEmptyLines(true);

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import java.io.File;3import java.io.IOException;4import java.util.ArrayList;5import java.util.List;6import org.springframework.context.support.ClassPathXmlApplicationContext;7import com.consol.citrus.samples.model.Customer;8import com.consol.citrus.samples.model.Order;9import com.consol.citrus.samples.model.Product;10import com.consol.citrus.samples.model.Shipment;11import com.consol.citrus.samples.model.ShipmentItem;12import com.consol.citrus.samples.model.ShipmentItemPK;13import com.consol.citrus.samples.model.ShipmentPK;14import com.consol.citrus.samples.model.ShipmentStatus;15import com.consol.citrus.samples.model.ShipmentType;16import com.consol.citrus.samples.model.User;17import com.consol.citrus.samples.model.UserPK;18import com.consol.citrus.samples.model.UserRole;19import com.consol.citrus.samples.model.UserRolePK;20import com.consol.citrus.samples.model.UserStatus;21import com.consol.citrus.samples.model.UserType;22import com.consol.citrus.samples.model.Warehouse;23import com.consol.citrus.samples.model.WarehousePK;24import com.consol.citrus.samples.model.WarehouseType;25import com.consol.citrus.samples.model.WarehouseUser;26import com.consol.citrus.samples.model.WarehouseUserPK;27import com.consol.citrus.samples.model.WarehouseUserRole;28import com.consol.citrus.samples.model.WarehouseUserRolePK;29import com.consol.citrus.samples.model.WarehouseUserRoleType;30import com.consol.citrus.samples.model.WarehouseUserType;31import com.consol.citrus.samples.model.WarehouseUserWarehouse;32import com.consol.citrus.samples.model.WarehouseUserWarehousePK;33import com.consol.citrus.samples.model.WarehouseUserWarehouseType;34import com.consol.citrus.samples.model.WarehouseWarehouseUser;35import com.consol.citrus.samples.model.WarehouseWarehouseUserPK;36import com.consol.citrus.samples.model.WarehouseWarehouseUserType;37import com.consol.citrus.samples.model.WarehouseWarehouseUserRole;38import com.consol.citrus.samples.model.WarehouseWarehouseUserRolePK;39import com.consol.citrus.samples.model.WarehouseWarehouseUserRoleType;40import com.consol.citrus.samples.model.WarehouseWarehouseUserRoleWarehouseUserWarehouse

Full Screen

Full Screen

marshal

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import java.sql.Timestamp;3import java.text.ParseException;4import java.text.SimpleDateFormat;5import java.util.Date;6import java.util.TimeZone;7import java.util.logging.Level;8import java.util.logging.Logger;9public class 3 {10 public static void main(String[] args) {11 try {12 String timestamp = "2007-12-03 10:15:30.0";13 Timestamp timestamp2 = JdbcMarshaller.marshal(timestamp);14 System.out.println(timestamp2);15 System.out.println(timestamp);16 } catch (ParseException ex) {17 Logger.getLogger(3.class.getName()).log(Level.SEVERE, null, ex);18 }19 }20}21package com.consol.citrus.jdbc.model;22import java.sql.Timestamp;23import java.text.ParseException;24import java.text.SimpleDateFormat;25import java.util.Date;26import java.util.TimeZone;27import java.util.logging.Level;28import java.util.logging.Logger;29public class JdbcMarshaller {30 public static Timestamp marshal(String timestamp) throws ParseException {31 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");32 formatter.setTimeZone(TimeZone.getTimeZone("GMT"));33 Date date = formatter.parse(timestamp);34 return new Timestamp(date.getTime());35 }36}37package com.consol.citrus.samples;38import java.sql.Timestamp;39import java.text.ParseException;40import java.text.SimpleDateFormat;41import java.util.Date;42import java.util.TimeZone;43import java.util.logging.Level;44import java.util.logging.Logger;45public class 4 {46 public static void main(String[] args) {47 try {

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Citrus automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful