Package com.google.apphosting.api.DatastorePb

Examples of com.google.apphosting.api.DatastorePb.PutRequest


        if (tx != null && !tx.isActive()) {
            throw new IllegalStateException("The transaction must be active.");
        }
        assignKeyIfNecessary(entity);
        EntityProto entityProto = EntityTranslator.convertToPb(entity);
        PutRequest req = createPutRequest(tx);
        req.addEntity(entityProto);
        putUsingLowerApi(req);
        return entity.getKey();
    }
View Full Code Here


            Iterable<EntityProto> entities) {
        if (entities == null) {
            throw new NullPointerException(
                "The entities parameter must not be null.");
        }
        PutRequest req = createPutRequest(tx);
        int totalSize = 0;
        for (EntityProto e : entities) {
            int size = e.encodingSize();
            if ((totalSize != 0 && totalSize + size + EXTRA_SIZE > MAX_ENTITY_SIZE)
                || req.entitySize() >= MAX_NUMBER_OF_ENTITIES) {
                putUsingLowerApi(req);
                req = createPutRequest(tx);
                totalSize = 0;
            }
            req.addEntity(e);
            totalSize += size + EXTRA_SIZE;
        }
        if (req.entitySize() > 0) {
            putUsingLowerApi(req);
        }
    }
View Full Code Here

     * @param tx
     *            the transaction
     * @return a request for put
     */
    protected static PutRequest createPutRequest(Transaction tx) {
        PutRequest req = new PutRequest();
        if (tx != null) {
            DatastorePb.Transaction tx2 = new DatastorePb.Transaction();
            tx2.setHandle(Long.valueOf(tx.getId()));
            tx2.setApp(ApiProxy.getCurrentEnvironment().getAppId());
            req.setTransaction(tx2);
        }
        return req;
    }
View Full Code Here

        if (entities == null) {
            throw new NullPointerException(
                "The entities parameter must not be null.");
        }
        for (Entity entity : entities) {
            PutRequest putReq = new PutRequest();
            List<Blob> putList =
                (List<Blob>) entity.getProperty(PUT_LIST_PROPERTY);
            List<Key> deleteList =
                (List<Key>) entity.getProperty(DELETE_LIST_PROPERTY);
            List<Entity> putEntities = new ArrayList<Entity>();
            if (putList != null) {
                for (Blob blob : putList) {
                    EntityProto proto = putReq.addEntity();
                    proto.mergeFrom(blob.getBytes());
                    putEntities.add(EntityTranslator.createFromPb(proto));
                }
            }
            if (putEntities.size() > 0) {
View Full Code Here

   *
   * @return A {@link Future} that provides the results of the operation.
   */
  private Future<List<Key>> doBatchPutBySize( Transaction txn,
      final Iterable<Entity> entities) {
    PutRequest baseReq = new PutRequest();
    if (txn != null) {
      TransactionImpl.ensureTxnActive(txn);
      baseReq.setTransaction(localTxnToRemoteTxn(txn));
    }
    final int baseEncodedReqSize = baseReq.encodingSize();
    final List<Future<PutResponse>> futures = new ArrayList<Future<PutResponse>>();
    int encodedReqSize = baseEncodedReqSize;
    PutRequest req = baseReq.clone();
    for (Entity entity : entities) {
      EntityProto proto = EntityTranslator.convertToPb(entity);
      int encodedEntitySize = Protocol.stringSize(proto.encodingSize()) + 1;
      if (getDatastoreServiceConfig().exceedsWriteLimits(
          req.entitySize() + 1, encodedReqSize + encodedEntitySize)) {
        futures.add(makeAsyncCall(apiConfig, "Put", req, new PutResponse()));
        encodedReqSize = baseEncodedReqSize;
        req = baseReq.clone();
      }

      encodedReqSize += encodedEntitySize;
      req.addEntity(proto);
    }

    if (req.entitySize() > 0) {
      futures.add(makeAsyncCall(apiConfig, "Put", req, new PutResponse()));
    }

    return registerInTransaction(txn,
        new IteratingAggregateFuture<PutResponse, Entity, List<Key>>(futures) {
View Full Code Here

    @Test
    public void datastorePutAsync() throws Exception {
        tester.setUp();
        Environment env = ApiProxy.getCurrentEnvironment();
        Delegate<Environment> delegate = ApiProxy.getDelegate();
        PutRequest reqPb = new PutRequest();
        reqPb.addEntity(EntityTranslator.convertToPb(new Entity("Hoge")));
        Future<byte[]> future =
            delegate.makeAsyncCall(
                env,
                AppEngineTester.DATASTORE_SERVICE,
                AppEngineTester.PUT_METHOD,
                reqPb.toByteArray(),
                new ApiConfig());
        future.get();
        assertThat(tester.count("Hoge"), is(1));
        tester.tearDown();
        ApiProxy.setDelegate(AppEngineTester.apiProxyLocalImpl);
View Full Code Here

        if (entities == null) {
            throw new NullPointerException(
                "The entities parameter must not be null.");
        }
        for (Entity entity : entities) {
            PutRequest putReq = new PutRequest();
            List<Blob> putList =
                (List<Blob>) entity.getProperty(PUT_LIST_PROPERTY);
            List<Key> deleteList =
                (List<Key>) entity.getProperty(DELETE_LIST_PROPERTY);
            List<Entity> putEntities = new ArrayList<Entity>();
            if (putList != null) {
                for (Blob blob : putList) {
                    EntityProto proto = putReq.addEntity();
                    proto.mergeFrom(blob.getBytes());
                    putEntities.add(EntityTranslator.createFromPb(proto));
                }
            }
            if (putEntities.size() > 0) {
View Full Code Here

    if ("datastore_v3".equals(service) && "BeginTransaction".equals(method)) {
      BeginTransactionRequest requestPb = new BeginTransactionRequest();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_BeginTransaction(requestPb);
    } else if ("datastore_v3".equals(service) && "Put".equals(method)) {
      PutRequest requestPb = new PutRequest();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_Put(requestPb);
    } else if ("datastore_v3".equals(service) && "Get".equals(method)) {
      GetRequest requestPb = new GetRequest();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_Get(requestPb);
    } else if ("datastore_v3".equals(service) && "Delete".equals(method)) {
      DeleteRequest requestPb = new DeleteRequest();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_Delete(requestPb);
    } else if ("datastore_v3".equals(service) && "RunQuery".equals(method)) {
      Query requestPb = new Query();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_RunQuery(requestPb);
    } else if ("datastore_v3".equals(service) && "Next".equals(method)) {
      NextRequest requestPb = new NextRequest();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_Next(requestPb);
    } else if ("datastore_v3".equals(service) && "Commit".equals(method)) {
      Transaction requestPb = new Transaction();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_Commit(requestPb);
    } else if ("datastore_v3".equals(service) && "Rollback".equals(method)) {
      Transaction requestPb = new Transaction();
      requestPb.mergeFrom(request);
      return pre_datastore_v3_Rollback(requestPb);
    } else if ("memcache".equals(service) && "Set".equals(method)) {
      try {
        MemcacheSetRequest requestPb = MemcacheSetRequest.parseFrom(request);
        return pre_memcache_Set(requestPb);
View Full Code Here

      requestPb.mergeFrom(request);
      Transaction responsePb = new Transaction();
      responsePb.mergeFrom(response);
      return post_datastore_v3_BeginTransaction(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "Put".equals(method)) {
      PutRequest requestPb = new PutRequest();
      requestPb.mergeFrom(request);
      PutResponse responsePb = new PutResponse();
      responsePb.mergeFrom(response);
      return post_datastore_v3_Put(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "Get".equals(method)) {
      GetRequest requestPb = new GetRequest();
      requestPb.mergeFrom(request);
      GetResponse responsePb = new GetResponse();
      responsePb.mergeFrom(response);
      return post_datastore_v3_Get(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "Delete".equals(method)) {
      DeleteRequest requestPb = new DeleteRequest();
      requestPb.mergeFrom(request);
      DeleteResponse responsePb = new DeleteResponse();
      responsePb.mergeFrom(response);
      return post_datastore_v3_Delete(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "RunQuery".equals(method)) {
      Query requestPb = new Query();
      requestPb.mergeFrom(request);
      QueryResult responsePb = new QueryResult();
      responsePb.mergeFrom(response);
      return post_datastore_v3_RunQuery(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "Next".equals(method)) {
      NextRequest requestPb = new NextRequest();
      requestPb.mergeFrom(request);
      QueryResult responsePb = new QueryResult();
      responsePb.mergeFrom(response);
      return post_datastore_v3_Next(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "Commit".equals(method)) {
      Transaction requestPb = new Transaction();
      requestPb.mergeFrom(request);
      CommitResponse responsePb = new CommitResponse();
      responsePb.mergeFrom(response);
      return post_datastore_v3_Commit(requestPb, responsePb);
    } else if ("datastore_v3".equals(service) && "Rollback".equals(method)) {
      Transaction requestPb = new Transaction();
      requestPb.mergeFrom(request);
      CommitResponse responsePb = new CommitResponse();
      responsePb.mergeFrom(response);
      return post_datastore_v3_Rollback(requestPb, responsePb);
    } else if ("memcache".equals(service) && "Set".equals(method)) {
      try {
View Full Code Here

        if (methodName.equals("RunQuery")) {
            byte[] response = delegateRunQuery(environment, packageName, methodName, request);
            return new SyncFuture(response);
        }
        if (methodName.equals("Put")) {
            PutRequest putrequest = new PutRequest();
            putrequest.mergeFrom(request);
            removeCacheByEntity(putrequest.entitys());
        }
        if (methodName.equals("Delete")) {
            DeleteRequest pbrequest = new DeleteRequest();
            pbrequest.mergeFrom(request);
            removeCache(pbrequest.keys());
View Full Code Here

TOP

Related Classes of com.google.apphosting.api.DatastorePb.PutRequest

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.