From: Toine Siebelink Date: Mon, 8 May 2023 09:26:46 +0000 (+0000) Subject: Merge "[CPS] RI: Code Refactoring # Replace '[\s\S]' to '.' as it is same as '.'... X-Git-Tag: 3.3.2~32 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=1be9234c5234883be1e8d66baf7a780fa6be8ccf;hp=ec061d5caba23c76f0cdc183c1f5a37e0c11b6c7;p=cps.git Merge "[CPS] RI: Code Refactoring # Replace '[\s\S]' to '.' as it is same as '.' while grouping in regex # Updated the groovy files to add 'assert' and to replace deprecated method # Removed deprecated 'storeDataNode' method." --- diff --git a/cps-ri/src/main/java/org/onap/cps/spi/entities/FragmentEntity.java b/cps-ri/src/main/java/org/onap/cps/spi/entities/FragmentEntity.java index e696a4064..62c8c19cb 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/entities/FragmentEntity.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/entities/FragmentEntity.java @@ -34,7 +34,6 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; -import javax.persistence.OneToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; @@ -86,7 +85,7 @@ public class FragmentEntity implements Serializable { @JoinColumn(name = "dataspace_id") private DataspaceEntity dataspace; - @OneToOne(fetch = FetchType.LAZY) + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "anchor_id") @EqualsAndHashCode.Include private AnchorEntity anchor; diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java index 16ec270c2..cca5d9c84 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java @@ -343,6 +343,7 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService private static boolean canUseRegexQuickFind(final FetchDescendantsOption fetchDescendantsOption, final CpsPathQuery cpsPathQuery) { return fetchDescendantsOption.equals(FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS) + && !cpsPathQuery.hasAncestorAxis() && !cpsPathQuery.hasLeafConditions() && !cpsPathQuery.hasTextFunctionCondition() && !cpsPathQuery.hasContainsFunctionCondition(); @@ -351,17 +352,12 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService private List getDataNodesUsingRegexQuickFind(final FetchDescendantsOption fetchDescendantsOption, final AnchorEntity anchorEntity, final CpsPathQuery cpsPathQuery) { - Collection fragmentEntities; final String xpathRegex = FragmentQueryBuilder.getXpathSqlRegexForQuickFindWithDescendants(cpsPathQuery); final List fragmentExtracts = (anchorEntity == ALL_ANCHORS) - ? fragmentRepository.quickFindWithDescendantsAcrossAnchor(xpathRegex) : - fragmentRepository.quickFindWithDescendants(anchorEntity.getId(), xpathRegex); - fragmentEntities = FragmentEntityArranger.toFragmentEntityTrees(anchorEntity, fragmentExtracts); - if (cpsPathQuery.hasAncestorAxis()) { - final Collection ancestorXpaths = processAncestorXpath(fragmentEntities, cpsPathQuery); - fragmentEntities = (anchorEntity == ALL_ANCHORS) ? getAncestorFragmentEntitiesAcrossAnchors(cpsPathQuery, - fragmentEntities) : getFragmentEntities(anchorEntity, ancestorXpaths, fetchDescendantsOption); - } + ? fragmentRepository.quickFindWithDescendantsAcrossAnchors(xpathRegex) + : fragmentRepository.quickFindWithDescendants(anchorEntity.getId(), xpathRegex); + final Collection fragmentEntities = + FragmentEntityArranger.toFragmentEntityTrees(anchorEntity, fragmentExtracts); return createDataNodesFromFragmentEntities(fetchDescendantsOption, fragmentEntities); } diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java index 8114f1055..f389467a5 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java @@ -140,5 +140,5 @@ public interface FragmentRepository extends JpaRepository, + " CAST(attributes AS TEXT) AS attributes" + " FROM FRAGMENT WHERE xpath ~ :xpathRegex", nativeQuery = true) - List quickFindWithDescendantsAcrossAnchor(@Param("xpathRegex") String xpathRegex); + List quickFindWithDescendantsAcrossAnchors(@Param("xpathRegex") String xpathRegex); }