diff options
Diffstat (limited to 'sparkybe-onap-application')
16 files changed, 503 insertions, 62 deletions
diff --git a/sparkybe-onap-application/config/application.properties b/sparkybe-onap-application/config/application.properties index cdebe11..e96247c 100644 --- a/sparkybe-onap-application/config/application.properties +++ b/sparkybe-onap-application/config/application.properties @@ -1,3 +1,6 @@ +APP_HOME=. +CONFIG_HOME=./config + # # disable the default thyme leaf icon on web-pages # @@ -25,4 +28,62 @@ searchservice.truststore=tomcat_keystore spring.mvc.favicon.enabled=false -schema.ingest.file=${CONFIG_HOME}/schemaIngest.properties
\ No newline at end of file +schema.ingest.file=${CONFIG_HOME}/schemaIngest.properties + +# Properties for the SchemaLocationsBean +# Files named aai_oxm_v*.xml are unpacked here: +# Schema Version Related Attributes +schema.uri.base.path=/aai +# Lists all of the versions in the schema +schema.version.list=v9,v10,v11,v12,v13,v14 +# Specifies from which version should the depth parameter to default to zero +schema.version.depth.start=v10 +# Specifies from which version should the related link be displayed in response payload +schema.version.related.link.start=v10 +# Specifies from which version should the client see only the uri excluding host info +# Before this version server base will also be included +schema.version.app.root.start=v11 +# Specifies from which version should the namespace be changed +schema.version.namespace.change.start=v12 +# Specifies from which version should the client start seeing the edge label in payload +schema.version.edge.label.start=v12 +# Specifies the version that the application should default to +schema.version.api.default=v14 + +# Schema Location Related Attributes +schema.configuration.location=NA + +# New propterties required by the aai-common - aai-schema-ingest lib as of 1.3.0 +schema.configuration.location=N/A +schema.nodes.location=${APP_HOME}/onap/oxm +schema.edges.location= + +# Setting this values to ${oxm.apiVersion} only to ensure the value used exists (we don't use this properties in our application) +# schema.version.depth.start=${oxm.apiVersion} +# schema.version.related.link.start=${oxm.apiVersion} +# schema.version.app.root.start=${oxm.apiVersion} +# schema.version.namespace.change.start=${oxm.apiVersion} +# schema.version.edge.label.start=${oxm.apiVersion} + +# Properties required by AAI Schema Service MS +schema.translator.list=config +schema.service.base.url=${oxm.schemaServiceBaseUrl} +schema.service.nodes.endpoint=nodes?version= +schema.service.edges.endpoint=edgerules?version= +schema.service.versions.endpoint=versions +schema.local=true +schema.filename=mockrequests +#Default rest client is the two-way-ssl +#schema.service.client=two-way-ssl +#Replace the below with the A&AI client key store +schema.service.ssl.key-store=${oxm.schemaServiceKeystore} +#Replace the below with the A&AI tomcat trust store +schema.service.ssl.trust-store=${oxm.schemaServiceTruststore} +schema.service.ssl.key-store-password=${oxm.schemaServiceKeystorePassword} +schema.service.ssl.trust-store-password=${oxm.schemaServiceTruststorePassword} + +spring.application.name=sparky + +nodeDir=src/main/resources/schema/onap/oxm/ +edgeDir=src/main/resources/schema/onap/oxm +schemaIngestPropLoc=src/main/resources/schema/onap/oxm
\ No newline at end of file diff --git a/sparkybe-onap-application/config/logging/logback.xml b/sparkybe-onap-application/config/logging/logback.xml index 3d132b7..0838bda 100644 --- a/sparkybe-onap-application/config/logging/logback.xml +++ b/sparkybe-onap-application/config/logging/logback.xml @@ -164,8 +164,8 @@ <logger name="ch.qos.logback.classic" level="WARN" /> <logger name="ch.qos.logback.core" level="WARN" /> - <root> - <appender-ref ref="asyncEELF" /> + <root level="INFO"> + <appender-ref ref="STDOUT" /> <!-- <appender-ref ref="asyncEELFDebug" /> --> </root> diff --git a/sparkybe-onap-application/config/schemaIngest.properties b/sparkybe-onap-application/config/schemaIngest.properties index f88a7ef..e69de29 100644 --- a/sparkybe-onap-application/config/schemaIngest.properties +++ b/sparkybe-onap-application/config/schemaIngest.properties @@ -1,57 +0,0 @@ -# Properties for the SchemaLocationsBean -# Files named aai_oxm_v*.xml are unpacked here: -# Schema Version Related Attributes -schema.uri.base.path=/aai -# Lists all of the versions in the schema -schema.version.list=v9,v10,v11,v12,v13,v14 -# Specifies from which version should the depth parameter to default to zero -schema.version.depth.start=v10 -# Specifies from which version should the related link be displayed in response payload -schema.version.related.link.start=v10 -# Specifies from which version should the client see only the uri excluding host info -# Before this version server base will also be included -schema.version.app.root.start=v11 -# Specifies from which version should the namespace be changed -schema.version.namespace.change.start=v12 -# Specifies from which version should the client start seeing the edge label in payload -schema.version.edge.label.start=v12 -# Specifies the version that the application should default to -schema.version.api.default=v14 - -# Schema Location Related Attributes -schema.configuration.location=NA - -# New propterties required by the aai-common - aai-schema-ingest lib as of 1.3.0 -schema.configuration.location=N/A -schema.nodes.location=${oxm.schemaNodeDir} -schema.edges.location= -# These versions need to exist if they are included in the list -schema.version.list=${oxm.apiVersionList} -# Decalares the oxm version to load -schema.version.api.default=${oxm.apiVersion} - -# Setting this values to ${oxm.apiVersion} only to ensure the value used exists (we don't use this properties in our application) -schema.version.depth.start=${oxm.apiVersion} -schema.version.related.link.start=${oxm.apiVersion} -schema.version.app.root.start=${oxm.apiVersion} -schema.version.namespace.change.start=${oxm.apiVersion} -schema.version.edge.label.start=${oxm.apiVersion} - -# Properties required by AAI Schema Service MS -schema.translator.list=config -schema.service.base.url=${oxm.schemaServiceBaseUrl} -schema.service.nodes.endpoint=nodes?version= -schema.service.edges.endpoint=edgerules?version= -schema.service.versions.endpoint=versions -schema.local=true -schema.filename=mockrequests -#Default rest client is the two-way-ssl -#schema.service.client=two-way-ssl -#Replace the below with the A&AI client key store -schema.service.ssl.key-store=${oxm.schemaServiceKeystore} -#Replace the below with the A&AI tomcat trust store -schema.service.ssl.trust-store=${oxm.schemaServiceTruststore} -schema.service.ssl.key-store-password=${oxm.schemaServiceKeystorePassword} -schema.service.ssl.trust-store-password=${oxm.schemaServiceTruststorePassword} - -spring.application.name=sparky
\ No newline at end of file diff --git a/sparkybe-onap-application/config/spring-beans/oxm-reader-bean.xml b/sparkybe-onap-application/config/spring-beans/oxm-reader-bean.xml new file mode 100644 index 0000000..74a291c --- /dev/null +++ b/sparkybe-onap-application/config/spring-beans/oxm-reader-bean.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + + <context:property-placeholder location="file:${schemaIngestPropLoc}" ignore-unresolvable="true" /> + + <bean id="filtersConfig" class="org.onap.aai.sparky.search.filters.config.FiltersConfig"> + + </bean> + + <bean id="sparkyResourceLoader" class="org.onap.aai.sparky.config.SparkyResourceLoader"> + <property name="configHomeEnvVar" value="${CONFIG_HOME}" /> + </bean> + + <bean id="crossEntityReferenceLookup" + class="org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup" /> + + <bean id="oxmEntityLookup" class="org.onap.aai.sparky.config.oxm.OxmEntityLookup" /> + + + <bean id="suggestionEntityLookup" class="org.onap.aai.sparky.config.oxm.SuggestionEntityLookup"> + <constructor-arg ref="filtersConfig" /> + </bean> + <bean id="oxmModelProcessorSet" class="org.springframework.beans.factory.config.SetFactoryBean"> + <property name="targetSetClass" value="java.util.HashSet" /> + <property name="sourceSet"> + <set> + <ref bean="oxmEntityLookup" /> + </set> + </property> + </bean> + + <bean id="schemaLocationsBean" class="org.onap.aai.setup.SchemaLocationsBean"> + <!-- When running with AJSC these properties must be injected directly. + The reason for this is unknown. --> + <property name="nodeDirectory" value="${nodeDir}" /> + <property name="edgeDirectory" value="${edgeDir}" /> + </bean> + + <bean id="schemaVersions" class="org.onap.aai.setup.SchemaVersions" /> + + <bean id="oxmConfigTranslator" class="org.onap.aai.setup.AAIConfigTranslator"> + <constructor-arg ref="schemaLocationsBean" /> + <constructor-arg ref="schemaVersions" /> + </bean> + + <bean id="nodeIngestor" class="org.onap.aai.nodes.NodeIngestor"> + <constructor-arg ref="oxmConfigTranslator" /> + </bean> + + + <bean id="oxmModelLoader" class="org.onap.aai.sparky.config.oxm.OxmModelLoader" + init-method="loadModel"> + <!-- <constructor-arg name="apiVersionOverride" value="V11" /> --> + <constructor-arg ref="oxmModelProcessorSet" /> + <constructor-arg ref="schemaVersions" /> + </bean> + +</beans>
\ No newline at end of file diff --git a/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml b/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml index a210d12..c182c98 100644 --- a/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml +++ b/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml @@ -39,7 +39,7 @@ class="org.onap.aai.sparky.search.registry.SearchProviderRegistry" /> <bean id="sparkyResourceLoader" class="org.onap.aai.sparky.config.SparkyResourceLoader"> - <property name="configHomeEnvVar" value="CONFIG_HOME" /> + <property name="configHomeEnvVar" value="${CONFIG_HOME}" /> </bean> <bean id="unifiedSearchProcessor" class="org.onap.aai.sparky.search.UnifiedSearchProcessor"> diff --git a/sparkybe-onap-application/pom.xml b/sparkybe-onap-application/pom.xml index 3b0301b..1d7d3b0 100644 --- a/sparkybe-onap-application/pom.xml +++ b/sparkybe-onap-application/pom.xml @@ -37,6 +37,7 @@ <aai.docker.namespace>onap</aai.docker.namespace> <aai.base.image>alpine</aai.base.image> <aai.base.image.version>1.13.2</aai.base.image.version> + <jacoco.line.coverage.limit>0.10</jacoco.line.coverage.limit> <!-- This will be used for the docker images as the default format of maven build has issues --> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> </properties> @@ -94,6 +95,11 @@ </dependency> <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + </dependency> + + <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-restlet</artifactId> <exclusions> @@ -287,6 +293,13 @@ </exclusions> </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>1.18.30</version> + <scope>provided</scope> + </dependency> + <!-- Test dependencies --> <dependency> @@ -534,7 +547,7 @@ </execution> <execution> <id>unpack</id> - <phase>prepare-package</phase> + <phase>initialize</phase> <goals> <goal>unpack</goal> </goals> @@ -548,6 +561,14 @@ <includes>/${shemaUnpackVersion}/oxm/</includes> <outputDirectory>${aai.build.directory}</outputDirectory> </artifactItem> + <artifactItem> + <groupId>org.onap.aai.schema-service</groupId> + <artifactId>aai-schema</artifactId> + <version>${version.aai-schema}</version> + <type>jar</type> + <outputDirectory>${project.basedir}/src/main/resources/schema/</outputDirectory> + <includes>**/oxm/**/*.xml</includes> + </artifactItem> </artifactItems> </configuration> </execution> diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/aggregatevnf/AggregateSummaryProcessorTest.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/aggregatevnf/AggregateSummaryProcessorTest.java new file mode 100644 index 0000000..f6a88aa --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/aggregatevnf/AggregateSummaryProcessorTest.java @@ -0,0 +1,95 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.aggregatevnf; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.onap.aai.restclient.client.OperationResult; +import org.onap.aai.sparky.entities.Aggregation; +import org.onap.aai.sparky.entities.AggregationFilter; +import org.onap.aai.sparky.entities.AggregationResult; +import org.onap.aai.sparky.entities.AggregationsResponse; +import org.onap.aai.sparky.entities.SearchServiceAggregationsResponse; +import org.onap.aai.sparky.entities.Bucket; +import org.onap.aai.sparky.entities.BucketResponse; +import org.onap.aai.sparky.entities.FilterAggregationRequest; +import org.onap.aai.sparky.entities.SearchResult; +import org.onap.aai.sparky.search.SearchServiceAdapter; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.boot.test.web.client.TestRestTemplate; +import org.springframework.http.ResponseEntity; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.web.client.RestClientException; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +@ActiveProfiles({"oxm-default","oxm-schema-dev", "camel","fe-dev"}) +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) +public class AggregateSummaryProcessorTest { + + ObjectMapper objectMapper = new ObjectMapper(); + + @MockBean SearchServiceAdapter searchServiceAdapter; + @Mock OperationResult operationResult; + + @Autowired + private TestRestTemplate restTemplate; + + @Value("${schema.ingest.file}") String schemaIngestFileLocation; + + @Test + public void someTest() throws RestClientException, JsonProcessingException { + when(searchServiceAdapter.doPost(Mockito.any(), Mockito.any())).thenReturn(operationResult); + when(operationResult.wasSuccessful()).thenReturn(true); + + List<Aggregation> aggregationList = Arrays.asList(new Aggregation("someAggregation", Arrays.asList(new Bucket(1L,"someKey")))); + SearchServiceAggregationsResponse searchServiceAggregationsResponse = new SearchServiceAggregationsResponse(new SearchResult(1L), new AggregationResult(aggregationList), 1L); + when(operationResult.getResult()).thenReturn(objectMapper.writeValueAsString(searchServiceAggregationsResponse)); + + Map<String,String> params = new HashMap<String,String>(); + AggregationFilter filter = new AggregationFilter("1","someOrchestrationStatus"); + FilterAggregationRequest request = new FilterAggregationRequest(Arrays.asList(filter)); + + ResponseEntity<AggregationsResponse> response = restTemplate.postForEntity("/rest/search/filterAggregation", objectMapper.writeValueAsString(request), AggregationsResponse.class); + AggregationsResponse aggregationsResponse = response.getBody(); + assertEquals(1L, aggregationsResponse.getTotal()); + BucketResponse bucket = aggregationsResponse.getAggregations().get("someAggregation").get(0); + assertEquals("someKey", bucket.getKey()); + assertEquals(0, bucket.getDocCount()); + + } +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/Aggregation.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/Aggregation.java new file mode 100644 index 0000000..2ad0b44 --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/Aggregation.java @@ -0,0 +1,30 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import java.util.List; + +import lombok.Value; + +@Value +public class Aggregation { + String name; + List<Bucket> buckets; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationFilter.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationFilter.java new file mode 100644 index 0000000..5d4ba6c --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationFilter.java @@ -0,0 +1,28 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import lombok.Value; + +@Value +public class AggregationFilter { + String filterId; + String filterValue; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationResult.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationResult.java new file mode 100644 index 0000000..5f353ad --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationResult.java @@ -0,0 +1,29 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import java.util.List; + +import lombok.Value; + +@Value +public class AggregationResult { + List<Aggregation> aggregations; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationsResponse.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationsResponse.java new file mode 100644 index 0000000..9675fff --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/AggregationsResponse.java @@ -0,0 +1,31 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import java.util.List; +import java.util.Map; + +import lombok.Data; + +@Data +public class AggregationsResponse { + long total; + Map<String, List<BucketResponse>> aggregations; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/Bucket.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/Bucket.java new file mode 100644 index 0000000..8dcf388 --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/Bucket.java @@ -0,0 +1,28 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import lombok.Value; + +@Value +public class Bucket { + long count; + String key; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/BucketResponse.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/BucketResponse.java new file mode 100644 index 0000000..ff07df5 --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/BucketResponse.java @@ -0,0 +1,28 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import lombok.Data; + +@Data +public class BucketResponse { + long docCount; + String key; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/FilterAggregationRequest.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/FilterAggregationRequest.java new file mode 100644 index 0000000..5733f8d --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/FilterAggregationRequest.java @@ -0,0 +1,29 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import java.util.List; + +import lombok.Value; + +@Value +public class FilterAggregationRequest { + List<AggregationFilter> filters; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/SearchResult.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/SearchResult.java new file mode 100644 index 0000000..0e405b3 --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/SearchResult.java @@ -0,0 +1,27 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import lombok.Value; + +@Value +public class SearchResult { + long totalHits; +} diff --git a/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/SearchServiceAggregationsResponse.java b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/SearchServiceAggregationsResponse.java new file mode 100644 index 0000000..a25df4c --- /dev/null +++ b/sparkybe-onap-application/src/test/java/org/onap/aai/sparky/entities/SearchServiceAggregationsResponse.java @@ -0,0 +1,29 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2024 Deutsche Telekom Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.sparky.entities; + +import lombok.Value; + +@Value +public class SearchServiceAggregationsResponse { + SearchResult searchResult; + AggregationResult aggregationResult; + long totalHits; +} |