Class BaSyxPersistenceRecipe

java.lang.Object
de.iip_ecosphere.platform.support.aas.basyx.BaSyxPersistenceRecipe
All Implemented Interfaces:
de.iip_ecosphere.platform.support.aas.PersistenceRecipe

class BaSyxPersistenceRecipe
extends Object
implements de.iip_ecosphere.platform.support.aas.PersistenceRecipe
A persistence recipe for BaSyx AAS. This implementation is internally based on short ids. Limitations:
  • This class does not consider concept descriptions or assets when reading directly from XML.
  • Might be this is not enough for reading models uniquely back directly from XML.
  • Reading of AASX supports only 1 AAS per AASX (BaSyx). Therefore, two classes from BaSyx taken over into IIP-Ecosphere code as they are not sufficiently usable/extensible.
  • Translating AAS shortIds to file names is limited to whitespace replacement, i.e., no Umlauts etc. for now.
  • Written management XML elements in AAS may contain empty xmlns attributes.
Author:
Holger Eichelberger, SSE
  • Field Details

    • RECIPES

      private static final Map<de.iip_ecosphere.platform.support.FileFormat,​de.iip_ecosphere.platform.support.aas.PersistenceRecipe> RECIPES
  • Constructor Details

  • Method Details

    • findMatching

      private de.iip_ecosphere.platform.support.aas.PersistenceRecipe findMatching​(File file)
      Finds a matching PersistenceRecipe against the known recipes and their file formats.
      Parameters:
      file - the file to look for
      Returns:
      the persistence recipe
      Throws:
      IllegalArgumentException - if there is no matching file format/recipe
    • writeTo

      public void writeTo​(List<de.iip_ecosphere.platform.support.aas.Aas> aas, File file) throws IOException
      Specified by:
      writeTo in interface de.iip_ecosphere.platform.support.aas.PersistenceRecipe
      Throws:
      IOException
    • readFrom

      public List<de.iip_ecosphere.platform.support.aas.Aas> readFrom​(File file) throws IOException
      Specified by:
      readFrom in interface de.iip_ecosphere.platform.support.aas.PersistenceRecipe
      Throws:
      IOException
    • getSupportedFormats

      public Collection<de.iip_ecosphere.platform.support.FileFormat> getSupportedFormats()
      Specified by:
      getSupportedFormats in interface de.iip_ecosphere.platform.support.aas.PersistenceRecipe