# ProductAttributeServiceImpl

Element | Missed Instructions | Cov. | Missed Branches | Cov. | Missed | Cxty | Missed | Lines | Missed | Methods
Total | 1,782 of 1,785 | 0% | 190 of 190 | 0% | 127 | 128 | 357 | 358 | 32 | 33
buildWillSaveProductAttributeItems(List, List) |  | 0% |  | 0% | 23 | 23 | 53 | 53 | 1 | 1
checkImportProductSpecItems(List) |  | 0% |  | 0% | 15 | 15 | 32 | 32 | 1 | 1
addProductVersion(ProductAttributeFormDto) |  | 0% |  | 0% | 6 | 6 | 36 | 36 | 1 | 1
saveProductAttributeDetailInfo(ProductAttributeFormDto) |  | 0% |  | 0% | 7 | 7 | 27 | 27 | 1 | 1
activateProductAttributeDetailInfo(ProductAttributeFormDto) |  | 0% |  | 0% | 3 | 3 | 26 | 26 | 1 | 1
getDoActionProductAttributeInfos(ProductAttributeFormDto, String) |  | 0% |  | 0% | 5 | 5 | 16 | 16 | 1 | 1
handleProductVersionStatus(List, String) |  | 0% |  | 0% | 6 | 6 | 16 | 16 | 1 | 1
getAllAddedProductVersionsOfProducts(List) |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 1 | 1
getProcessRrnOfProducts(List) |  | 0% |  | 0% | 6 | 6 | 13 | 13 | 1 | 1
checkAndBuildQueryProductAttributeForm(ProductAttributeFormDto) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1
checkIfHasUnfrozenTimeLimit(List, String, Integer, Long) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1
freezeProductAttributeDetailInfo(ProductAttributeFormDto) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1
unfreezeProductAttributeDetailInfo(ProductAttributeFormDto) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1
lambda$checkIfProductAttributeCanDoActivate$3(StringBuilder, ProductAttributeItem) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1
lambda$checkIfProductAttributeCanDoFreeze$1(StringBuilder, ProductAttributeItem) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1
queryProductAttributeItems(ProductAttributeFormDto) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1
getDoActionProductAttributeItems(List) |  | 0% |  | 0% | 2 | 2 | 8 | 8 | 1 | 1
lambda$checkIfProductAttributeCanDoUnfreeze$2(ProductAttributeItem) |  | 0% |  | n/a | 1 | 1 | 4 | 4 | 1 | 1
checkIfProcessSpecStatusIsActive(Long, Integer) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1
checkIfProductAttributeCanDoFreeze(List) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1
checkIfProductAttributeCanDoActivate(List) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1
lambda$checkIfHasUnfrozenTimeLimit$7(Long, Long, TimeLimitSetup) |  | 0% |  | 0% | 4 | 4 | 2 | 2 | 1 | 1
getDoActionProductAttributeInfoList(long, int, long, String) |  | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1
lambda$queryProductAttributeItems$0(ProductAttributeItemDto, ProductAttributeItemDto) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1
getDoActionProductAttributeInfoList(long, int, long, List, String) |  | 0% |  | n/a | 1 | 1 | 4 | 4 | 1 | 1
lambda$getDoActionProductAttributeInfoList$6(String, ProductAttributeInfo) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1
lambda$getDoActionProductAttributeInfoList$5(String, ProductAttributeInfo) |  | 0% |  | 0% | 4 | 4 | 3 | 3 | 1 | 1
updateStatusOfProductAttribute(TransactionLog, Ecn, List, List, String) |  | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1
activateProduct(TransactionLog, Long, Integer, List) |  | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1
lambda$getDoActionProductAttributeInfoList$4(long, int, long, Integer) |  | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1
queryProductAttributeHistories(ProductAttributeHistoryQueryDto) |  | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1
checkIfProductAttributeCanDoUnfreeze(List) |  | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1
ProductAttributeServiceImpl() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1