本文整理了Java中org.reveno.atp.api.query.QueryManager
类的一些代码示例,展示了QueryManager
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryManager
类的具体详情如下:
包路径:org.reveno.atp.api.query.QueryManager
类名称:QueryManager
暂无
代码示例来源:origin: dmart28/reveno
public AccountView account() {
return query.find(AccountView.class, accountId);
}
代码示例来源:origin: dmart28/reveno
public Optional<PositionView> position() {
return positionId.isPresent() ? query.findO(PositionView.class, positionId.get()) : Optional.empty();
}
代码示例来源:origin: dmart28/reveno
Assert.assertFalse(engine.query().findO(LastCalculatedView.class, 1).isPresent());
Result<Double> r = engine.<Double>executeCommand(new SqrtCommand(16)).get();
Assert.assertTrue(r.isSuccess());
Assert.assertEquals(r.getResult(), 4, 0.001);
Assert.assertTrue(engine.query().findO(LastCalculatedView.class, 1).isPresent());
Assert.assertEquals(4, engine.query().findO(LastCalculatedView.class, 1).get().sqrt, 0.001);
Assert.assertTrue(engine.query().findO(LastCalculatedView.class, 1).isPresent());
Assert.assertEquals(4, engine.query().find(LastCalculatedView.class, 1).sqrt, 0.001);
engine.executeCommand(new SqrtCommand(64)).get();
Assert.assertEquals(8, engine.query().find(LastCalculatedView.class, 3).sqrt, 0.001);
代码示例来源:origin: dmart28/reveno
@Test
public void testReplay() throws Exception {
testBasic();
Reveno reveno = createEngine();
Waiter accountCreatedEvent = listenFor(reveno, AccountCreatedEvent.class);
Waiter orderCreatedEvent = listenFor(reveno, OrderCreatedEvent.class);
reveno.startup();
Assert.assertFalse(accountCreatedEvent.isArrived(1));
Assert.assertFalse(orderCreatedEvent.isArrived(1));
Assert.assertEquals(1, reveno.query().select(AccountView.class).size());
Assert.assertEquals(1, reveno.query().select(OrderView.class).size());
reveno.shutdown();
}
代码示例来源:origin: dmart28/reveno
long linkId = reveno.executeSync(createLink, MapUtils.map("name", "reveno", "url", "http://reveno.org", "page", pageId));
Assert.assertTrue(reveno.query().findO(PageView.class, pageId).isPresent());
PageView page = reveno.query().find(PageView.class, pageId);
Assert.assertEquals(page.links.size(), 1);
Assert.assertEquals(page.links.get(0).id, linkId);
Assert.assertSame(page.links.get(0), reveno.query().find(LinkView.class, linkId));
代码示例来源:origin: dmart28/reveno
default <V> Optional<V> findO(Class<V> viewType, long id) {
return Optional.ofNullable(find(viewType, id));
}
代码示例来源:origin: dmart28/reveno
public Set<OrderView> orders() {
return orders.stream().flatMap(o -> sops(query.findO(OrderView.class, o))).collect(Collectors.toSet());
}
代码示例来源:origin: dmart28/reveno
protected static void printStats(Reveno reveno, long accountId) {
LOG.info("Account {} name: {}", accountId, reveno.query().find(AccountView.class, accountId).name);
LOG.info("Account {} balance: {}", accountId, reveno.query().find(AccountView.class, accountId).balance);
}
代码示例来源:origin: dmart28/reveno
protected static void showBalance(Reveno reveno, long accId) {
LOG.info("Account balance: {}", reveno.query().find(AccountView.class, accId).balance);
}
代码示例来源:origin: dmart28/reveno
protected static void showBalance(Reveno reveno, long accId) {
LOG.info("Account balance: {}", reveno.query().find(AccountView.class, accId).balance);
}
代码示例来源:origin: dmart28/reveno
protected static void printStats(Reveno reveno, long id) {
LOG.info("Balance of Account {}: {}", id, reveno.query().find(AccountView.class, id).balance);
}
代码示例来源:origin: dmart28/reveno
long goodIncrementBalance = reveno.query().find(AccountView.class, acc).balance;
LOG.info("Balance after fine command: {}", goodIncrementBalance);
long wrongCommandBalance = reveno.query().find(AccountView.class, acc).balance;
LOG.info("Balance after wrong command: {}", wrongCommandBalance);
wrongCommandBalance = reveno.query().find(AccountView.class, acc).balance;
LOG.info("Balance after wrong command: {}", wrongCommandBalance);
代码示例来源:origin: dmart28/reveno
public static void main(String[] args) throws Exception {
Reveno reveno = new Engine(args[0]);
reveno.config().mutableModel();
reveno.domain().transaction("createTrader", (tx, ctx) ->
ctx.repo().store(tx.id(), new Trader(tx.id()))
).uniqueIdFor(Trader.class).command();
reveno.domain().transaction("createOrder", (tx, ctx) -> {
ctx.repo().remap(Trader.class, tx.arg("trId"), (id, t) -> t.orders.add(tx.id()));
ctx.repo().store(tx.id(), new Order(tx.id(), tx.longArg("size"), tx.longArg("price")));
}).uniqueIdFor(Order.class).command();
reveno.domain().viewMapper(Trader.class, TraderView.class, (id, e, r) ->
new TraderView(e.id, r.link(e.orders.stream(), OrderView.class)));
reveno.domain().viewMapper(Order.class, OrderView.class, (id, e, r) ->
new OrderView(e.id, e.size, e.price));
reveno.startup();
long traderId = reveno.executeSync("createTrader");
long orderId = reveno.executeSync("createOrder", MapUtils.map("trId", traderId, "size", 1000L, "price", (long)(3.14 * PRECISION)));
TraderView trader = reveno.query().find(TraderView.class, traderId);
LOG.info("Trader: {}", trader);
OrderView order = reveno.query().find(OrderView.class, orderId);
LOG.info("Order: {}", order);
reveno.shutdown();
}
代码示例来源:origin: dmart28/reveno
public void dslTest(Function<TestRevenoEngine, DynamicCommand> f) throws Exception {
TestRevenoEngine reveno = new TestRevenoEngine(tempDir);
reveno.config().mutableModel();
DynamicCommand createPage = f.apply(reveno);
reveno.domain().viewMapper(Page.class, PageView.class, (id,e,r) -> new PageView(id, e.name));
reveno.startup();
long pageId = reveno.executeSync(createPage, MapUtils.map("name", "Wikipedia"));
Assert.assertEquals(1L, pageId);
PageView view = reveno.query().find(PageView.class, pageId);
Assert.assertEquals("Wikipedia", view.name);
reveno.shutdown();
reveno = new TestRevenoEngine(tempDir);
reveno.config().mutableModel();
createPage = f.apply(reveno);
reveno.domain().viewMapper(Page.class, PageView.class, (id,e,r) -> new PageView(id, e.name));
reveno.startup();
view = reveno.query().find(PageView.class, pageId);
Assert.assertEquals("Wikipedia", view.name);
reveno.shutdown();
}
代码示例来源:origin: dmart28/reveno
@Test
public void onDemandViewTest() {
TestRevenoEngine reveno = new TestRevenoEngine(tempDir);
reveno.config().mutableModel();
DynamicCommand create = reveno.domain().transaction("create", (tx, ctx) -> {
ctx.repo().store(tx.id(Page.class), new Page("test", tx.id(Link.class)));
ctx.repo().store(tx.id(Link.class), new Link("tt", "http://g.le"));
}).uniqueIdFor(Page.class, Link.class).returnsIdOf(Page.class).command();
reveno.domain().viewMapper(Link.class, LinkView.class, (id,e,r) -> new LinkView(id, e.name, e.url));
reveno.domain().viewMapper(Page.class, PageView.class, (id,e,r) -> new PageView(id, e.name, r.get(LinkView.class, e.linksIds.get(0))));
reveno.startup();
long pageId = reveno.executeSync(create, new HashMap<>());
Assert.assertTrue(pageId != 0);
PageView page = reveno.query().find(PageView.class, pageId);
Assert.assertEquals(1, page.links.size());
long linkId = page.links.get(0).id;
Assert.assertSame(reveno.query().find(LinkView.class, linkId), page.links.get(0));
reveno.shutdown();
}
代码示例来源:origin: dmart28/reveno
Assert.assertEquals(RuntimeException.class, f.get().getException().getClass());
Assert.assertEquals(1000, repo[0].get(Account.class, accountId).balance());
Assert.assertEquals(1000, reveno.query().find(AccountView.class, accountId).balance);
reveno.startup();
Assert.assertEquals(1000, reveno.query().find(AccountView.class, accountId).balance);
代码示例来源:origin: dmart28/reveno
@Test
public void testRepositoryMerge() throws Exception {
Reveno reveno = createEngine();
reveno.config().mutableModel();
reveno.domain().transaction("createAccount", (c, d) ->
d.repo().store(c.id(), new Account()))
.uniqueIdFor(Account.class).command();
reveno.domain().transaction("addBalance", (c, d) ->
d.repo().remap(c.longArg(), Account.class, (id, e) -> e.add(c.longArg("amount"))))
.command();
reveno.domain().transaction("createAndAdd", (c, d) ->
d.repo().merge(c.longArg(), Account.class, () -> new Account().add(c.longArg("amount")),
(id, e) -> e.add(c.longArg("amount"))))
.command();
reveno.domain().viewMapper(Account.class, Account.class, (a,b,c) -> b);
reveno.startup();
long accountId = reveno.executeSync("createAccount");
reveno.executeSync("addBalance", MapUtils.map("id", accountId, "amount", 10L));
Assert.assertEquals(reveno.query().find(Account.class, accountId).balance, 10L);
reveno.executeSync("createAndAdd", MapUtils.map("id", 11L, "amount", 15L));
Assert.assertEquals(reveno.query().find(Account.class, 11L).balance, 15L);
reveno.executeSync("createAndAdd", MapUtils.map("id", 11L, "amount", 21L));
Assert.assertEquals(reveno.query().find(Account.class, 11L).balance, 36L);
reveno.shutdown();
}
内容来源于网络,如有侵权,请联系作者删除!