Search in sources :

Example 21 with Message

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());
}
Also used : Message(com.dexels.navajo.document.Message) Access(com.dexels.navajo.script.api.Access) Navajo(com.dexels.navajo.document.Navajo) Test(org.junit.Test)

Example 22 with Message

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());
}
Also used : Message(com.dexels.navajo.document.Message) Selection(com.dexels.navajo.document.Selection) Access(com.dexels.navajo.script.api.Access) Navajo(com.dexels.navajo.document.Navajo) Property(com.dexels.navajo.document.Property) Test(org.junit.Test)

Example 23 with Message

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());
}
Also used : Message(com.dexels.navajo.document.Message) Access(com.dexels.navajo.script.api.Access) Navajo(com.dexels.navajo.document.Navajo) Property(com.dexels.navajo.document.Property) Test(org.junit.Test)

Example 24 with Message

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());
}
Also used : Message(com.dexels.navajo.document.Message) ImmutableMessage(com.dexels.immutable.api.ImmutableMessage) ImmutableMessage(com.dexels.immutable.api.ImmutableMessage) Calendar(java.util.Calendar) Navajo(com.dexels.navajo.document.Navajo) Property(com.dexels.navajo.document.Property) Date(java.util.Date) Test(org.junit.Test)

Example 25 with Message

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);
        }
    };
}
Also used : Message(com.dexels.navajo.document.Message) Subscriber(org.reactivestreams.Subscriber) Subscription(org.reactivestreams.Subscription) NavajoStreamEvent(com.dexels.navajo.document.stream.events.NavajoStreamEvent)

Aggregations

Message (com.dexels.navajo.document.Message)312 Property (com.dexels.navajo.document.Property)149 Navajo (com.dexels.navajo.document.Navajo)127 Test (org.junit.Test)95 NavajoException (com.dexels.navajo.document.NavajoException)39 ImmutableMessage (com.dexels.immutable.api.ImmutableMessage)35 Access (com.dexels.navajo.script.api.Access)27 UserException (com.dexels.navajo.script.api.UserException)27 TMLExpressionException (com.dexels.navajo.expression.api.TMLExpressionException)26 Selection (com.dexels.navajo.document.Selection)25 Operand (com.dexels.navajo.document.Operand)22 IOException (java.io.IOException)19 ArrayList (java.util.ArrayList)19 MappableException (com.dexels.navajo.script.api.MappableException)18 Ignore (org.junit.Ignore)17 SystemException (com.dexels.navajo.script.api.SystemException)16 Optional (java.util.Optional)15 ContextExpression (com.dexels.navajo.expression.api.ContextExpression)13 MappableTreeNode (com.dexels.navajo.script.api.MappableTreeNode)13 HashMap (java.util.HashMap)13