Ejemplo n.º 1
0
    /**
     * Deserialises a map of Facet keys to Facets from the given PersistenceContext.
     *
     * @param pPersistenceContext For deserialising the Facets.
     * @param pModuleCall ModuleCall to deserialise the Facets for.
     * @param pFacetType Type of Facet to be deserialised.
     * @param pFacetClass Marker class for providing type safety. Deserialised Facets should be
     *     castable to this class.
     * @param <T> Facet type to be returned.
     * @return Map of keys to Facets.
     */
    protected static <T extends ModuleFacet> Map<String, T> deserialiseFacets(
        PersistenceContext pPersistenceContext,
        ModuleCall pModuleCall,
        ModuleFacetType pFacetType,
        Class<T> pFacetClass) {

      Collection<T> lModuleCallFacets =
          pPersistenceContext
              .getDeserialiser()
              .getModuleCallFacets(pModuleCall.getCallId(), pFacetType, pFacetClass);

      Map lFacetMap = new HashMap<String, T>();
      for (ModuleFacet lFacet : lModuleCallFacets) {
        lFacetMap.put(lFacet.getFacetKey(), lFacet);
      }

      return lFacetMap;
    }