/** * Update an existing asset category. * * @param context * @param id * @param request * @return * @throws SiteWhereException */ public static IAssetCategory updateAssetCategory(IHBaseContext context, String id, IAssetCategoryCreateRequest request) throws SiteWhereException { AssetCategory updated = assertAssetCategory(context, id); SiteWherePersistence.assetCategoryUpdateLogic(request, updated); return HBaseUtils.put(context, context.getPayloadMarshaler(), ISiteWhereHBase.ASSETS_TABLE_NAME, updated, id, KEY_BUILDER); }
@Override public IAssetCategory updateAssetCategory(String categoryId, IAssetCategoryCreateRequest request) throws SiteWhereException { Document match = assertAssetCategory(categoryId); AssetCategory category = MongoAssetCategory.fromDocument(match); // Use common update logic. SiteWherePersistence.assetCategoryUpdateLogic(request, category); Document updated = MongoAssetCategory.toDocument(category); Document query = new Document(MongoAssetCategory.PROP_ID, categoryId); MongoCollection<Document> categories = getMongoClient().getAssetCategoriesCollection(getTenant()); MongoPersistence.update(categories, query, updated); // Update cache with new data. if (getCacheProvider() != null) { getCacheProvider().getAssetCategoryCache().put(category.getId(), category); } return MongoAssetCategory.fromDocument(updated); }