use of org.pentaho.metaverse.api.model.BaseResourceInfo in project pentaho-metaverse by pentaho.
the class ModelSerializationIT method testSerializeDeserialize.
@Test
public void testSerializeDeserialize() throws Exception {
String server = "localhost";
String dbName = "test";
int port = 9999;
String user = "testUser";
String password = "password";
JdbcResourceInfo jdbcResource = new JdbcResourceInfo(server, dbName, port, user, password);
jdbcResource.setInput(true);
String json = mapper.writeValueAsString(jdbcResource);
// System.out.println( json );
JdbcResourceInfo rehydrated = mapper.readValue(json, JdbcResourceInfo.class);
assertEquals(jdbcResource.getServer(), rehydrated.getServer());
assertEquals(jdbcResource.getDatabaseName(), rehydrated.getDatabaseName());
assertEquals(jdbcResource.getUsername(), rehydrated.getUsername());
assertEquals(jdbcResource.getPassword(), rehydrated.getPassword());
assertEquals(jdbcResource.getPort(), rehydrated.getPort());
assertEquals(jdbcResource.isInput(), rehydrated.isInput());
ExecutionProfile executionProfile = new ExecutionProfile("run1", "some/path/to/a.ktl", "tranformation", "A test profile");
long currentMillis = System.currentTimeMillis();
long futureMillis = currentMillis + 10000;
Timestamp startTime = new Timestamp(currentMillis);
Timestamp endTime = new Timestamp(futureMillis);
executionProfile.getExecutionData().setStartTime(startTime);
executionProfile.getExecutionData().setEndTime(endTime);
executionProfile.getExecutionData().setClientExecutor("client.executer");
executionProfile.getExecutionData().setExecutorServer("www.pentaho.com");
executionProfile.getExecutionData().setExecutorUser("wseyler");
executionProfile.getExecutionData().setLoggingChannelId("kettle.debug");
executionProfile.getExecutionData().addParameter(new ParamInfo("testParam1", "Larry", "Fine", "A Test Parameter"));
executionProfile.getExecutionData().addParameter(new ParamInfo("testParam2", "Howard", "Moe", "Another Parameter"));
executionProfile.getExecutionData().addParameter(new ParamInfo("testParam3", "Fine", "Curly", "A Third Parameter"));
String externalResourceName = "prices.csv";
String externalResourceDescription = "A test csv file";
String externalResourceType = "csv";
String attributeName = "hair";
String attributeValue = "red";
BaseResourceInfo externalResourceInfo = new BaseResourceInfo();
externalResourceInfo.setName(externalResourceName);
externalResourceInfo.setDescription(externalResourceDescription);
externalResourceInfo.setInput(true);
externalResourceInfo.setType(externalResourceType);
externalResourceInfo.putAttribute(attributeName, attributeValue);
executionProfile.getExecutionData().addExternalResource("testStep", externalResourceInfo);
String variable1Name = "area";
String variable1Value = "West";
String variable2Name = "dept";
String variable2Value = "Sales";
executionProfile.getExecutionData().addVariable(variable1Name, variable1Value);
executionProfile.getExecutionData().addVariable(variable2Name, variable2Value);
String arg1 = "You're stupid";
String arg2 = "You're ugly";
String arg3 = "You're lazy";
executionProfile.getExecutionData().putArgument(0, arg1);
executionProfile.getExecutionData().putArgument(1, arg2);
executionProfile.getExecutionData().putArgument(2, arg3);
json = mapper.writeValueAsString(executionProfile);
// System.out.println( json );
ExecutionProfile rehydratedProfile = mapper.readValue(json, ExecutionProfile.class);
assertEquals(executionProfile.getName(), rehydratedProfile.getName());
assertEquals(executionProfile.getPath(), rehydratedProfile.getPath());
assertEquals(executionProfile.getType(), rehydratedProfile.getType());
assertEquals(executionProfile.getDescription(), rehydratedProfile.getDescription());
assertEquals(executionProfile.getExecutionData().getStartTime().compareTo(rehydratedProfile.getExecutionData().getStartTime()), 0);
assertEquals(executionProfile.getExecutionData().getEndTime().compareTo(rehydratedProfile.getExecutionData().getEndTime()), 0);
assertEquals(executionProfile.getExecutionData().getFailureCount(), 0);
assertEquals(executionProfile.getExecutionData().getClientExecutor(), rehydratedProfile.getExecutionData().getClientExecutor());
assertEquals(executionProfile.getExecutionData().getExecutorServer(), rehydratedProfile.getExecutionData().getExecutorServer());
assertEquals(executionProfile.getExecutionData().getExecutorUser(), rehydratedProfile.getExecutionData().getExecutorUser());
assertEquals(executionProfile.getExecutionData().getLoggingChannelId(), rehydratedProfile.getExecutionData().getLoggingChannelId());
assertEquals(rehydratedProfile.getExecutionData().getParameters().size(), 3);
assertEquals(rehydratedProfile.getExecutionData().getExternalResources().size(), 1);
Map<Object, Object> attributes = rehydratedProfile.getExecutionData().getExternalResources().get("testStep").get(0).getAttributes();
assertEquals(attributes.get(attributeName), attributeValue);
assertEquals(executionProfile.getExecutionData().getVariables().size(), 2);
assertTrue(executionProfile.getExecutionData().getVariables().containsKey(variable1Name));
assertTrue(executionProfile.getExecutionData().getVariables().containsKey(variable2Name));
assertTrue(executionProfile.getExecutionData().getVariables().containsValue(variable1Value));
assertTrue(executionProfile.getExecutionData().getVariables().containsValue(variable2Value));
assertEquals(executionProfile.getExecutionData().getArguments().get(0), arg1);
assertEquals(executionProfile.getExecutionData().getArguments().get(1), arg2);
assertEquals(executionProfile.getExecutionData().getArguments().get(2), arg3);
}
use of org.pentaho.metaverse.api.model.BaseResourceInfo in project pentaho-metaverse by pentaho.
the class AbstractMetaJsonSerializer method serializeConnections.
protected void serializeConnections(T meta, JsonGenerator json) throws IOException {
// connections
json.writeArrayFieldStart(JSON_PROPERTY_CONNECTIONS);
for (DatabaseMeta dbmeta : meta.getDatabases()) {
BaseResourceInfo resourceInfo = (BaseResourceInfo) ExternalResourceInfoFactory.createDatabaseResource(dbmeta);
resourceInfo.setInput(true);
json.writeObject(resourceInfo);
}
json.writeEndArray();
}
use of org.pentaho.metaverse.api.model.BaseResourceInfo in project pentaho-metaverse by pentaho.
the class ExecutionDataTest method testGetSetExternalResources.
@Test
public void testGetSetExternalResources() {
Map<String, List<IExternalResourceInfo>> resourceMap = new HashMap<String, List<IExternalResourceInfo>>();
List<IExternalResourceInfo> externalResources = new ArrayList<IExternalResourceInfo>();
externalResources.add(new BaseResourceInfo());
assertEquals(executionData.getExternalResources().size(), 0);
resourceMap.put("testStep", externalResources);
executionData.setExternalResources(resourceMap);
assertEquals(executionData.getExternalResources().get("testStep").size(), 1);
}
use of org.pentaho.metaverse.api.model.BaseResourceInfo in project pentaho-metaverse by pentaho.
the class ExecutionDataTest method testAddExternalResource.
@Test
public void testAddExternalResource() {
IExternalResourceInfo externalResource = new BaseResourceInfo();
assertEquals(executionData.getExternalResources().size(), 0);
executionData.addExternalResource("testStep", externalResource);
assertEquals(executionData.getExternalResources().get("testStep").get(0), externalResource);
}
Aggregations