Class RouteSearchAlgorithmImpl

java.lang.Object
org.openwms.tms.routing.routes.RouteSearchAlgorithmImpl
All Implemented Interfaces:
RouteSearchAlgorithm

@Profile("!SIMPLE") @Component class RouteSearchAlgorithmImpl extends Object implements RouteSearchAlgorithm
A RouteSearchAlgorithmImpl is the extended and standard version of the RouteSearchAlgorithm.
Author:
Heiko Scherrer
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • MSG

      public static final String MSG
      See Also:
    • repository

      private final RouteRepository repository
    • locationApi

      private final org.openwms.common.location.api.LocationApi locationApi
    • locationGroupLoader

      private final LocationGroupLoader locationGroupLoader
    • mappingLocationToParent

      private final Map<String,String> mappingLocationToParent
    • allLocationGroups

      private Collection<org.openwms.common.location.api.LocationGroupVO> allLocationGroups
  • Constructor Details

    • RouteSearchAlgorithmImpl

      RouteSearchAlgorithmImpl(RouteRepository repository, org.openwms.common.location.api.LocationApi locationApi, LocationGroupLoader locationGroupLoader)
  • Method Details

    • findBy

      @Cacheable("routes") public Route findBy(String sourceLocation, String targetLocation, String targetLocationGroup)
      Find and return a Route from the given sourceLocation to either the targetLocation or to the targetLocationGroup.
      Specified by:
      findBy in interface RouteSearchAlgorithm
      Parameters:
      sourceLocation - The start point of the TransportOrder
      targetLocation - The target of the TransportOrder as Location
      targetLocationGroup - The target of the TransportOrder as LocationGroup
      Returns:
      A Route, never null
    • findInTargetGroupHierarchy

      private Optional<RouteImpl> findInTargetGroupHierarchy(String sourceLocation, String targetLocationGroup, Collection<org.openwms.common.location.api.LocationGroupVO> allLocationGroups)
    • findInSourceGroupHierarchyWithTargetLocation

      private Optional<RouteImpl> findInSourceGroupHierarchyWithTargetLocation(String sourceLocationGroup, String targetLocation, String targetLocationGroup, Collection<org.openwms.common.location.api.LocationGroupVO> allLocationGroups)
    • findInSourceGroupHierarchy

      private Optional<RouteImpl> findInSourceGroupHierarchy(String sourceLocationGroup, String targetLocationGroup, Collection<org.openwms.common.location.api.LocationGroupVO> allLocationGroups)
    • findInHierarchy

      private Optional<RouteImpl> findInHierarchy(String sourceLocation, String targetLocation, String targetLocationGroupName, Collection<org.openwms.common.location.api.LocationGroupVO> allLocationGroups)
    • findInHierarchy2

      private Optional<RouteImpl> findInHierarchy2(String sourceLocation, String targetLocationGroupName, Collection<org.openwms.common.location.api.LocationGroupVO> allLocationGroups)