-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
308 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
server/application-server/src/main/java/de/tum/in/www1/hephaestus/meta/MetaController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package de.tum.in.www1.hephaestus.meta; | ||
|
||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
@RestController | ||
@RequestMapping("/meta") | ||
public class MetaController { | ||
|
||
private final MetaService metaService; | ||
|
||
public MetaController(MetaService metaService) { | ||
this.metaService = metaService; | ||
} | ||
|
||
@GetMapping | ||
public ResponseEntity<MetaDataDTO> getMetaData() { | ||
return ResponseEntity.ok(metaService.getMetaData()); | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
server/application-server/src/main/java/de/tum/in/www1/hephaestus/meta/MetaDataDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package de.tum.in.www1.hephaestus.meta; | ||
|
||
import com.fasterxml.jackson.annotation.JsonInclude; | ||
|
||
@JsonInclude(JsonInclude.Include.NON_EMPTY) | ||
public record MetaDataDTO(String[] repositoriesToMonitor) { | ||
|
||
} |
19 changes: 19 additions & 0 deletions
19
server/application-server/src/main/java/de/tum/in/www1/hephaestus/meta/MetaService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package de.tum.in.www1.hephaestus.meta; | ||
|
||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.stereotype.Service; | ||
|
||
@Service | ||
public class MetaService { | ||
private static final Logger logger = LoggerFactory.getLogger(MetaService.class); | ||
|
||
@Value("${monitoring.repositories}") | ||
private String[] repositoriesToMonitor; | ||
|
||
public MetaDataDTO getMetaData() { | ||
logger.info("Getting meta data..."); | ||
return new MetaDataDTO(repositoriesToMonitor); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
157 changes: 157 additions & 0 deletions
157
webapp/src/app/core/modules/openapi/api/meta.service.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
/** | ||
* Hephaestus API | ||
* API documentation for the Hephaestus application server. | ||
* | ||
* The version of the OpenAPI document: 0.0.1 | ||
* Contact: [email protected] | ||
* | ||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
* https://openapi-generator.tech | ||
* Do not edit the class manually. | ||
*/ | ||
/* tslint:disable:no-unused-variable member-ordering */ | ||
|
||
import { Inject, Injectable, Optional } from '@angular/core'; | ||
import { HttpClient, HttpHeaders, HttpParams, | ||
HttpResponse, HttpEvent, HttpParameterCodec, HttpContext | ||
} from '@angular/common/http'; | ||
import { CustomHttpParameterCodec } from '../encoder'; | ||
import { Observable } from 'rxjs'; | ||
|
||
// @ts-ignore | ||
import { MetaDataDTO } from '../model/meta-data-dto'; | ||
|
||
// @ts-ignore | ||
import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; | ||
import { Configuration } from '../configuration'; | ||
import { | ||
MetaServiceInterface | ||
} from './meta.serviceInterface'; | ||
|
||
|
||
|
||
@Injectable({ | ||
providedIn: 'root' | ||
}) | ||
export class MetaService implements MetaServiceInterface { | ||
|
||
protected basePath = 'http://localhost'; | ||
public defaultHeaders = new HttpHeaders(); | ||
public configuration = new Configuration(); | ||
public encoder: HttpParameterCodec; | ||
|
||
constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { | ||
if (configuration) { | ||
this.configuration = configuration; | ||
} | ||
if (typeof this.configuration.basePath !== 'string') { | ||
const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined; | ||
if (firstBasePath != undefined) { | ||
basePath = firstBasePath; | ||
} | ||
|
||
if (typeof basePath !== 'string') { | ||
basePath = this.basePath; | ||
} | ||
this.configuration.basePath = basePath; | ||
} | ||
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); | ||
} | ||
|
||
|
||
// @ts-ignore | ||
private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { | ||
if (typeof value === "object" && value instanceof Date === false) { | ||
httpParams = this.addToHttpParamsRecursive(httpParams, value); | ||
} else { | ||
httpParams = this.addToHttpParamsRecursive(httpParams, value, key); | ||
} | ||
return httpParams; | ||
} | ||
|
||
private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { | ||
if (value == null) { | ||
return httpParams; | ||
} | ||
|
||
if (typeof value === "object") { | ||
if (Array.isArray(value)) { | ||
(value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); | ||
} else if (value instanceof Date) { | ||
if (key != null) { | ||
httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); | ||
} else { | ||
throw Error("key may not be null if value is Date"); | ||
} | ||
} else { | ||
Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( | ||
httpParams, value[k], key != null ? `${key}.${k}` : k)); | ||
} | ||
} else if (key != null) { | ||
httpParams = httpParams.append(key, value); | ||
} else { | ||
throw Error("key may not be null if value is not object or array"); | ||
} | ||
return httpParams; | ||
} | ||
|
||
/** | ||
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||
* @param reportProgress flag to report request and response progress. | ||
*/ | ||
public getMetaData(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<MetaDataDTO>; | ||
public getMetaData(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<MetaDataDTO>>; | ||
public getMetaData(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<MetaDataDTO>>; | ||
public getMetaData(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> { | ||
|
||
let localVarHeaders = this.defaultHeaders; | ||
|
||
let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; | ||
if (localVarHttpHeaderAcceptSelected === undefined) { | ||
// to determine the Accept header | ||
const httpHeaderAccepts: string[] = [ | ||
'application/json' | ||
]; | ||
localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); | ||
} | ||
if (localVarHttpHeaderAcceptSelected !== undefined) { | ||
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); | ||
} | ||
|
||
let localVarHttpContext: HttpContext | undefined = options && options.context; | ||
if (localVarHttpContext === undefined) { | ||
localVarHttpContext = new HttpContext(); | ||
} | ||
|
||
let localVarTransferCache: boolean | undefined = options && options.transferCache; | ||
if (localVarTransferCache === undefined) { | ||
localVarTransferCache = true; | ||
} | ||
|
||
|
||
let responseType_: 'text' | 'json' | 'blob' = 'json'; | ||
if (localVarHttpHeaderAcceptSelected) { | ||
if (localVarHttpHeaderAcceptSelected.startsWith('text')) { | ||
responseType_ = 'text'; | ||
} else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { | ||
responseType_ = 'json'; | ||
} else { | ||
responseType_ = 'blob'; | ||
} | ||
} | ||
|
||
let localVarPath = `/meta`; | ||
return this.httpClient.request<MetaDataDTO>('get', `${this.configuration.basePath}${localVarPath}`, | ||
{ | ||
context: localVarHttpContext, | ||
responseType: <any>responseType_, | ||
withCredentials: this.configuration.withCredentials, | ||
headers: localVarHeaders, | ||
observe: observe, | ||
transferCache: localVarTransferCache, | ||
reportProgress: reportProgress | ||
} | ||
); | ||
} | ||
|
||
} |
33 changes: 33 additions & 0 deletions
33
webapp/src/app/core/modules/openapi/api/meta.serviceInterface.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/** | ||
* Hephaestus API | ||
* API documentation for the Hephaestus application server. | ||
* | ||
* The version of the OpenAPI document: 0.0.1 | ||
* Contact: [email protected] | ||
* | ||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
* https://openapi-generator.tech | ||
* Do not edit the class manually. | ||
*/ | ||
import { HttpHeaders } from '@angular/common/http'; | ||
|
||
import { Observable } from 'rxjs'; | ||
|
||
import { MetaDataDTO } from '../model/models'; | ||
|
||
|
||
import { Configuration } from '../configuration'; | ||
|
||
|
||
|
||
export interface MetaServiceInterface { | ||
defaultHeaders: HttpHeaders; | ||
configuration: Configuration; | ||
|
||
/** | ||
* | ||
* | ||
*/ | ||
getMetaData(extraHttpRequestParams?: any): Observable<MetaDataDTO>; | ||
|
||
} |
17 changes: 17 additions & 0 deletions
17
webapp/src/app/core/modules/openapi/model/meta-data-dto.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/** | ||
* Hephaestus API | ||
* API documentation for the Hephaestus application server. | ||
* | ||
* The version of the OpenAPI document: 0.0.1 | ||
* Contact: [email protected] | ||
* | ||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
* https://openapi-generator.tech | ||
* Do not edit the class manually. | ||
*/ | ||
|
||
|
||
export interface MetaDataDTO { | ||
repositoriesToMonitor?: Array<string>; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.