Search in sources :

Example 6 with Product

use of com.haulmont.cuba.testmodel.sales_1.Product in project java-vision by googleapis.

the class ProductManagement method updateProductLabels.

// [END vision_product_search_get_product]
// [START vision_product_search_update_product_labels]
/**
 * Update the product labels.
 *
 * @param projectId - Id of the project.
 * @param computeRegion - Region name.
 * @param productId -Id of the product.
 * @param productLabels - Labels of the product.
 * @throws IOException - on I/O errors.
 */
public static void updateProductLabels(String projectId, String computeRegion, String productId, String productLabels) throws IOException {
    try (ProductSearchClient client = ProductSearchClient.create()) {
        // Get the full path of the product.
        String formattedName = ProductSearchClient.formatProductName(projectId, computeRegion, productId);
        // Set product name, product labels and product display name.
        // Multiple labels are also supported.
        Product product = Product.newBuilder().setName(formattedName).addProductLabels(KeyValue.newBuilder().setKey(productLabels.split(",")[0].split("=")[0]).setValue(productLabels.split(",")[0].split("=")[1]).build()).build();
        // Set product update field name.
        FieldMask updateMask = FieldMask.newBuilder().addPaths("product_labels").build();
        // Update the product.
        Product updatedProduct = client.updateProduct(product, updateMask);
        // Display the product information
        System.out.println(String.format("Product name: %s", updatedProduct.getName()));
        System.out.println(String.format("Updated product labels: "));
        for (Product.KeyValue element : updatedProduct.getProductLabelsList()) {
            System.out.println(String.format("%s: %s", element.getKey(), element.getValue()));
        }
    }
}
Also used : ProductSearchClient(com.google.cloud.vision.v1.ProductSearchClient) Product(com.google.cloud.vision.v1.Product) KeyValue(com.google.cloud.vision.v1.Product.KeyValue) FieldMask(com.google.protobuf.FieldMask)

Example 7 with Product

use of com.haulmont.cuba.testmodel.sales_1.Product in project java-vision by googleapis.

the class ProductManagement method createProduct.

// [START vision_product_search_create_product]
/**
 * Create one product.
 *
 * @param projectId - Id of the project.
 * @param computeRegion - Region name.
 * @param productId - Id of the product.
 * @param productDisplayName - Display name of the product.
 * @param productCategory - Category of the product.
 * @throws IOException - on I/O errors.
 */
public static void createProduct(String projectId, String computeRegion, String productId, String productDisplayName, String productCategory) throws IOException {
    try (ProductSearchClient client = ProductSearchClient.create()) {
        // A resource that represents Google Cloud Platform location.
        String formattedParent = ProductSearchClient.formatLocationName(projectId, computeRegion);
        // Create a product with the product specification in the region.
        // Multiple labels are also supported.
        Product myProduct = Product.newBuilder().setName(productId).setDisplayName(productDisplayName).setProductCategory(productCategory).build();
        Product product = client.createProduct(formattedParent, myProduct, productId);
        // Display the product information
        System.out.println(String.format("Product name: %s", product.getName()));
    }
}
Also used : ProductSearchClient(com.google.cloud.vision.v1.ProductSearchClient) Product(com.google.cloud.vision.v1.Product)

Example 8 with Product

use of com.haulmont.cuba.testmodel.sales_1.Product in project java-vision by googleapis.

the class ProductManagement method listProducts.

// [END vision_product_search_create_product]
// [START vision_product_search_list_products]
/**
 * List all products.
 *
 * @param projectId - Id of the project.
 * @param computeRegion - Region name.
 * @throws IOException - on I/O errors.
 */
public static void listProducts(String projectId, String computeRegion) throws IOException {
    try (ProductSearchClient client = ProductSearchClient.create()) {
        // A resource that represents Google Cloud Platform location.
        String formattedParent = ProductSearchClient.formatLocationName(projectId, computeRegion);
        // List all the products available in the region.
        for (Product product : client.listProducts(formattedParent).iterateAll()) {
            // Display the product information
            System.out.println(String.format("\nProduct name: %s", product.getName()));
            System.out.println(String.format("Product id: %s", product.getName().substring(product.getName().lastIndexOf('/') + 1)));
            System.out.println(String.format("Product display name: %s", product.getDisplayName()));
            System.out.println(String.format("Product category: %s", product.getProductCategory()));
            System.out.println("Product labels:");
            System.out.println(String.format("Product labels: %s", product.getProductLabelsList().toString()));
        }
    }
}
Also used : ProductSearchClient(com.google.cloud.vision.v1.ProductSearchClient) Product(com.google.cloud.vision.v1.Product)

Example 9 with Product

use of com.haulmont.cuba.testmodel.sales_1.Product in project java-vision by googleapis.

the class ProductManagement method getProduct.

// [END vision_product_search_list_products]
// [START vision_product_search_get_product]
/**
 * Get information about a product.
 *
 * @param projectId - Id of the project.
 * @param computeRegion - Region name.
 * @param productId - Id of the product.
 * @throws IOException - on I/O errors.
 */
public static void getProduct(String projectId, String computeRegion, String productId) throws IOException {
    try (ProductSearchClient client = ProductSearchClient.create()) {
        // Get the full path of the product.
        String formattedName = ProductSearchClient.formatProductName(projectId, computeRegion, productId);
        // Get complete detail of the product.
        Product product = client.getProduct(formattedName);
        // Display the product information
        System.out.println(String.format("Product name: %s", product.getName()));
        System.out.println(String.format("Product id: %s", product.getName().substring(product.getName().lastIndexOf('/') + 1)));
        System.out.println(String.format("Product display name: %s", product.getDisplayName()));
        System.out.println(String.format("Product description: %s", product.getDescription()));
        System.out.println(String.format("Product category: %s", product.getProductCategory()));
        System.out.println(String.format("Product labels: "));
        for (Product.KeyValue element : product.getProductLabelsList()) {
            System.out.println(String.format("%s: %s", element.getKey(), element.getValue()));
        }
    }
}
Also used : ProductSearchClient(com.google.cloud.vision.v1.ProductSearchClient) Product(com.google.cloud.vision.v1.Product) KeyValue(com.google.cloud.vision.v1.Product.KeyValue)

Example 10 with Product

use of com.haulmont.cuba.testmodel.sales_1.Product in project java-vision by googleapis.

the class ITSystemTest method listProductsInProductSetTest.

@Test
public void listProductsInProductSetTest() {
    ListProductsInProductSetRequest request = ListProductsInProductSetRequest.newBuilder().setName(formatProductSetName).build();
    for (Product actualProduct : productSearchClient.listProductsInProductSet(request).iterateAll()) {
        assertEquals(product.getName(), actualProduct.getName());
        assertEquals(PRODUCT_DISPLAY_NAME, actualProduct.getDisplayName());
        assertEquals(PRODUCT_CATEGORY, actualProduct.getProductCategory());
    }
}
Also used : ListProductsInProductSetRequest(com.google.cloud.vision.v1.ListProductsInProductSetRequest) Product(com.google.cloud.vision.v1.Product) Test(org.junit.Test)

Aggregations

Product (com.google.cloud.retail.v2.Product)20 Product (com.google.cloud.vision.v1.Product)10 SetupCleanup.deleteProduct (setup.SetupCleanup.deleteProduct)9 ProductServiceClient (com.google.cloud.retail.v2.ProductServiceClient)8 SetupCleanup.createProduct (setup.SetupCleanup.createProduct)6 ProductSearchClient (com.google.cloud.vision.v1.ProductSearchClient)5 Product (com.haulmont.cuba.testmodel.sales_1.Product)5 Test (org.junit.jupiter.api.Test)5 ByteArrayOutputStream (java.io.ByteArrayOutputStream)4 PrintStream (java.io.PrintStream)4 Before (org.junit.Before)4 Test (org.junit.Test)4 NotFoundException (com.google.api.gax.rpc.NotFoundException)3 CreateProductRequest (com.google.cloud.retail.v2.CreateProductRequest)3 GetProductRequest (com.google.cloud.retail.v2.GetProductRequest)3 QueryRunner (com.haulmont.bali.db.QueryRunner)3 Id (com.haulmont.cuba.core.entity.contracts.Id)3 com.haulmont.cuba.core.global (com.haulmont.cuba.core.global)3 TestContainer (com.haulmont.cuba.testsupport.TestContainer)3 Assertions (org.junit.jupiter.api.Assertions)3