use of com.dexels.navajo.document.Message in project navajo by Dexels.
the class DomainObjectMapperTest method testSetInputProperties.
@Test
public void testSetInputProperties() throws Exception {
TestPOJO tp = new TestPOJO();
tp.setName("hallo");
DomainObjectMapper dom = new DomainObjectMapper(tp);
Access a = new Access();
Navajo doc = NavajoFactory.getInstance().createNavajo();
a.setOutputDoc(doc);
Message m = NavajoFactory.getInstance().createMessage(doc, "Test");
doc.addMessage(m);
a.setCurrentOutMessage(m);
dom.load(a);
dom.setInputProperties("name;birthdate");
dom.store();
assertNotNull(doc.getProperty("/Test/Name"));
assertEquals("in", doc.getProperty("/Test/Name").getDirection());
assertEquals("hallo", doc.getProperty("/Test/Name").getValue());
assertNotNull(doc.getProperty("/Test/Something"));
assertEquals("out", doc.getProperty("/Test/Something").getDirection());
}
use of com.dexels.navajo.document.Message in project navajo by Dexels.
the class DomainObjectMapperTest method testStoreWithSelectionProperty.
@Test
public void testStoreWithSelectionProperty() throws Exception {
// The other way around, with an input Navajo with property that does
// have an associated attribute.
Navajo doc = NavajoFactory.getInstance().createNavajo();
Message m = NavajoFactory.getInstance().createMessage(doc, "MyMessage");
doc.addMessage(m);
Property p1 = NavajoFactory.getInstance().createProperty(doc, "Id", "string", "hello", 0, "", "in");
Property p2 = NavajoFactory.getInstance().createProperty(doc, "Selection", "1", "", "in");
m.addProperty(p1);
m.addProperty(p2);
// Add selections...
Selection s1 = NavajoFactory.getInstance().createSelection(doc, "aap", "AAP", false);
Selection s2 = NavajoFactory.getInstance().createSelection(doc, "noot", "NOOT", true);
p2.addSelection(s1);
p2.addSelection(s2);
Access a = new Access();
a.setInDoc(doc);
DomainObjectMapper dom2 = new DomainObjectMapper();
dom2.setCurrentMessageName("MyMessage");
dom2.load(a);
dom2.setObjectName("com.dexels.navajo.mapping.bean.Relation");
dom2.store();
Object o = dom2.getMyObject();
assertNotNull(o);
assertEquals(Relation.class, o.getClass());
assertEquals("hello", ((Relation) o).getId());
assertEquals("NOOT", ((Relation) o).getSelection());
}
use of com.dexels.navajo.document.Message in project navajo by Dexels.
the class DomainObjectMapperTest method testSetExcludedProperties.
@Test
public void testSetExcludedProperties() throws Exception {
// TestPOJO tp = new TestPOJO();
DomainObjectMapper dom = new DomainObjectMapper();
dom.setObjectName("com.dexels.navajo.mapping.bean.TestPOJO");
Navajo doc = NavajoFactory.getInstance().createNavajo();
Message m = NavajoFactory.getInstance().createMessage(doc, "Test");
System.err.println("m = " + m);
doc.addMessage(m);
Property p1 = NavajoFactory.getInstance().createProperty(doc, "name", Property.STRING_PROPERTY, "nice", 0, "", "out");
m.addProperty(p1);
java.util.Date d = new java.util.Date();
Property p2 = NavajoFactory.getInstance().createProperty(doc, "birthdate", Property.DATE_PROPERTY, null, 0, "", "out");
p2.setAnyValue(d);
m.addProperty(p2);
Property p3 = NavajoFactory.getInstance().createProperty(doc, "something", Property.STRING_PROPERTY, "notnice", 0, "", "out");
m.addProperty(p3);
Access a = new Access();
a.setInDoc(doc);
a.setOutputDoc(NavajoFactory.getInstance().createNavajo());
dom.load(a);
dom.setExcludedProperties("something");
dom.setCurrentMessageName("Test");
dom.store();
TestPOJO tp = (TestPOJO) dom.getMyObject();
assertEquals("nice", tp.getName());
assertEquals(d, tp.getBirthdate());
assertNull(tp.getSomething());
}
use of com.dexels.navajo.document.Message in project navajo by Dexels.
the class TestRun method testTimestamp.
@Test
public void testTimestamp() {
ImmutableMessage msg = ReplicationFactory.getInstance().parseStream(getClass().getResourceAsStream("test3.json")).message();
Navajo nn = JsonTmlFactory.getInstance().toFlatNavajo("Match", msg);
Message match = nn.getMessage("Match");
assertNotNull(match.getProperty("matchtime"));
Property matchtime = match.getProperty("matchtime");
assertEquals(Property.DATE_PROPERTY, matchtime.getType());
Date matchtimeobj = (Date) matchtime.getTypedValue();
Calendar cal = Calendar.getInstance();
cal.setTime(matchtimeobj);
assertEquals(1971, cal.get(Calendar.YEAR));
assertEquals(12, cal.get(Calendar.HOUR_OF_DAY));
assertEquals(0, cal.get(Calendar.MINUTE));
Property matchtime2 = match.getProperty("matchtime2");
assertEquals(Property.CLOCKTIME_PROPERTY, matchtime2.getType());
}
use of com.dexels.navajo.document.Message in project navajo by Dexels.
the class NavajoStreamToMutableMessageStream method apply.
public Subscriber<? super NavajoStreamEvent> apply(Subscriber<? super Flowable<Message>> downStream) throws Exception {
return new Subscriber<NavajoStreamEvent>() {
@Override
public void onError(Throwable t) {
error = t;
done = true;
drain(downStream);
}
@Override
public void onComplete() {
// feeder.endOfInput();
queue.offer(navajoEventComplete());
done = true;
drain(downStream);
}
@Override
public void onNext(NavajoStreamEvent event) {
Flowable<Message> msg = processNavajoEvent(event);
queue.offer(msg);
drain(downStream);
}
@Override
public void onSubscribe(Subscription s) {
subscription = s;
downStream.onSubscribe(new Subscription() {
@Override
public void request(long n) {
BackpressureHelper.add(requested, n);
drain(downStream);
}
@Override
public void cancel() {
cancelled = true;
s.cancel();
}
});
s.request(1);
}
};
}
Aggregations