de.bund.bva.isyfact.common.web.global.HeaderHelper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of isy-web Show documentation
Show all versions of isy-web Show documentation
Die IsyFact-Standards bilden das architektonische, technologische und methodische
Fundament der IsyFact. Sie umfassen allgemeingültige und wiederverwendbare Konzepte und
Komponenten, die für die Entwicklung beliebiger Fachanwendungen relevant sind.
/*
* See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
* The Federal Office of Administration (Bundesverwaltungsamt, BVA)
* licenses this file to you under the Apache License, Version 2.0 (the
* License). You may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package de.bund.bva.isyfact.common.web.global;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.webflow.context.ExternalContextHolder;
import org.springframework.webflow.core.collection.SharedAttributeMap;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
import de.bund.bva.isyfact.common.web.jsf.components.navigationmenu.Applikationsgruppe;
import de.bund.bva.isyfact.common.web.jsf.components.navigationmenu.NavigationMenuModel;
import de.bund.bva.isyfact.common.web.jsf.components.navigationmenu.konstanten.NavigationMenuKonstanten;
import de.bund.bva.isyfact.common.web.konstanten.KonfigurationSchluessel;
import de.bund.bva.isyfact.konfiguration.common.Konfiguration;
import de.bund.bva.isyfact.konfiguration.common.exception.KonfigurationException;
/**
* Helper class for the header.
*
* @deprecated This module is deprecated and will be removed in a future release.
* It is recommended to use isy-angular-widgets instead.
*/
@Deprecated
@Component
public class HeaderHelper {
/**
* Configuration.
*/
private final Konfiguration konfiguration;
/**
* Mapping URL requests (flows) to application group ids.
*/
private final Map flowToAnwendungsgruppe = new HashMap<>();
@Autowired
public HeaderHelper(Konfiguration konfiguration) {
this.konfiguration = konfiguration;
initialisiereAnwendungsgruppenKonfiguration();
}
/**
* Creates a mapping of URLs to application group IDs.
*/
private void initialisiereAnwendungsgruppenKonfiguration() {
List anwendungsgruppenIds = ermittleAnwendungsgruppenIds();
for (String id : anwendungsgruppenIds) {
for (String url : ermittleAnwendungsgruppenUrls(id)) {
flowToAnwendungsgruppe.put(url, id);
}
}
}
/**
* Determines the color value of the application group.
* The value is taken from the {@link NavigationMenuModel} stored in the session.
* More precisely, the value of the active {@link Applikationsgruppe} is taken.
* If no {@link Applikationsgruppe} is active, then no color is set.
*
* @return the color value of the application group.
*/
public String ermittleFarbwertAnwendungsgruppe() {
SharedAttributeMap