Package com.google.web.bindery.requestfactory.shared.messages

Examples of com.google.web.bindery.requestfactory.shared.messages.IdMessage


        Set<ConstraintViolation<Object>> errors = service.validate(domainObject);
        if (errors != null && !errors.isEmpty()) {
          SimpleProxyId<?> id = entry.getKey();
          for (ConstraintViolation<Object> error : errors) {
            // Construct an ID that represents domainObject
            IdMessage rootId = FACTORY.id().as();
            rootId.setClientId(id.getClientId());
            rootId.setTypeToken(service.resolveTypeToken(id.getProxyClass()));
            if (id.isEphemeral()) {
              rootId.setStrength(Strength.EPHEMERAL);
            } else {
              rootId.setServerId(toBase64(id.getServerId()));
            }

            // If possible, also include the id of the leaf bean
            IdMessage leafId = null;
            if (error.getLeafBean() != null) {
              SimpleProxyId<?> stableId = source.getStableId(error.getLeafBean());
              if (stableId != null) {
                leafId = FACTORY.id().as();
                leafId.setClientId(stableId.getClientId());
                leafId.setTypeToken(service.resolveTypeToken(stableId.getProxyClass()));
                if (stableId.isEphemeral()) {
                  leafId.setStrength(Strength.EPHEMERAL);
                } else {
                  leafId.setServerId(toBase64(stableId.getServerId()));
                }
              }
            }

            ViolationMessage message = FACTORY.violation().as();
View Full Code Here


  /**
   * EntityCodex support.
   */
  public <Q extends BaseProxy> AutoBean<Q> getBeanForPayload(Splittable serializedProxyId) {
    IdMessage idMessage =
        AutoBeanCodex.decode(MessageFactoryHolder.FACTORY, IdMessage.class, serializedProxyId).as();
    @SuppressWarnings("unchecked")
    AutoBean<Q> toReturn =
        (AutoBean<Q>) getBeansForPayload(Collections.singletonList(idMessage)).get(0);
    return toReturn;
View Full Code Here

   * <p>
   * XXX: Merge this with AbstsractRequestContext's implementation
   */
  public Splittable getSerializedProxyId(SimpleProxyId<?> stableId) {
    AutoBean<IdMessage> bean = MessageFactoryHolder.FACTORY.id();
    IdMessage ref = bean.as();
    ref.setTypeToken(service.resolveTypeToken(stableId.getProxyClass()));
    if (stableId.isSynthetic()) {
      ref.setStrength(Strength.SYNTHETIC);
      ref.setSyntheticId(stableId.getSyntheticId());
    } else if (stableId.isEphemeral()) {
      ref.setStrength(Strength.EPHEMERAL);
      ref.setClientId(stableId.getClientId());
    } else {
      ref.setServerId(SimpleRequestProcessor.toBase64(stableId.getServerId()));
    }
    return AutoBeanCodex.encode(bean);
  }
View Full Code Here

TOP

Related Classes of com.google.web.bindery.requestfactory.shared.messages.IdMessage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.