@Override public <TAggregate extends AggregateRoot, TEvent extends AggregateDomainEvent<TAggregate>> Future<TAggregate> submit(final TEvent domainEvent, final String uri) { if (uri == null) throw new IllegalArgumentException("uri can't be null."); final Class<?> eventClazz = domainEvent.getClass(); @SuppressWarnings("unchecked") final Class<TAggregate> manifest = (Class<TAggregate>) eventClazz.getEnclosingClass(); final String domainName = client.getDslName(manifest); return client.sendRequest( manifest, DOMAIN_URI + "submit/" + domainName + "/" + eventClazz.getSimpleName() + "?uri=" + encode(uri), "POST", domainEvent, new int[] {201}); }
@Override public <TEvent extends DomainEvent> Future<String> submit(final TEvent domainEvent) { final String domainName = client.getDslName(domainEvent.getClass()); return client.sendRequest( String.class, DOMAIN_URI + "submit/" + domainName, "POST", domainEvent, new int[] {201}); }