Skip to content
Snippets Groups Projects
Select Git revision
  • a81400d35e2d7f79366c39ccd905f14cf326bb1e
  • main default protected
  • Cord-main-patch-12902
  • update-readme
  • release
  • 1.4.0
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • vor-umstellung-auf-rest
  • 1.1.0
  • 1.0.0
14 results

RootController.java

Blame
  • RootController.java 1.92 KiB
    /*
     * Copyright (c) 2024.
     * Lizenziert unter der EUPL, Version 1.2 oder - sobald
     * diese von der Europäischen Kommission genehmigt wurden -
     * Folgeversionen der EUPL ("Lizenz");
     * Sie dürfen dieses Werk ausschließlich gemäß
     * dieser Lizenz nutzen.
     * Eine Kopie der Lizenz finden Sie hier:
     *
     * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
     *
     * Sofern nicht durch anwendbare Rechtsvorschriften
     * gefordert oder in schriftlicher Form vereinbart, wird
     * die unter der Lizenz verbreitete Software "so wie sie
     * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
     * ausdrücklich oder stillschweigend - verbreitet.
     * Die sprachspezifischen Genehmigungen und Beschränkungen
     * unter der Lizenz sind dem Lizenztext zu entnehmen.
     */
    
    package de.ozgcloud.antragsraum;
    
    import static java.util.Objects.*;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.info.BuildProperties;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import lombok.RequiredArgsConstructor;
    
    @RestController(RootController.PATH)
    @RequiredArgsConstructor
    public class RootController {
    
    	static final String PATH = "/"; // NOSONAR
    	private static final String JAVA_VERSION_PROPERTY_NAME = "java.version";
    
    	private final BuildProperties buildProperties;
    	@Value("${ozgcloud.stage.production:#{true}}")
    	private boolean production = true;
    
    	@GetMapping
    	public ResponseEntity<Root> getRoot() {
    		var root = new Root.RootBuilder()
    		  .version(isNull(buildProperties) ? null : buildProperties.getVersion())
    		  .buildTime(isNull(buildProperties) ? null : buildProperties.getTime())
    		  .name(isNull(buildProperties) ? null : buildProperties.getName())
    		  .javaVersion(System.getProperty(JAVA_VERSION_PROPERTY_NAME))
    		  .isProduction(production)
    		  .build();
    
    		return ResponseEntity.ok(root);
    	}
    
    }