Class DefaultDataHubOutboundService

java.lang.Object
com.hybris.datahub.core.services.impl.DefaultDataHubOutboundService
All Implemented Interfaces:
DataHubOutboundService

public class DefaultDataHubOutboundService extends Object implements DataHubOutboundService
Implementation of the outbound service based on a REST client.
  • Constructor Details

    • DefaultDataHubOutboundService

      public DefaultDataHubOutboundService()
  • Method Details

    • sendToDataHub

      public ResultData sendToDataHub(String feedName, String rawType, Object obj) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Sends the specified Object to the DataHub as a Raw Item in CSV format.

      > Collection are not supported as object properties and will be ignored. Properties with null values will be ignored.

      The object's property names are appended to the CSV header. The string value of the object's properties will be appended to the CSV body.

      Specified by:
      sendToDataHub in interface DataHubOutboundService
      Parameters:
      feedName - the name of the Data Feed
      rawType - the Raw Type to create in the DataHub
      obj - the object to send to Data Hub
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • sendToDataHub

      public ResultData sendToDataHub(String rawType, Object obj) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Sends the specified Object to the DataHub as a Raw Item in CSV format.

      Collection are not supported as object properties and will be ignored. Properties with null values will be ignored.

      The object's property names are appended to the CSV header. The string value of the object's properties will be appended to the CSV body.

      The value of the feedName is defaulted to DEFAULT_FEED.

      Specified by:
      sendToDataHub in interface DataHubOutboundService
      Parameters:
      rawType - the Raw Type to create in the DataHub
      obj - the object to send to Data Hub
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • sendToDataHub

      public ResultData sendToDataHub(String feedName, String rawType, Map<String,Object> objectMap) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Sends the specified Map to the DataHub as a Raw Item in CSV format.

      Collection are not supported as Map.Entry values and will be ignored.

      The Map keys are used as values in the CSV header. The string value of Map.Entry values will be used in the CSV body.

      Specified by:
      sendToDataHub in interface DataHubOutboundService
      Parameters:
      feedName - the name of the Data Feed
      rawType - the Raw Type to create in the DataHub
      objectMap - the Map of key/value pairs to send to Data Hub. The key represents the field name
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • sendToDataHub

      public ResultData sendToDataHub(String rawType, Map<String,Object> objectMap) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Sends the specified Map to the DataHub as a Raw Item in CSV format.

      Collection are not supported as Map.Entry values and will be ignored.

      The value of the feedName is defaulted to DEFAULT_FEED.

      Specified by:
      sendToDataHub in interface DataHubOutboundService
      Parameters:
      rawType - the Raw Type to create in the DataHub
      objectMap - the Map of key/value pairs to send to Data Hub. The key represents the field name
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • sendToDataHub

      public ResultData sendToDataHub(String feedName, String rawType, List<Map<String,Object>> objList) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Sends the specified List of Maps to the DataHub as Raw Items in CSV format.

      Collection are not supported as Map.Entry values and will be ignored.

      CSV header is populated using the keys from the first Map in the List. Each Map in the List should contain the same keys.

      Specified by:
      sendToDataHub in interface DataHubOutboundService
      Parameters:
      feedName - the name of the Data Feed
      rawType - the Raw Type to create in the DataHub
      objList - a List of Maps. Each Map represents one row of CSV data to send to Data Hub.
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • sendToDataHub

      public ResultData sendToDataHub(String rawType, List<Map<String,Object>> objList) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Sends the specified List of Maps to the DataHub as Raw Items in CSV format.

      Collection are not supported as Map.Entry values and will be ignored.

      CSV header is populated using the keys from the first Map in the List. Each Map in the List should contain the same keys.

      The value of the feedName is defaulted to DEFAULT_FEED.

      Specified by:
      sendToDataHub in interface DataHubOutboundService
      Parameters:
      rawType - the Raw Type to create in the DataHub
      objList - a List of Maps. Each Map represents one row of CSV data to send to Data Hub.
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • deleteItem

      public ResultData deleteItem(String poolName, String canonicalItemType, Map<String,String> keyFields) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Deletes item with an integration key comprised of the specified primary keys, of the type specified, in the pool specified on the Data Hub server
      Specified by:
      deleteItem in interface DataHubOutboundService
      Parameters:
      poolName - name of the data pool the item to be deleted resides in
      canonicalItemType - type code for the item to delete
      keyFields - map of primary key attribute names and values to uniquely identify the item to be deleted
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • deleteItem

      public ResultData deleteItem(String canonicalItemType, Map<String,String> keyFields) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Deletes item with an integration key comprised of the specified primary keys, of the type specified, in the GLOBAL pool on the Data Hub server
      Specified by:
      deleteItem in interface DataHubOutboundService
      Parameters:
      canonicalItemType - type code for the item to delete
      keyFields - map of primary key attribute names and values to uniquely identify the item to be deleted
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • deleteByFeed

      public ResultData deleteByFeed(String feedName, String rawItemType) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Deletes all items originating from the data feed and raw type specified
      Specified by:
      deleteByFeed in interface DataHubOutboundService
      Parameters:
      feedName - Name of the data feed the items originated from
      rawItemType - Name of the raw type the items originated from
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • deleteByFeed

      public ResultData deleteByFeed(String rawItemType) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Deletes all items originating from the DEFAULT_FEED on the Data Hub server and raw type specified and the
      Specified by:
      deleteByFeed in interface DataHubOutboundService
      Parameters:
      rawItemType - Name of the raw type the items originated from
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • deleteByFeed

      public ResultData deleteByFeed(String feedName, String rawItemType, Map<String,Object> keyFields) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Deletes all canonical items composed from the specified raw item.
      Specified by:
      deleteByFeed in interface DataHubOutboundService
      Parameters:
      feedName - Name of the data feed item originated from
      rawItemType - Name of the raw type the item originated from
      keyFields - map attribute values for the object to delete. The key in the map is the attribute name, the value is the attribute value. The map must contain at least all primary key attribute values.
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • deleteByFeed

      public ResultData deleteByFeed(String rawItemType, Map<String,Object> keyFields) throws DataHubOutboundException
      Description copied from interface: DataHubOutboundService
      Deletes all canonical items in the default data pool composed from the specified raw item.
      Specified by:
      deleteByFeed in interface DataHubOutboundService
      Parameters:
      rawItemType - Name of the raw type the item originated from
      keyFields - map attribute values for the object to delete. The key in the map is the attribute name, the value is the attribute value. The map must contain at least all primary key attribute values.
      Returns:
      the result of the deletion
      Throws:
      DataHubCommunicationException - if communication with the Data Hub server failed
      DataHubOutboundException - if the Data Hub server was unable to successfully complete the export operation
    • setDataHubOutboundClient

      public void setDataHubOutboundClient(DataHubOutboundClient dataHubOutboundClient)
      Injects Data Hub client to be used for communication with the Data Hub.
      Parameters:
      dataHubOutboundClient - an implementation of the client to use.
    • setCsvUtils

      public void setCsvUtils(OutboundServiceCsvUtils csvUtils)
      Injects the utilities class
      Parameters:
      csvUtils - the utilities implementation to use.