Search in sources :

Example 21 with Datastore

use of com.google.cloud.datastore.Datastore in project google-cloud-java by GoogleCloudPlatform.

the class DatastoreExample method main.

@SuppressWarnings("unchecked")
public static void main(String... args) throws Exception {
    String projectId = args.length > 0 ? args[0] : null;
    // If you want to access a local Datastore running via the Google Cloud SDK, do
    //   DatastoreOptions options = DatastoreOptions.newBuilder()
    //       .setProjectId(projectId)
    //       .setNamespace(NAMESPACE)
    //       // change 8080 to the port that the emulator listens to
    //       .setHost("http://localhost:8080")
    //       .build();
    DatastoreOptions options = DatastoreOptions.newBuilder().setProjectId(projectId).setNamespace(NAMESPACE).build();
    String name = args.length > 1 ? args[1] : System.getProperty("user.getName");
    Datastore datastore = options.getService();
    KeyFactory keyFactory = datastore.newKeyFactory().setKind(USER_KIND);
    Key key = keyFactory.newKey(name);
    String actionName = args.length > 2 ? args[2].toLowerCase() : DEFAULT_ACTION;
    DatastoreAction action = ACTIONS.get(actionName);
    if (action == null) {
        System.out.println("Unrecognized action.");
        printUsage();
        return;
    }
    args = args.length > 3 ? Arrays.copyOfRange(args, 3, args.length) : new String[] {};
    Transaction tx = datastore.newTransaction();
    Object request;
    try {
        request = action.parse(args);
    } catch (IllegalArgumentException ex) {
        System.out.printf("Invalid input for action '%s'. %s%n", actionName, ex.getMessage());
        System.out.printf("Expected: %s%n", action.params());
        return;
    } catch (Exception ex) {
        System.out.println("Failed to parse request.");
        ex.printStackTrace();
        return;
    }
    try {
        action.run(tx, key, request);
        tx.commit();
    } finally {
        if (tx.isActive()) {
            tx.rollback();
        }
    }
}
Also used : Datastore(com.google.cloud.datastore.Datastore) Transaction(com.google.cloud.datastore.Transaction) DatastoreOptions(com.google.cloud.datastore.DatastoreOptions) KeyFactory(com.google.cloud.datastore.KeyFactory) Key(com.google.cloud.datastore.Key) IncompleteKey(com.google.cloud.datastore.IncompleteKey)

Aggregations

Datastore (com.google.cloud.datastore.Datastore)21 Key (com.google.cloud.datastore.Key)19 IncompleteKey (com.google.cloud.datastore.IncompleteKey)17 Entity (com.google.cloud.datastore.Entity)16 FullEntity (com.google.cloud.datastore.FullEntity)15 KeyFactory (com.google.cloud.datastore.KeyFactory)11 Response (com.google.cloud.datastore.Transaction.Response)2 DatastoreException (com.google.cloud.datastore.DatastoreException)1 DatastoreOptions (com.google.cloud.datastore.DatastoreOptions)1 Transaction (com.google.cloud.datastore.Transaction)1 Test (org.junit.Test)1