Commit e51adf3f authored by Kostis Trantzas's avatar Kostis Trantzas
Browse files

Merge branch 'develop' into 'main'

Merging "develop" to "main" branch

See merge request !77
parents 1e625da9 93ae6204
Loading
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
FROM ibm-semeru-runtimes:open-17.0.7_7-jdk
# RUN mkdir /opt/shareclasses
RUN mkdir -p /opt/openslice/lib/
COPY target/org.etsi.osl.tmf.api-1.1.0-exec.jar /opt/openslice/lib/
CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/openslice/lib/org.etsi.osl.tmf.api-1.1.0-exec.jar"]
COPY target/org.etsi.osl.tmf.api-1.2.0-exec.jar /opt/openslice/lib/
CMD ["java", "-Xshareclasses:cacheDir=/opt/shareclasses", "-jar", "/opt/openslice/lib/org.etsi.osl.tmf.api-1.2.0-exec.jar"]
EXPOSE 13082
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
	<parent>
		<groupId>org.etsi.osl</groupId>
		<artifactId>org.etsi.osl.main</artifactId>
		<version>2024Q4</version>
		<version>2025Q2</version>
		<relativePath>../org.etsi.osl.main</relativePath>
	</parent>

@@ -305,7 +305,7 @@
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>test</scope>
			<version>2.3.232</version>
		</dependency>
		<dependency>
			<groupId>org.apache.activemq</groupId>
+1 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ public class BootstrapRepository {
		} else { //check if we have the latest version of GST
			if (ADDGST) {
				ServiceCategory scategory = this.categRepoService.findByName("Generic Services");
				ServiceSpecification serviceSpecificationObj = this.specRepoService.findByNameAndVersion( GST_EXAMPLE_NAME , "5.0.0");
				ServiceSpecification serviceSpecificationObj = this.specRepoService.findByNameAndVersion( GST_EXAMPLE_NAME , "10.0.0");
				
				if ( ( scategory != null ) &&  ( serviceSpecificationObj == null ))
				{
+34 −1
Original line number Diff line number Diff line
@@ -830,7 +830,7 @@ public GroupedOpenApi pim637() {
		 SpringDocUtils.getConfig().replaceWithClass(java.time.OffsetDateTime.class, java.util.Date.class);
		 
	    return GroupedOpenApi.builder()
	    		.group("OpensliceLCMRulesspecificationAPI")
	    		.group("OpenSliceLCMRulesspecificationAPI")
	    		.addOpenApiCustomizer( this.lcmOpenAPI() )
	    		.packagesToScan("org.etsi.osl.tmf.lcm.api")
	    		.build();
@@ -949,6 +949,39 @@ public GroupedOpenApi pim637() {
  }


  	/**
	 * Metrics
	 * @return
	 */
	@Bean
	public OpenApiCustomizer metricsOpenAPI() {
		return openApi -> openApi
				.specVersion( SpecVersion.V30 ).addSecurityItem(new SecurityRequirement().addList("security_auth")) 
				.info(new Info().title("OpenSlice Metrics API")
						.description("OpenAPI environment for OpenSlice Metrics")
						.version("4.0.0")
						.license(new License()
								.name("Apache 2.0")
								.url("https://osl.etsi.org")))
				.externalDocs(new ExternalDocumentation()
						.description("OpenSlice Metrics")
						.url("https://osl.etsi.org"));	             
	  }

    @Bean
    public GroupedOpenApi metrics(){

	  	SpringDocUtils.getConfig().replaceWithClass(java.time.LocalDate.class, java.sql.Date.class);
	  	SpringDocUtils.getConfig().replaceWithClass(java.time.OffsetDateTime.class, java.util.Date.class);
        return GroupedOpenApi.builder()
        		.group("OpenSliceMetricsAPI")
        		.addOpenApiCustomizer( this.metricsOpenAPI() )
        		.packagesToScan("org.etsi.osl.tmf.metrics.api")
        		.build();

    }
	
	
//	@Bean
//    public SecurityConfiguration security() {
//        return SecurityConfigurationBuilder.builder()
+49 −0
Original line number Diff line number Diff line
package org.etsi.osl.tmf.metrics.api;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.etsi.osl.tmf.metrics.PublishedServiceSpecifications;
import org.etsi.osl.tmf.metrics.RegisteredIndividuals;
import org.etsi.osl.tmf.metrics.RegisteredResourceSpecifications;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.Map;

@Tag(name = "GeneralMetricsApi", description = "The General Metrics API")
public interface GeneralMetricsApi {

    Logger log = LoggerFactory.getLogger(GeneralMetricsApi.class);

    @Operation(summary = "Get total number of registered individuals", operationId = "getRegisteredIndividuals")
    @ApiResponses(value = {
            @ApiResponse(responseCode = "200", description = "Success"),
            @ApiResponse(responseCode = "400", description = "Bad Request"),
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    @RequestMapping(value = "/metrics/registeredIndividuals", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<RegisteredIndividuals> getRegisteredIndividuals();

    @Operation(summary = "Get total number of published service specifications", operationId = "getPublishedServiceSpecifications")
    @ApiResponses(value = {
            @ApiResponse(responseCode = "200", description = "Success"),
            @ApiResponse(responseCode = "400", description = "Bad Request"),
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    @RequestMapping(value = "/metrics/publishedServiceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<PublishedServiceSpecifications> getPublishedServiceSpecifications();

    @Operation(summary = "Get total number of registered resource specifications", operationId = "getRegisteredResourceSpecifications")
    @ApiResponses(value = {
            @ApiResponse(responseCode = "200", description = "Success"),
            @ApiResponse(responseCode = "400", description = "Bad Request"),
            @ApiResponse(responseCode = "500", description = "Internal Server Error")
    })
    @RequestMapping(value = "/metrics/registeredResourceSpecifications", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
    ResponseEntity<RegisteredResourceSpecifications> getRegisteredResourceSpecifications();
}
Loading