Search in sources :

Example 1 with BaseResourceInfo

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);
}
Also used : BaseResourceInfo(org.pentaho.metaverse.api.model.BaseResourceInfo) JdbcResourceInfo(org.pentaho.metaverse.api.model.JdbcResourceInfo) Timestamp(java.sql.Timestamp) Test(org.junit.Test)

Example 2 with BaseResourceInfo

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();
}
Also used : BaseResourceInfo(org.pentaho.metaverse.api.model.BaseResourceInfo) DatabaseMeta(org.pentaho.di.core.database.DatabaseMeta)

Example 3 with BaseResourceInfo

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);
}
Also used : IExternalResourceInfo(org.pentaho.metaverse.api.model.IExternalResourceInfo) BaseResourceInfo(org.pentaho.metaverse.api.model.BaseResourceInfo) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) Test(org.junit.Test)

Example 4 with BaseResourceInfo

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);
}
Also used : IExternalResourceInfo(org.pentaho.metaverse.api.model.IExternalResourceInfo) BaseResourceInfo(org.pentaho.metaverse.api.model.BaseResourceInfo) Test(org.junit.Test)

Aggregations

BaseResourceInfo (org.pentaho.metaverse.api.model.BaseResourceInfo)4 Test (org.junit.Test)3 IExternalResourceInfo (org.pentaho.metaverse.api.model.IExternalResourceInfo)2 Timestamp (java.sql.Timestamp)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 DatabaseMeta (org.pentaho.di.core.database.DatabaseMeta)1 JdbcResourceInfo (org.pentaho.metaverse.api.model.JdbcResourceInfo)1