Skip to content
Snippets Groups Projects
Select Git revision
  • 26a0e9c3f68f54bdf76c32111b35c3f7af53c0fd
  • main default protected
  • OZG-7985-anfrage-von-landesebene
  • OZG-7985-helm-changes
  • release
  • OZG-8252-gitlab-pipeline
  • OZG-7774-E2E
  • OZG-5120-PoC-Native-Image
  • 1.10.0
  • 1.9.0
  • 1.8.0
  • 1.7.0
  • 1.6.0
  • 1.5.0
  • 1.4.0
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • 1.1.1
  • 1.1.0
  • 1.0.0
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.0
  • 0.3.0
  • 0.2.0
28 results

RootModelAssembler.java

Blame
  • RootModelAssembler.java 1.88 KiB
    /*
     * Copyright (c) 2024. Das Land Schleswig-Holstein vertreten durch das Ministerium für Energiewende, Klimaschutz, Umwelt und Natur
     * Zentrales IT-Management
     *
     * 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.admin;
    
    import org.springframework.boot.autoconfigure.data.rest.RepositoryRestProperties;
    import org.springframework.hateoas.EntityModel;
    import org.springframework.hateoas.Link;
    import org.springframework.hateoas.server.RepresentationModelAssembler;
    import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder;
    import org.springframework.stereotype.Component;
    
    import lombok.RequiredArgsConstructor;
    
    @Component
    @RequiredArgsConstructor
    class RootModelAssembler implements RepresentationModelAssembler<Root, EntityModel<Root>> {
    	static final String REL_CONFIGURATION = "configuration";
    
    	private final RepositoryRestProperties restProperties;
    
    	@Override
    	public EntityModel<Root> toModel(Root root) {
    		var rootLink = WebMvcLinkBuilder.linkTo(RootController.class);
    		var configLink = rootLink.toUriComponentsBuilder().replacePath(restProperties.getBasePath());
    		return EntityModel.of(
    				root,
    				Link.of(configLink.toUriString(), REL_CONFIGURATION),
    				rootLink.withSelfRel()
    		);
    	}
    }