Interface Scene7Service


  • @ProviderType
    @NotNullApi
    public interface Scene7Service
    The Scene7Service provides methods for interacting with the official Scene7 API.

    • Field Detail

      • CONTAINER

        static final int CONTAINER
        Scene7 specification used in getAssociatedAssets - Array of set and template assets containing the specified asset.
        See Also:
        Constant Field Values
      • MEMBER

        static final int MEMBER
        Scene7 specification used in getAssociatedAssets - Array of assets contained by the specified set or template asset.
        See Also:
        Constant Field Values
      • OWNER

        static final int OWNER
        Scene7 specification used in getAssociatedAssets - Array of assets that own the specified asset.
        See Also:
        Constant Field Values
      • DERIVED

        static final int DERIVED
        Scene7 specification used in getAssociatedAssets - Array of assets that are derivatives of the specified asset.
        See Also:
        Constant Field Values
      • GENERATOR

        static final int GENERATOR
        Scene7 specification used in getAssociatedAssets - Array of assets that were used to generate the specified asset.
        See Also:
        Constant Field Values
      • GENERATED

        static final int GENERATED
        Scene7 specification used in getAssociatedAssets - Array of assets that were generated from the specified asset.
        See Also:
        Constant Field Values
    • Method Detail

      • getPublishServer

        @Nullable
        @Nullable String getPublishServer​(S7Config s7Config)
        Returns the domain name of the S7 publish server
        Parameters:
        s7Config -
        Returns:
        A string, null if not present
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getApplicationPropertyHandle

        @Nullable
        @Nullable String getApplicationPropertyHandle​(S7Config s7Config)
        Returns the application property handle.
        Parameters:
        s7Config - the Scene7 configuration
        Returns:
        the application property handle, null if not present
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getVideoEncoderPresetTypeHandle

        @Nullable
        @Nullable String getVideoEncoderPresetTypeHandle​(S7Config s7Config)
        Returns the video encoder preset type handle.
        Parameters:
        s7Config - the Scene7 configuration
        Returns:
        the video encoder preset type handle, null if not present
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getPropertySetTypeHandle

        @Nullable
        @Nullable String getPropertySetTypeHandle​(S7Config s7Config,
                                                  String typeName)
        Returns the handle for IPS PropertySet type by its name.
        Parameters:
        s7Config - the Scene7 configuration
        Returns:
        the PropertySet type's handle, or null if not present
        Throws:
        AssertionError - in case of IPS or other failure
      • getPropertySets

        List<Scene7PropertySet> getPropertySets​(String typeHandle,
                                                S7Config s7Config)
        Returns the video encoder preset type handle.
        Parameters:
        typeHandle - - the type handle
        s7Config - the Scene7 configuration
        Returns:
        the list of property sets
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • createPropertySet

        String createPropertySet​(S7Config s7Config,
                                 String typeHandle,
                                 Map<String,​Object> props)
        Create PropertySet of given type, and store given Properties to it.
        Parameters:
        s7Config - the Scene7 configuration
        typeHandle - PropertySet type handle
        props - array of Properties (Key-Value pairs) to put into new PropertySet
        Returns:
        the handle of newly created PropertySet
        Throws:
        AssertionError - in case of IPS or other failure
      • updatePropertySet

        void updatePropertySet​(S7Config s7Config,
                               String setHandle,
                               Map<String,​Object> props)
        Update the PropertySet with the new set of Properties, replacing existing ones.
        Parameters:
        s7Config - the Scene7 configuration
        setHandle - PropertySet handle
        props - array of Properties (Key-Value pairs) to put into PropertySet
        Throws:
        AssertionError - in case of IPS or other failure
      • updatePropertySet

        void updatePropertySet​(String setHandle,
                               String propKey,
                               String propValue,
                               S7Config s7Config)
        Update single property in the PropertySet.
        Parameters:
        setHandle - the set handle for the company settings
        propKey - property key name
        propValue - property key value
        s7Config - the Scene7 configuration
        Throws:
        AssertionError - in case of IPS or other failure
      • getUserHandle

        String getUserHandle​(ResourceResolver resourceResolver,
                             String email,
                             String password,
                             String region)
        Returns a unique user handle from Scene7.
        Parameters:
        resourceResolver - resource resolver used to access Scene7 configuration
        email - E-Mail address
        password - Password
        region - Region of the Scene7 service
        Returns:
        A unique user handle
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getCompanyMembership

        String getCompanyMembership​(ResourceResolver resourceResolver,
                                    String userHandle,
                                    String email,
                                    String password,
                                    String region)
        Returns a JSON representation of the company membership information provided by Scene7. The information includes a company handle, a company name and an asset root path.

        For example:
        {
        handle: 'jlkj98',
        name: 'Acme Ltd.',
        rootPath: '/MyAssets'
        }

        Parameters:
        resourceResolver - resource resolver used to access Scene7 configuration
        userHandle - Unique user handle
        email - E-Mail address
        password - Password
        region - Region of the Scene7 service
        Returns:
        A JSON string
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getFolderTree

        Scene7Folder getFolderTree​(String folderPath,
                                   int depth,
                                   String[] responseFields,
                                   String[] excludeFields,
                                   S7Config s7Config)
        Returns a Scene7Folder holding a tree structure
        Parameters:
        folderPath - - the top folder of the request - does not need to be the root.
        depth - - depth of the returned folder tree.
        responseFields - - fields to be filled in for each node in the tree
        excludeFields - - fields to be excluded in each node of the tree
        s7Config -
        Returns:
        A Scene7Folder object containing the requested folder structure
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getFolderHandle

        String getFolderHandle​(String cqFolderPath,
                               S7Config s7Config)
        Returns s7 folder handle for the associated cq folder
        Parameters:
        cqFolderPath - - the path the target cq folder targeted in the s7 folder organization
        s7Config -
        Returns:
        folder handle or null if the folder does not exist in s7.
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • deleteFolder

        String deleteFolder​(String folderHandle,
                            S7Config s7Config)
        Returns a String success, note that the underlying S7 API call does not provide a data response.
        Parameters:
        folderHandle - - folder to be deleted
        s7Config - - s7 config based on cloud service config info.
        Returns:
        String success
        Throws:
        AssertionError - in case of IPS failures
      • deleteAsset

        String deleteAsset​(String assetHandle,
                           S7Config s7Config)
        Returns a String success, note that the underlying S7 API call does not provide a data response.
        Parameters:
        assetHandle - - asset to be deleted
        s7Config - - s7 config based on cloud service config info.
        Returns:
        String success
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • deleteAssets

        String deleteAssets​(String[] assetHandleArr,
                            S7Config s7Config)
        Delete multiple assets Returns a String success, note that the underlying S7 API call does not provide a data response.
        Parameters:
        assetHandleArr - - asset to be deleted
        s7Config - - s7 config based on cloud service config info.
        Returns:
        String success
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • searchAssetsByMetadata

        List<Scene7Asset> searchAssetsByMetadata​(String folder,
                                                 Boolean includeSubfolders,
                                                 String[] assetTypes,
                                                 String[] assetSubTypes,
                                                 Boolean published,
                                                 MetadataCondition[] conditions,
                                                 S7Config s7Config)
        Returns a DOM list with search results (from metadata)
        Parameters:
        folder - - all matched assets will be in this folder
        includeSubfolders - - whether to recursively search for assets
        assetTypes - - all matched assets will be one of these types
        assetSubTypes - array of sub Asset Types to include in search
        published - - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
        conditions - - metadata conditions for search
        s7Config -
        Returns:
        A list of assets; the list can be empty if no assets have been found.
        Throws:
        AssertionError - in case of IPS failures
      • submitReprocessAssetsThumbnailJob

        String submitReprocessAssetsThumbnailJob​(S7Config s7Config,
                                                 String jobName,
                                                 String assetHandle,
                                                 long thumbnailTime)
        Submit a job to S7 for reprocessing video thumbnail to a specified video frame time
        Parameters:
        s7Config - the Scene7 configuration
        jobName - the name of the job
        assetHandle - the asset handle
        thumbnailTime - the frame time
        Returns:
        the scene7 jobHandle, return empty string if failed to get it
      • searchAssetsByMetadata

        List<Scene7Asset> searchAssetsByMetadata​(String folder,
                                                 Boolean includeSubfolders,
                                                 String[] assetTypes,
                                                 String[] assetSubTypes,
                                                 Boolean published,
                                                 MetadataCondition[] conditions,
                                                 int recordsPerPage,
                                                 int resultsPage,
                                                 S7Config s7Config)
        Returns a DOM list with search results (from metadata), support specify
        Parameters:
        folder - - all matched assets will be in this folder
        includeSubfolders - - whether to recursively search for assets
        assetTypes - - all matched assets will be one of these types
        assetSubTypes - array of sub Asset Types to include in search
        published - - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
        conditions - - metadata conditions for search
        recordsPerPage - maximum number of results to return
        resultsPage - specifies the page of results to return, based on recordsPerPage page size
        s7Config -
        Returns:
        A list of assets; the list can be empty if no assets have been found.
        Throws:
        AssertionError - in case of IPS failures
      • getAssets

        List<Scene7Asset> getAssets​(String[] assetHandles,
                                    String[] responseFields,
                                    String[] excludeFields,
                                    S7Config s7Config)
        Returns a Scene7Asset list, based on a list of asset handles
        Parameters:
        assetHandles - - the assets to retrieve
        responseFields - - fields to be filled in for each node in the tree
        excludeFields - - fields to be excluded in each node of the tree
        s7Config -
        Returns:
        A Scene7Asset list
        Throws:
        AssertionError - in case of IPS failures
      • getAsset

        @Nullable
        @Nullable Scene7Asset getAsset​(String assetHandle,
                                       String[] responseFields,
                                       String[] excludeFields,
                                       S7Config s7Config)
        Returns a single Scene7Asset object. If there are multiple matching assets found, return the first asset.
        Parameters:
        assetHandle - - the asset to retrieve
        responseFields - - fields to be filled in for each node in the tree
        excludeFields - - fields to be excluded in each node of the tree
        s7Config - - Scene7 cloud configuration object
        Returns:
        A Scene7Asset object, or null if not found or failed
        Throws:
        AssertionError - in case of IPS failures
      • getMultiFileJobLogDetails

        ArrayList<UploadJobDetail> getMultiFileJobLogDetails​(String jobHandle,
                                                             S7Config s7Config)
        Returns an Arraylist of job details objects
        Parameters:
        jobHandle - - the handle for the job to get details.
        s7Config -
        Returns:
        An AssetList of UploadJobDetail
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • isJobActiveByJobHandle

        boolean isJobActiveByJobHandle​(String jobHandle,
                                       S7Config s7Config)
        Parameters:
        jobHandle - of the job
        s7Config -
        Returns:
        true if active job with this jobHandle or orginalName is active, false otherwise
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • isJobActiveByOriginalName

        boolean isJobActiveByOriginalName​(String originalName,
                                          S7Config s7Config)
        Parameters:
        originalName - of the job
        s7Config -
        Returns:
        true if active job with this jobHandle or orginalName is active, false otherwise
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getJobLogDetails

        List<String> getJobLogDetails​(String jobHandle,
                                      S7Config s7Config)
        Returns a list of Scene7 asset handles(Strings) for the given job handle
        Parameters:
        jobHandle - - the handle for the job to get details.
        s7Config -
        Returns:
        A list containing asset handles strings
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getJobLogDetailsByJobName

        List<UploadJobDetail> getJobLogDetailsByJobName​(String jobName,
                                                        S7Config s7Config)
        Returns a list of UploadJobDetail objects for the given job name
        Parameters:
        jobName - - the handle for the job to get details.
        s7Config -
        Returns:
        A list containing UploadJobDetail
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getJobStatus

        String getJobStatus​(S7Config s7Config,
                            String jobName)
        Get scene7 job status with given jobName, the jobName should be uniq, if there are many job have same name, it only get the first one
        Parameters:
        s7Config - the Scene7 configuration
        jobName - the name of the job
        Returns:
        a string indicate the result, can be "NotFound", "Done" or a string returned by the S7 API, like "Running"
      • getImagePresets

        List<String> getImagePresets​(S7Config s7Config)
        Returns a list of Scene7 image preset names for the given S7Config
        Parameters:
        s7Config -
        Returns:
        a list containing the names of the image presets defined in SPS
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getFlashTemplatesServer

        @Deprecated
        String getFlashTemplatesServer​(S7Config s7Config)
        Deprecated.
        Retrieves the server used for serving and manipulating flash templates, depending on the Scene7 configuration.
        Parameters:
        s7Config - the Scene7 configuration
        Returns:
        a String containing the server's URL
      • searchAssets

        List<Scene7Asset> searchAssets​(String folder,
                                       Boolean includeSubfolders,
                                       Boolean published,
                                       String[] assetTypes,
                                       String[] assetSubTypes,
                                       String[] responseFields,
                                       String[] excludeFields,
                                       S7Config s7Config)
        Retrieves a list of Scene7Assets from the Scene7 server.
        Parameters:
        folder - the folder from which the assets are retrieved
        includeSubfolders - whether to recursively search for assets in sub-folders of the folder where the search is performed
        published - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
        assetTypes - all matched assets will be one of these types
        assetSubTypes - array of sub Asset Types to include in search
        responseFields - the response fields that should be used to populate the Scene7Asset's attributes
        excludeFields - fields to be excluded from the response
        s7Config - the Scene7 configuration
        Returns:
        a List of assets; can be empty if no assets have been found
        Throws:
        AssertionError - in case of IPS failures
      • searchAssets

        List<Scene7Asset> searchAssets​(String folder,
                                       Boolean includeSubfolders,
                                       Boolean published,
                                       String[] assetTypes,
                                       String[] assetSubTypes,
                                       String[] responseFields,
                                       String[] excludeFields,
                                       int recordsPerPage,
                                       int resultsPage,
                                       S7Config s7Config)
        Retrieves a list of Scene7Assets from the Scene7 server.
        Parameters:
        folder - the folder from which the assets are retrieved
        includeSubfolders - whether to recursively search for assets in sub-folders of the folder where the search is performed
        published - whether the matched assets must be marked for publish (only marked - not necessarily actually published)
        assetTypes - all matched assets will be one of these types
        assetSubTypes - array of sub Asset Types to include in search
        responseFields - the response fields that should be used to populate the Scene7Asset's attributes
        excludeFields - fields to be excluded from the response
        recordsPerPage - maximum number of results to return
        resultsPage - specifies the page of results to return, based on recordsPerPage page size
        s7Config - the Scene7 configuration
        Returns:
        a List of assets; can be empty if no assets have been found
        Throws:
        AssertionError - in case of IPS failures
      • searchAssetsByFilename

        List<Scene7Asset> searchAssetsByFilename​(String folder,
                                                 Boolean includeSubfolders,
                                                 Boolean published,
                                                 String filename,
                                                 S7Config s7Config)
        Retrieve a list of Scene7Assets from the Scene7 server by filename.
        Parameters:
        folder -
        includeSubfolders -
        published -
        filename -
        s7Config -
        Returns:
        Throws:
        AssertionError - in case of IPS failures
      • searchAssetsByName

        List<Scene7Asset> searchAssetsByName​(String folder,
                                             Boolean includeSubfolders,
                                             Boolean published,
                                             String name,
                                             S7Config s7Config)
        Retrieve a list of Scene7Assets from the Scene7 server by Scene7 asset name.
        Parameters:
        folder - remote search folder path
        includeSubfolders - to include children folders
        published - to include published or non-published assets
        name - Scene7 name of target asset
        s7Config - Scene7 cloud configuration
        Throws:
        AssertionError - in case of IPS failures
      • searchAssetsByPartialName

        List<Scene7Asset> searchAssetsByPartialName​(String folder,
                                                    Boolean includeSubfolders,
                                                    Boolean published,
                                                    String name,
                                                    String conditionMode,
                                                    S7Config s7Config)
        Retrieve a list of Scene7Assets from the Scene7 server by Scene7 asset name with partial name search option
        Parameters:
        folder - remote search folder path
        includeSubfolders - to include children folders
        published - to include published or non-published assets
        name - Scene7 name of target asset
        conditionMode - partial name search condition mode. Currently supported modes are "Equals" and "StartsWith"
        s7Config - Scene7 cloud configuration
        Returns:
        a list of Scene7Assets
      • getGeneratedAssets

        @Nullable
        @Nullable Scene7Asset getGeneratedAssets​(Scene7Asset asset,
                                                 S7Config s7Config)
        Retrieves the generated assets associated with the given input asset
        Parameters:
        asset - - the asset to get the sub-assets and generator from
        s7Config - - the Scene7 configuration
        Returns:
        the original Scene7Asset object updated with the sub-assets and the originator asset
        Throws:
        AssertionError - in case of IPS failures
      • getAssociatedAssets

        @Nullable
        @Nullable Scene7Asset getAssociatedAssets​(Scene7Asset asset,
                                                  S7Config s7Config)
        Retrieves the sub-assets and the origiator asset associated with the given asset
        Parameters:
        asset - - the asset to get the sub-assets and generator from
        s7Config - - the Scene7 configuration
        Returns:
        the original Scene7Asset object updated with the sub-assets and the originator asset
        Throws:
        AssertionError - in case of IPS failures
      • getMasterAsset

        @Nullable
        @Nullable Scene7Asset getMasterAsset​(Scene7Asset asset,
                                             S7Config s7Config)
        Retrieves the originator asset associated with the given asset
        Parameters:
        asset - - the asset to get the originator asset
        s7Config - - the Scene7 configuration
        Returns:
        the original Scene7Asset object updated with the originator asset
        Throws:
        AssertionError - in case of IPS failures
      • getFxgServer

        @Deprecated
        String getFxgServer​(S7Config s7Config)
        Deprecated.
        Retrieves the server handling FXG rendering. Deprecated and only return null now.
        Parameters:
        s7Config - the Scene7 configuration
        Returns:
        a String containing the FXG server URL
      • setAssetPublishState

        String setAssetPublishState​(Resource resource,
                                    boolean markForPublish,
                                    S7Config s7Config)
        Set the publish state of a given Scene7 asset
        Parameters:
        resource - activated resource
        markForPublish - value of markForPublish flag
        s7Config - the Scene7 configuration
        Returns:
        String success / failure
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • setAssetPublishState

        String setAssetPublishState​(String assetHandle,
                                    boolean markForPublish,
                                    S7Config s7Config)
        Set the publish state of a given Scene7 asset
        Parameters:
        assetHandle - unique asset identifier
        markForPublish - value of markForPublish flag
        s7Config - the Scene7 configuration
        Returns:
        String success / failure
        Throws:
        AssertionError - in case of IPS failures
      • setAssetsPublishState

        String setAssetsPublishState​(Set<String> assetHandles,
                                     boolean markForPublish,
                                     S7Config s7Config)
        Set the publish state of a given Scene7 assets
        Parameters:
        assetHandles - asset identifiers to set publish state
        markForPublish - value of markForPublish flag
        s7Config - the Scene7 configuration
        Returns:
        String success / failure
        Throws:
        AssertionError - in case of IPS failures
      • createFolder

        String createFolder​(S7Config s7Config,
                            String cqFolderPath)
        Create a folder on Scene7 server
        Parameters:
        s7Config - the Scene7 configuration
        cqFolderPath - the path the target cq folder targeted in the s7 folder organization
        Returns:
        folder handle
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • createImageSet

        @Nullable
        @Nullable String createImageSet​(S7Config s7Config,
                                        String folder,
                                        String name,
                                        String type,
                                        @Nullable
                                        @Nullable Resource resource,
                                        @Nullable
                                        @Nullable String thumbAssetHandle)
        Create an ImageSet asset on Scene7 server
        Parameters:
        s7Config - the Scene7 configuration
        folder - relative target folder based on S7 Config root folder. If not exists, will attempt to create it
        name - name for new ImageSet
        type - type of new ImageSet (ImageSet, SwatchSet, RenderSet)
        resource - (optional) if exists, jcr resource to receive metadata from new object
        thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set
        Returns:
        asset handle of newly created ImageSet, or null on error
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • createImageSet

        @Deprecated
        String createImageSet​(S7Config s7Config,
                              @Nullable
                              @Nullable String imageSetFolder,
                              String imageSetName,
                              @Nullable
                              @Nullable String thumbAssetHandle)
        Create an ImageSet asset on Scene7 server
        Parameters:
        s7Config - the Scene7 configuration
        imageSetFolder - the path the target imageset cq folder targeted in the s7 folder organization
        imageSetName - name of the image set
        thumbAssetHandle - (optional) user defined thumbnail asset handle
        Returns:
        asset handle of new image set
      • updateImageSet

        void updateImageSet​(S7Config s7Config,
                            String assetHandle,
                            @Nullable
                            @Nullable ImageSetMemberUpdateArray members,
                            @Nullable
                            @Nullable String thumbAssetHandle)
        Update an ImageSet on Scene7 server
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - asset handle of the ImageSet to update
        members - (optional) list of ImageSet members (Null = not updated)
        thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set (Null = not updated)
        Throws:
        AssertionError - in case of IPS failures
      • getImageSetMembers

        ImageSetMemberArray getImageSetMembers​(S7Config s7Config,
                                               String assetHandle)
        Get members of legacy ImageSet
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - asset handle of the ImageSet
        Returns:
        not-null ordered list of members embedded into ImageSetMemberArray instance
      • createAssetSet

        @Nullable
        @Nullable String createAssetSet​(S7Config s7Config,
                                        String folder,
                                        String name,
                                        String type,
                                        @Nullable
                                        @Nullable Resource resource,
                                        @Nullable
                                        @Nullable Scene7AssetSet setDefinition,
                                        @Nullable
                                        @Nullable String thumbAssetHandle)
        Create an AssetSet asset on Scene7 server
        Parameters:
        s7Config - the Scene7 configuration
        folder - relative target folder based on S7 Config root folder. If not exists, will attempt to create it
        name - name for new AssetSet
        type - type of new AssetSet
        resource - (optional) if exists, jcr resource to receive metadata from new object
        setDefinition - (optional) set's definition string
        thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set
        Returns:
        asset handle of newly created AssetSet, or null on error
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • updateAssetSet

        void updateAssetSet​(S7Config s7Config,
                            String assetHandle,
                            @Nullable
                            @Nullable Scene7AssetSet setDefinition,
                            @Nullable
                            @Nullable String thumbAssetHandle)
        Update an AssetSet on Scene7 server
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - asset handle of the AssetSet to update
        setDefinition - (optional) set's definition string (Null = not updated)
        thumbAssetHandle - (optional) asset handle of user-defined thumbnail image for set (Null = not updated)
        Throws:
        AssertionError - in case of IPS failures
      • createViewerPreset

        String createViewerPreset​(S7Config s7Config,
                                  String folderHandle,
                                  String name,
                                  String type,
                                  @Nullable
                                  @Nullable Resource resource,
                                  @Nullable
                                  @Nullable List<Scene7ConfigSetting> configSettings)
        Create a preset view to determine what users can see. The preset view is applied when assets are published.
        Parameters:
        s7Config - the Scene7 configuration
        folderHandle - folder handle of the folder that contains the assets
        name - name for the viewer
        type - type of any available viewer in IPS
        resource - (optional) if exists, jcr resource to receive metadata from new object
        configSettings - (optional) list containing Scene7ConfigSetting values to apply
        Returns:
        viewer preset handle or null if unsuccessful
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getViewerConfigSettings

        Scene7ViewerConfig getViewerConfigSettings​(S7Config s7Config,
                                                   String assetHandle)
        Get the viewer configuration for the referenced asset
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - asset handle for the asset of interest
        Returns:
        Scene7ViewerConfig with the information or null if unsuccessful
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • setViewerConfigSettings

        void setViewerConfigSettings​(S7Config s7Config,
                                     String assetHandle,
                                     String name,
                                     String type,
                                     List<Scene7ConfigSetting> configSettings)
        Attach viewer configuration settings to an asset Can be viewer preset or the source asset for the viewer
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - asset handle for the asset to modify
        name - name of the asset
        type - type of any available viewer in IPS
        configSettings - list containing Scene7ConfigSetting values to apply
        Throws:
        AssertionError - in case of IPS failures
      • updateViewerConfigSettings

        void updateViewerConfigSettings​(S7Config s7Config,
                                        String assetHandle,
                                        List<Scene7ConfigSetting> configSettings)
        Updates SWF viewer configuration settings.
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - asset handle for the asset to modify
        configSettings - list containing Scene7ConfigSetting values to apply
        Throws:
        AssertionError - in case of IPS failures
      • addUser

        String addUser​(S7Config s7Config,
                       String firstName,
                       String lastName,
                       String email,
                       String defaultRole,
                       String password,
                       @Nullable
                       @Nullable Instant passwordExpires,
                       boolean isValid,
                       List<Scene7CompanyMembership> membershipArray)
        Creates a user account and adds the account to one of more companies
        Parameters:
        s7Config - The Scene7 configuration
        firstName - The user's first name
        lastName - The user's last name
        email - The user's email address
        defaultRole - The role for the user in the companies they belong, the IpsAdmin role overrides other per-company settings
        password - The user's password
        passwordExpires - The instant of expiration of the password
        isValid - Determine the user's validity
        membershipArray - List of Scene7CompanyMembership entries enumerating the membership of the user.
        Returns:
        The handle of the newly created user
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getAllUsers

        List<Scene7User> getAllUsers​(S7Config s7Config,
                                     boolean includeInvalid)
        Return all users
        Parameters:
        s7Config - The Scene7 configuration
        includeInvalid - Indicate if invalid users should be included
        Returns:
        List containing Scene7User requested
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getUsers

        List<Scene7User> getUsers​(S7Config s7Config,
                                  @Nullable
                                  @Nullable Boolean includeInactive,
                                  @Nullable
                                  @Nullable Boolean includeInvalid,
                                  @Nullable
                                  @Nullable List<String> companyHandleArray,
                                  @Nullable
                                  @Nullable List<String> groupHandleArray,
                                  @Nullable
                                  @Nullable List<String> userRoleArray,
                                  @Nullable
                                  @Nullable String charFilterField,
                                  @Nullable
                                  @Nullable String charFilter,
                                  @Nullable
                                  @Nullable String sortBy,
                                  @Nullable
                                  @Nullable Integer recordsPerPage,
                                  @Nullable
                                  @Nullable Integer resultsPage)
        Return a optionally sorted, filtered and paged list user results
        Parameters:
        s7Config - The Scene7 config
        includeInactive - Include or exclude inactive members
        includeInvalid - Include or exclude invalid members
        companyHandleArray - Filter results be company
        groupHandleArray - Filter results by group
        userRoleArray - Filter results by user role
        charFilterField - Filter results by field's string prefix
        charFilter - Filter results by a specific character
        sortBy - Choice of user sort field
        recordsPerPage - Number of records per page to return
        resultsPage - The desired result page
        Returns:
        List containing Scene7User requested
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • setUserInfo

        void setUserInfo​(S7Config s7Config,
                         @Nullable
                         @Nullable String userHandle,
                         String firstName,
                         String lastName,
                         String email,
                         String defaultRole,
                         @Nullable
                         @Nullable Instant passwordExpires,
                         boolean isValid,
                         List<Scene7CompanyMembership> membershipArray)
        Set user attributes
        Parameters:
        s7Config - The Scene7 config
        userHandle - User handle
        firstName - First name
        lastName - Last name
        email - Email address
        defaultRole - The role for the user in the companies they belong, the IpsAdmin role overrides other per-company settings
        passwordExpires - The password's expiration
        isValid - Determine if valid IPS user
        membershipArray - List of Scene7CompanyMembership entries enumerating the membership of the user
        Throws:
        AssertionError - in case of IPS failures
      • saveImageFormat

        String saveImageFormat​(S7Config s7Config,
                               @Nullable
                               @Nullable String imageFormatHandle,
                               String name,
                               String urlModifier,
                               @Nullable
                               @Nullable Resource resource)
        Create an image format.
        Parameters:
        s7Config - The Scene7 config
        imageFormatHandle - Image format handle you want to save
        name - Image format name
        urlModifier - IPS protocol query string
        resource - (optional) if exists, jcr resource to receive metadata from new object
        Returns:
        The imageFormatHandle
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • deleteImageMap

        void deleteImageMap​(S7Config s7Config,
                            String imageMapHandle)
        Deletes an image map
        Parameters:
        s7Config - The Scene7 config
        imageMapHandle - Handle for the image map to delete
        Throws:
        AssertionError - in case of IPS failures
      • saveImageMap

        String saveImageMap​(S7Config s7Config,
                            String assetHandle,
                            @Nullable
                            @Nullable String imageMapHandle,
                            String name,
                            String shapeType,
                            String region,
                            String action,
                            int position,
                            boolean enabled)
        Create a new image map or edit an existing map
        Parameters:
        s7Config - The Scene7 config
        assetHandle - Handle to the asset the map belongs to
        imageMapHandle - Handle to the image map.
        name - Name of the image map
        shapeType - Choice of region shape
        region - A comma delimited list of points that define the region
        action - The href value associated with the image map
        position - The order in the list of image maps
        enabled - Whether this map is enabled
        Returns:
        The handle to the new or edited image map
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • setImageMaps

        List<String> setImageMaps​(S7Config s7Config,
                                  String assetHandle,
                                  List<Scene7ImageMapDefinition> imageMap)
        Sets the image map for an asset. You must have already created the image maps. Image maps are applied in order of retrieval from the array. This means the second image map overlays the first, the third overlays the second, and so on.
        Parameters:
        s7Config - The Scene7 config
        assetHandle - Handle to the asset
        imageMap - list of predefined Scene7ImageMapDefinition objects
        Returns:
        list of image map handles applied to the asset
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getPreviewServerUrl

        @Nullable
        @Nullable String getPreviewServerUrl​(Resource resource,
                                             ResourceResolver configResolver)
        Retrieves Scene7 remote asset preview /is/image/ URL (context path with image server uri). If resource is null, then returns DMS7 default S7Config preview URL
        Parameters:
        resource - Scene7 sync-ed asset in DAM
        configResolver - resource resolver with access to S7Config object
        Returns:
        String Scene7 asset preview URL
      • getPublishServerUrl

        @Nullable
        @Nullable String getPublishServerUrl​(Resource resource,
                                             ResourceResolver configResolver)
        Retrieves Scene7 remote asset publish /is/image/ URL (server domain and image server uri). If resource is null, then returns DMS7 default S7Config publish URL
        Parameters:
        resource - Scene7 sync-ed asset in DAM
        configResolver - resource resolver with access to S7Config object
        Returns:
        String Scene7 asset publish URL
      • getPreviewVideoServerUrl

        @Nullable
        @Nullable String getPreviewVideoServerUrl​(Resource resource,
                                                  ResourceResolver configResolver)
        Retrieves Scene7 remote video preview /is/content/ URL (context path with image server uri). If resource is null, then returns DMS7 default S7Config preview URL
        Parameters:
        resource - Scene7 sync-ed asset in DAM
        configResolver - resource resolver with access to S7Config object
        Returns:
        String Scene7 asset preview URL
      • getPublishVideoServerUrl

        @Nullable
        @Nullable String getPublishVideoServerUrl​(Resource resource,
                                                  ResourceResolver configResolver)
        Retrieves Scene7 remote video publish /is/content/ URL (server domain and image server uri). If resource is null, then returns DMS7 default S7Config preview URL
        Parameters:
        resource - Scene7 sync-ed asset in DAM
        configResolver - resource resolver with access to S7Config object
        Returns:
        String Scene7 asset publish URL
      • getS7AssetMetadata

        @Nullable
        @Nullable Map<String,​String> getS7AssetMetadata​(S7Config s7Config,
                                                              String assetHandle)
        Retrieves a metadata map (key-value pair) associated with a Scene7 asset
        Parameters:
        s7Config - The Scene7 cloud configuration object
        assetHandle - Scene7 unique asset identifier
        Returns:
        Map key-value pairs metadata of Scene7 asset
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getS7VideoRenditions

        @Nullable
        @Nullable List<Scene7Asset> getS7VideoRenditions​(S7Config s7Config,
                                                         String assetHandle)
        Retrieves a list of Scene7 video renditions with their names and asset handles
        Parameters:
        s7Config - The Scene7 cloud configuration object
        assetHandle - Scene7 unique asset identifier
        Returns:
        List a list of Scene7Assets containing video rendition names and asset handles
        Throws:
        AssertionError - in case of IPS failures or undefined data format
      • getScene7ID

        @Nullable
        @Nullable String getScene7ID​(Resource resource)
        Returns property dam:scene7ID of a given Resource object
        Parameters:
        resource - Resource object on which to get Scene7 metadata
        Returns:
        String value of dam:scene7ID associated to Resource or null if property is unavailable
      • isResourceLinkedToScene7

        boolean isResourceLinkedToScene7​(Resource resource)
        Returns true if Resource object is linked to Scene7 based on its metadata
        Parameters:
        resource - Resource object on which to get Scene7 metadata
        Returns:
        true if Resource object has dam:scene7ID metadata
      • getLinkedScene7ConfigPath

        @Nullable
        @Nullable String getLinkedScene7ConfigPath​(Resource resource)
        Returns property dam:scene7CloudConfigPath of a given Resource object
        Parameters:
        resource - Resource object on which to get Scene7 metadata
        Returns:
        String value of dam:scene7CloudConfigPath associated to Resource or null if property is unavailable
      • moveAsset

        boolean moveAsset​(S7Config s7Config,
                          Resource resource,
                          String folder)
        Moves an asset to a specific folder
        Parameters:
        s7Config - Scene7 S7Config object
        resource - Resource object to be relocated
        folder - Destination folder path
        Returns:
        true/false of the moveAsset() operation succeeded
      • moveAssets

        boolean moveAssets​(S7Config s7Config,
                           Map<Resource,​String> resourcesToFolders)
        Moves multiple assets independently of each other
        Parameters:
        s7Config - Scene7 S7Config object
        resourcesToFolders - Mapping of AEM resource to destination folder
        Returns:
        true/false of the moveAssets() operation succeeded
      • moveFolder

        boolean moveFolder​(S7Config s7Config,
                           String sourceFolder,
                           String destinationFolder)
        Move a folder to a new location
        Parameters:
        s7Config - Scene7 S7Config object
        sourceFolder - Path to source folder
        destinationFolder - Path to destination folder
        Returns:
        true/false of the moveFolder() operation succeeded
      • moveAssociatedAsset

        boolean moveAssociatedAsset​(S7Config s7Config,
                                    Resource resource,
                                    String folder)
        Finds and moves generated assets to a specific folder
        Parameters:
        s7Config - Scene7 S7Config object
        resource - Resource object to be relocated
        folder - Destination folder path
        Returns:
        true/false of the moveAssociatedAsset() operation succeeded
      • renameAsset

        boolean renameAsset​(S7Config s7Config,
                            Resource resource,
                            String name)
        Rename an asset
        Parameters:
        s7Config - Scene7 S7Config object
        resource - Resource object to be renamed
        name - Asset's new name
        Returns:
        true/false of the renameAsset() operation succeeded
      • renameFolder

        boolean renameFolder​(S7Config s7Config,
                             String folder,
                             String name)
        Rename a folder
        Parameters:
        s7Config - Scene7 S7Config object
        folder - Folder to be renamed
        name - Folder's new name
        Returns:
        true/false of the renameFolder() operation succeeded
      • updateSmartCrops

        boolean updateSmartCrops​(S7Config s7Config,
                                 Map<String,​Map<String,​Scene7NormalizedCropRect>> updateSmartCropMap)
        Update one or more Smart Crop sub asset(s)
        Parameters:
        s7Config - Scene7 S7Config object
        updateSmartCropMap - Map of owner handle, sub-asset asset handles and Scene7NormalizedCropRect objects
        Returns:
        true/false of the updateSmartCrops() operation succeeded
      • setVideoThumbnail

        Map<String,​Integer> setVideoThumbnail​(S7Config s7Config,
                                                    String assetHandle,
                                                    String thumbAssetHandle)
        Set the video thumbnail with a specifed thumbnail asset, not only for master video, all generated encoded videos and AVS files are also been set together
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - the S7 assetHandle of the master video that you want to set thumbnail
        thumbAssetHandle - the S7 assetHandle of the thumbnail asset
        Returns:
      • getXMPPacket

        String getXMPPacket​(S7Config s7Config,
                            String assetHandle)
        Retrieves an XMP Metadata packet for the specified asset.
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - Handle to the asset you want to get XMP metadata
        Returns:
        XMP metadata for the given assetHandle in XML format
      • updateXMPPacket

        void updateXMPPacket​(S7Config s7Config,
                             String assetHandle,
                             String xmpPacketAsXml)
        Sets or updates an XMP metadata packet for an asset.
        Parameters:
        s7Config - the Scene7 configuration
        assetHandle - Handle to the asset you want to get XMP metadata
        xmpPacketAsXml - updated XMP packet to update asset metadata in XML format
      • getLoginStatus

        String getLoginStatus​(ResourceResolver resourceResolver,
                              String email,
                              String password,
                              String region)
        Checks the login in Scene7 with the given credentials
        Parameters:
        resourceResolver - resource resolver used to access Scene7 configuration
        email - Email id of the user
        password - Password of the user
        region - the user's region
        Returns:
        the login status for the user.
      • setPassword

        void setPassword​(S7Config s7Config,
                         String userHandle,
                         String password,
                         @Nullable
                         @Nullable Integer validityInDays)
        Sets the password for a given user with an expiry of 100 years ahead from the current date.
        Parameters:
        s7Config - Scene7 configuration object
        userHandle - combination of IPS user handle and email id
        password - Password to be set
        validityInDays - Password validity in number of days. Set it to null/zero for default expiry of 100 years.
      • cdnCacheInvalidation

        CdnCacheInvalidationReturn cdnCacheInvalidation​(S7Config s7Config,
                                                        UrlArray urlArray)
        Forwards the supplied list of URLs to the Scene7 CDN (Content Distribution Network) provider to invalidate their existing cache of HTTP responses
        Parameters:
        s7Config - Scene7 configuration object
        urlArray - List of up to 1000 URLs to invalidate from the CDN cache
        Returns:
        CdnCacheInvalidationReturn IPS api response
      • getAndStoreSecureISAuthToken

        String getAndStoreSecureISAuthToken​(S7Config s7Config)
        Gets the token for a given company to access secure preview IS and stores in repository to cache token.
        Parameters:
        s7Config - Scene7 configuration object
      • deleteSubAssets

        boolean deleteSubAssets​(Asset asset,
                                List<String> subAssetHandles,
                                S7Config s7Config)
        Deletes the sub assets for an asset
        Parameters:
        asset - Asset whose smart crops need to be removed
        subAssetHandles - list of scene7 handles to the sub assets
        s7Config - the scene7 configuration
        Returns:
        true if successfully deleted all subassets.
      • getIpsImageUrl

        @Nullable
        @Nullable String getIpsImageUrl​(Asset asset,
                                        S7Config s7Config)
        Gets the value of the ipsImageUrl property for an asset
        Parameters:
        asset - Asset whose ipsImageUrl need to be fetched
        s7Config - Scene7 configuration object
        Returns:
        ipsImageUrl for the asset. It may return null if ipsImageUrl is not present.
      • getCompanyInfoForCompanyName

        Company getCompanyInfoForCompanyName​(String companyName,
                                             S7Config s7Config)
        Returns the Company object
        Parameters:
        companyName - : name of the company
        s7Config - Scene7 configuration object
        Returns:
        Company object
        Throws:
        AssertionError - in case of IPS failures or undefined data format