Search in sources :

Example 1 with JaxBSafeMap

use of org.pentaho.platform.scheduler2.ws.JaxBSafeMap in project pentaho-platform by pentaho.

the class JobParamsAdapter method unmarshal.

public Map<String, ParamValue> unmarshal(JaxBSafeMap safeMap) throws Exception {
    Map<String, ParamValue> unsafeMap = null;
    try {
        unsafeMap = new HashMap<String, ParamValue>();
        for (JaxBSafeEntry safeEntry : safeMap.entry) {
            ParamValue v = safeEntry.getStringValue();
            if (v == null) {
                v = safeEntry.getListValue();
            }
            if (v == null) {
                v = safeEntry.getMapValue();
            }
            unsafeMap.put(safeEntry.key, v);
        }
        return unsafeMap;
    } catch (Throwable t) {
        logger.error(t);
    }
    return null;
}
Also used : JaxBSafeEntry(org.pentaho.platform.scheduler2.ws.JaxBSafeMap.JaxBSafeEntry)

Example 2 with JaxBSafeMap

use of org.pentaho.platform.scheduler2.ws.JaxBSafeMap in project pentaho-platform by pentaho.

the class ComplianceJaxBTest method testJaxbSafeJob.

@Test
public void testJaxbSafeJob() throws JAXBException {
    JobAdapter.JaxbSafeJob job = new JobAdapter.JaxbSafeJob();
    final Date NOW = new Date();
    job.lastRun = NOW;
    job.nextRun = NOW;
    job.jobName = "testName";
    job.jobId = "testId";
    job.schedulableClass = "test.schedulable.class";
    job.state = Job.JobState.COMPLETE;
    job.userName = "testUsername";
    HashMap<String, ParamValue> params = new HashMap<String, ParamValue>();
    params.put("testStringkey", new StringParamValue("testStringVal"));
    JaxBSafeMap safeMap = new JaxBSafeMap(params);
    job.jobParams = safeMap;
    JobAdapter.JaxbSafeJob unmarshalledJob = JaxBUtil.outin(job, JobAdapter.JaxbSafeJob.class);
    Assert.assertEquals(job.lastRun, unmarshalledJob.lastRun);
    Assert.assertEquals(job.nextRun, unmarshalledJob.nextRun);
    Assert.assertEquals(job.jobName, unmarshalledJob.jobName);
    Assert.assertEquals(job.jobId, unmarshalledJob.jobId);
    Assert.assertEquals(job.schedulableClass, unmarshalledJob.schedulableClass);
    Assert.assertEquals(job.userName, unmarshalledJob.userName);
    Assert.assertEquals(job.state, unmarshalledJob.state);
    Assert.assertEquals(job.jobTrigger, unmarshalledJob.jobTrigger);
    Assert.assertTrue("testStringkey".equals(unmarshalledJob.jobParams.entry.get(0).key));
    Assert.assertTrue("testStringVal".equals(unmarshalledJob.jobParams.entry.get(0).getStringValue().toString()));
}
Also used : HashMap(java.util.HashMap) JaxBSafeMap(org.pentaho.platform.scheduler2.ws.JaxBSafeMap) ListParamValue(org.pentaho.platform.scheduler2.ws.ListParamValue) ParamValue(org.pentaho.platform.scheduler2.ws.ParamValue) StringParamValue(org.pentaho.platform.scheduler2.ws.StringParamValue) MapParamValue(org.pentaho.platform.scheduler2.ws.MapParamValue) StringParamValue(org.pentaho.platform.scheduler2.ws.StringParamValue) JobAdapter(org.pentaho.platform.scheduler2.ws.JobAdapter) Date(java.util.Date) Test(org.junit.Test)

Example 3 with JaxBSafeMap

use of org.pentaho.platform.scheduler2.ws.JaxBSafeMap in project pentaho-platform by pentaho.

the class ComplianceJaxBTest method testJaxbSafeMap.

@Test
public void testJaxbSafeMap() throws JAXBException {
    HashMap<String, ParamValue> params = new HashMap<String, ParamValue>();
    ListParamValue listValue = new ListParamValue();
    listValue.add("testListVal0");
    listValue.add("testListVal1");
    MapParamValue mapValue = new MapParamValue();
    mapValue.put("testMapValueKey", "testMapVal");
    params.put("testStringkey", new StringParamValue("testStringVal"));
    params.put("testListKey", listValue);
    params.put("testMapKey", mapValue);
    // TreeMap implements java.util.SortedMap; applies a natural ordering of its keys;
    Map<String, ParamValue> sortedParams = new TreeMap(params);
    List paramsList = java.util.Arrays.asList(sortedParams.keySet().toArray());
    JaxBSafeMap map = new JaxBSafeMap(sortedParams);
    JaxBSafeMap unmarshalled = JaxBUtil.outin(map, JaxBSafeMap.class, JaxBSafeEntry.class, StringParamValue.class);
    Assert.assertEquals("testStringVal", unmarshalled.entry.get(paramsList.indexOf("testStringkey")).getStringValue().toString());
    Assert.assertEquals("testListVal0", unmarshalled.entry.get(paramsList.indexOf("testListKey")).getListValue().get(0));
    Assert.assertEquals("testMapVal", unmarshalled.entry.get(paramsList.indexOf("testMapKey")).getMapValue().get("testMapValueKey"));
}
Also used : ListParamValue(org.pentaho.platform.scheduler2.ws.ListParamValue) MapParamValue(org.pentaho.platform.scheduler2.ws.MapParamValue) HashMap(java.util.HashMap) JaxBSafeMap(org.pentaho.platform.scheduler2.ws.JaxBSafeMap) ListParamValue(org.pentaho.platform.scheduler2.ws.ListParamValue) ParamValue(org.pentaho.platform.scheduler2.ws.ParamValue) StringParamValue(org.pentaho.platform.scheduler2.ws.StringParamValue) MapParamValue(org.pentaho.platform.scheduler2.ws.MapParamValue) StringParamValue(org.pentaho.platform.scheduler2.ws.StringParamValue) List(java.util.List) TreeMap(java.util.TreeMap) Test(org.junit.Test)

Aggregations

HashMap (java.util.HashMap)2 Test (org.junit.Test)2 JaxBSafeMap (org.pentaho.platform.scheduler2.ws.JaxBSafeMap)2 ListParamValue (org.pentaho.platform.scheduler2.ws.ListParamValue)2 MapParamValue (org.pentaho.platform.scheduler2.ws.MapParamValue)2 ParamValue (org.pentaho.platform.scheduler2.ws.ParamValue)2 StringParamValue (org.pentaho.platform.scheduler2.ws.StringParamValue)2 Date (java.util.Date)1 List (java.util.List)1 TreeMap (java.util.TreeMap)1 JaxBSafeEntry (org.pentaho.platform.scheduler2.ws.JaxBSafeMap.JaxBSafeEntry)1 JobAdapter (org.pentaho.platform.scheduler2.ws.JobAdapter)1