Я занимаюсь разработкой приложения, которые используют Google облачных сервисов, я установлен локальный сервер разработки, сегодня я разработал создать из падла, вниз по коду:как создать CRUD на облачном хранилище Google
Entity.Builder entRestaurante = Entity.newBuilder();
entRestaurante.setKey(makeKey());
entRestaurante.addProperty(makeProperty(ID, makeValue(restaurante.getId())));
entRestaurante.addProperty(makeProperty(CAMPUS, makeValue(restaurante.getId())));
entRestaurante.addProperty(makeProperty(NOME, makeValue(restaurante.getId())));
entRestaurante.addProperty(makeProperty(INICIO_HORARIO, makeValue(restaurante.getInicioHorario())));
entRestaurante.addProperty(makeProperty(FIM_HORARIO, makeValue(restaurante.getFimHorario())));
Mutation.Builder mutation = Mutation.newBuilder();
mutation.add(entRestaurante);
CommitRequest.newBuilder()
.setMutation(mutation)
.setMode(CommitRequest.Mode.NON_TRANSACTIONAL)
.build();
Этот работает отлично я думаю, поиск объекта уплотнительное Мутация я видел, что он имеет методы, чтобы сделать остальную часть падла, что мне нужно addDelete, addUpdate:
1- Как я могу использовать эти ребята? Может ли кто-нибудь показать мне?
Я tryied это сделать чтение из падла:.
public List<Restaurante> obtem(final Restaurante filtro) {
List<Restaurante> listaRetorno = new ArrayList<>();
List<Filter> filtros = new ArrayList<>();
try {
filtros.add(makeFilter(
ID, PropertyFilter.Operator.EQUAL, makeValue(filtro.getId())).build());
filtros.add(makeFilter(
CAMPUS, PropertyFilter.Operator.EQUAL, makeValue(filtro.getCampus())).build());
filtros.add(makeFilter(
NOME, PropertyFilter.Operator.EQUAL, makeValue(filtro.getNome())).build());
filtros.add(makeFilter(
FIM_HORARIO, PropertyFilter.Operator.EQUAL, makeValue(filtro.getFimHorario())).build());
filtros.add(makeFilter(
INICIO_HORARIO, PropertyFilter.Operator.EQUAL, makeValue(filtro.getInicioHorario())).build());
Filter enconteIgual = makeFilter(filtros).build();
Query.Builder query = Query.newBuilder();
query.addKindBuilder().setName(DATA_SET_NAME);
query.setFilter(enconteIgual)
.setLimit(1)
.build();
RunQueryRequest request = RunQueryRequest.newBuilder().setQuery(query).build();
RunQueryResponse response = datastore.runQuery(request);
for (EntityResult result : response.getBatch().getEntityResultList()) { //Here problem when try to read the values
Map<String, Value> props = getPropertyMap(result.getEntity());
String id = getString(props.get(ID));
String campus = getString(props.get(CAMPUS));
String nome = getString(props.get(NOME));
Date inicioHorario = obtenhaData(getString(props.get(INICIO_HORARIO)));
Date fimHorario = obtenhaData(getString(props.get(FIM_HORARIO)));
listaRetorno.add(new Restaurante(
id,
campus,
nome,
inicioHorario,
fimHorario));
}
if (response.getBatch().getMoreResults() == QueryResultBatch.MoreResultsType.NOT_FINISHED) {
ByteString endCursor = response.getBatch().getEndCursor();
query.setStartCursor(endCursor);
}
return listaRetorno;
} catch (DatastoreException ex) {
Logger.getLogger(RestauranteRepositoryImpl.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
Но ответ на response.getBatch() getEntityResultList() является MORE_RESULTS_AFTER_LIMIT исключение
2- ли кто-нибудь знает, что это за ответ? Где элементы, удовлетворяющие «select»?
Благодаря
Я не могу протестировать его сейчас, но я думаю, что это решит мою проблему, спасибо много (если на самом деле он решит, что я буду продвигать ваш sugestion) – user9787