Skip to content

Commit

Permalink
Merge pull request #28 from anjagerlach/code_release_0.1.0
Browse files Browse the repository at this point in the history
code contribution for version 0.1.0 of QoD API
  • Loading branch information
hdamker authored Sep 26, 2022
2 parents 13e54ff + afc6335 commit 416f744
Show file tree
Hide file tree
Showing 186 changed files with 93,332 additions and 1 deletion.
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,31 @@
.DS_Store

### Generated files ###
target/
logs/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/

### VS Code ###
.vscode/
178 changes: 178 additions & 0 deletions code/API_code/3gpp/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<artifactId>3gpp</artifactId>
<version>0.1.0</version>

<parent>
<groupId>com.camara</groupId>
<artifactId>qod</artifactId>
<version>0.1.0</version>
</parent>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<type>pom</type>
<version>2.6.1</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<properties>
<swagger-annotations-version>1.5.22</swagger-annotations-version>
<jodatime-version>2.7</jodatime-version>
<springfox-version>2.9.2</springfox-version>
<threetenbp-version>1.3.8</threetenbp-version>
<datatype-threetenbp-version>2.6.4</datatype-threetenbp-version>
<spring-boot-starter-web-version>2.1.0.RELEASE</spring-boot-starter-web-version>
<migbase64-version>2.2</migbase64-version>
<jackson-databind-nullable>0.2.1</jackson-databind-nullable>
<findbugs-jsr305-version>3.0.2</findbugs-jsr305-version>
</properties>

<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger-annotations-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodatime-version}</version>
</dependency>
<dependency>
<groupId>com.brsanthu</groupId>
<artifactId>migbase64</artifactId>
<version>${migbase64-version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot-starter-web-version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${springfox-version}</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>${threetenbp-version}</version>
</dependency>
<dependency>
<groupId>com.github.joschi.jackson</groupId>
<artifactId>jackson-datatype-threetenbp</artifactId>
<version>${datatype-threetenbp-version}</version>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>${jackson-databind-nullable}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${findbugs-jsr305-version}</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<!-- TODO Fix specification so that it works with the latest openapi-generator-maven-plugin -->
<!-- <version>5.3.0</version>-->
<version>4.3.1</version>
<executions>
<execution>
<id>client</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/TS29122_AsSessionWithQoS.yaml</inputSpec>
<generatorName>java</generatorName>
<library>resttemplate</library>
<apiPackage>com.camara.scef.api</apiPackage>
<invokerPackage>com.camara.scef.api</invokerPackage>
<modelPackage>com.camara.scef.api.model</modelPackage>
<configOptions>
<additionalModelTypeAnnotations>@com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL)</additionalModelTypeAnnotations>
</configOptions>
</configuration>
</execution>
<execution>
<id>server</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/TS29122_AsSessionWithQoS.yaml</inputSpec>
<generatorName>spring</generatorName>
<apiPackage>com.camara.scef.api.notifications</apiPackage>
<modelPackage>com.camara.scef.api.model</modelPackage>
<supportingFilesToGenerate>ApiUtil.java</supportingFilesToGenerate>
<configOptions>
<delegatePattern>true</delegatePattern>
</configOptions>
<environmentVariables>
<apis>notifications</apis>
</environmentVariables>
<generateApiTests>false</generateApiTests>
<generateModelTests>false</generateModelTests>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skipTests>true</skipTests>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
</project>
179 changes: 179 additions & 0 deletions code/API_code/3gpp/src/main/resources/TS26512_CommonData.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
openapi: 3.0.0
info:
title: 5GMS Common Data Types
version: 1.0.0
description: |
5GMS Common Data Types
© 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
tags:
- name: 5GMS Common Data Types
description: '5G Media Streaming: Common Data Types'
externalDocs:
description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols'
url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
paths: {}
components:
schemas:
#################################
# Clause 6.4.2: Simple data types
#################################
ResourceId:
type: string
description: String chosen by the 5GMS AF to serve as an identifier in a resource URI.
Percentage:
type: number
minimum: 0.0
maximum: 100.0
#DurationSec is defined in TS29571_CommonData
#DateTime is defined in TS29571_CommonData
#Uri is defined in TS29571_CommonData
Url:
type: string
format: uri
description: Uniform Resource Locator, comforming with the URI Generic Syntax specified in IETF RFC 3986.

#####################################
# Clause 6.4.3: Structured data types
#####################################
IpPacketFilterSet:
type: object
required:
- direction
properties:
srcIp:
type: string
dstIp:
type: string
protocol:
type: integer
srcPort:
type: integer
dstPort:
type: integer
toSTc:
type: string
flowLabel:
type: integer
spi:
type: integer
direction:
type: string

ServiceDataFlowDescription:
type: object
properties:
flowDescription:
$ref: '#/components/schemas/IpPacketFilterSet'
domainName:
type: string

M5QoSSpecification:
type: object
required:
- marBwDlBitRate
- marBwUlBitRate
- mirBwDlBitRate
- mirBwUlBitRate
properties:
marBwDlBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
marBwUlBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
minDesBwDlBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
minDesBwUlBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
mirBwDlBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
mirBwUlBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
desLatency:
type: integer
minimum: 0
desLoss:
type: integer
minimum: 0

M1QoSSpecification:
type: object
properties:
qosReference:
type: string
maxBtrUl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
maxBtrDl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
maxAuthBtrUl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
maxAuthBtrDl:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
defPacketLossRateDl:
type: integer
minimum: 0
defPacketLossRateUl:
type: integer
minimum: 0

ChargingSpecification:
type: object
properties:
sponId:
type: string
sponStatus:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponsoringStatus'
gpsi:
type: array
items:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'

TypedLocation:
type: object
required:
- locationIdentifierType
- location
properties:
locationIdentifierType:
$ref: '#/components/schemas/CellIdentifierType'
location:
type: string

OperationSuccessResponse:
type: object
required:
- success
properties:
success:
type: boolean
reason:
type: string

CellIdentifierType:
anyOf:
- type: string
enum: [CGI, ECGI, NCGI]
- type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
SdfMethod:
anyOf:
- type: string
enum: [5_TUPLE, 2_TUPLE, TYPE_OF_SERVICE_MARKING, FLOW_LABEL, DOMAIN_NAME]
- type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
ProvisioningSessionType:
anyOf:
- type: string
enum: [DOWNLINK, UPLINK]
- type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
Loading

0 comments on commit 416f744

Please sign in to comment.