use of com.teachMeSkills.an15.MatveevArtyom.hw6.Inheritance.task3.Product in project cuba by cuba-platform.
the class TransactionalActionUsageTest method testOnFailAction.
@Test
public void testOnFailAction() {
EntitySet entities = transactionalActionFactory.getTransactionalAction().withCommitContext(() -> {
CommitContext cc = new CommitContext();
Product p = metadata.create(Product.class);
p.setName("test");
p.setQuantity(100);
p.setId(null);
cc.addInstanceToCommit(p);
return cc;
}).onFail((cc, t) -> {
messageFromOnFailAction = "[testOnFailAction] commit failed";
}).perform();
assertNull(entities);
assertEquals("[testOnFailAction] commit failed", messageFromOnFailAction);
}
use of com.teachMeSkills.an15.MatveevArtyom.hw6.Inheritance.task3.Product in project cuba by cuba-platform.
the class TransactionalActionUsageTest method testAllActions.
@Test
public void testAllActions() {
EntitySet entities = transactionalDataManager.commitAction(() -> {
CommitContext cc = new CommitContext();
Product p = transactionalDataManager.create(Product.class);
p.setName("allActionsTest");
p.setQuantity(100);
cc.addInstanceToCommit(p);
return cc;
}).onSuccess(es -> {
es.stream().filter(e -> Product.class.equals(e.getMetaClass().getJavaClass())).forEach(e -> ((Product) e).setName("onSuccessName"));
}).onFail((cc, t) -> {
messageFromOnFailAction = "[testAllActions] commit failed";
}).afterCompletion(cc -> {
messageFromAfterCommitAction = "[testAllActions] transaction ended";
}).perform();
Product product = (Product) entities.stream().filter(e -> Product.class.equals(e.getMetaClass().getJavaClass())).findFirst().orElse(null);
assertNotNull(product);
assertEquals("onSuccessName", product.getName());
Product productFromDb = transactionalDataManager.load(Id.of(product)).one();
assertNotNull(productFromDb);
assertEquals("allActionsTest", productFromDb.getName());
assertNotEquals("[testAllActions] commit failed", messageFromOnFailAction);
assertEquals("[testAllActions] transaction ended", messageFromAfterCommitAction);
}
use of com.teachMeSkills.an15.MatveevArtyom.hw6.Inheritance.task3.Product in project java-retail by googleapis.
the class CrudProduct method getProduct.
// get product
public static Product getProduct(String productName) throws IOException {
Product product = Product.newBuilder().build();
GetProductRequest getProductRequest = GetProductRequest.newBuilder().setName(productName).build();
try (ProductServiceClient serviceClient = ProductServiceClient.create()) {
product = serviceClient.getProduct(getProductRequest);
System.out.println("Get product response: " + product);
return product;
} catch (NotFoundException e) {
System.out.printf("Product %s not found", productName);
return product;
}
}
use of com.teachMeSkills.an15.MatveevArtyom.hw6.Inheritance.task3.Product in project java-retail by googleapis.
the class CrudProduct method updateProduct.
// update product
public static void updateProduct(Product originalProduct, String productName) throws IOException {
UpdateProductRequest updateProductRequest = UpdateProductRequest.newBuilder().setProduct(generateProductForUpdate(originalProduct.getId(), productName)).setAllowMissing(true).build();
System.out.printf("Update product request: %s%n", updateProductRequest);
try (ProductServiceClient serviceClient = ProductServiceClient.create()) {
Product updatedProduct = serviceClient.updateProduct(updateProductRequest);
System.out.printf("Updated product: %s%n", updatedProduct);
}
}
use of com.teachMeSkills.an15.MatveevArtyom.hw6.Inheritance.task3.Product in project java-retail by googleapis.
the class CrudProduct method createProduct.
// call the Retail API to create product
public static Product createProduct(String productId, String branchName) throws IOException {
CreateProductRequest createProductRequest = CreateProductRequest.newBuilder().setProduct(generateProduct()).setProductId(productId).setParent(branchName).build();
System.out.printf("Create product request: %s%n", createProductRequest);
Product createdProduct = ProductServiceClient.create().createProduct(createProductRequest);
System.out.printf("Created product: %s%n", createdProduct);
return createdProduct;
}
Aggregations