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();
}
}
}
Aggregations