org.springframework.cloud.dataflow.server.service.impl

## Class TaskServiceUtils

- java.lang.Object
- - org.springframework.cloud.dataflow.server.service.impl.TaskServiceUtils

-     public class TaskServiceUtils
      extends Object

  Provides utility methods for setting up tasks for execution.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TaskServiceUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static boolean` | `addDatabaseCredentials(boolean useKubernetesSecrets, String platformType)` Determines if a database credentials should be added to task properties.
    `static void` | `contributeCommonProperties(Optional<Properties> defaultProperties, Map<String,String> appDeploymentProperties, String taskPlatformType)` Merge the common properties defined via the spring.cloud.dataflow.common-properties.task-resource file.
    `static String` | `createComposedTaskDefinition(String graph)` Creates a properly formatted CTR definition based on the graph provided.
    `static String` | `createComposedTaskDefinition(String alternateComposedTaskRunnerName, String graph)` Creates a properly formatted CTR definition based on the graph provided.
    `static Map<String,String>` | `establishComposedTaskProperties(Map<String,String> taskDeploymentProperties, org.springframework.cloud.dataflow.core.dsl.TaskNode taskNode)` Establish the app and deployment properties to be used for a CTR.
    `static Map<String,String>` | `extractAppProperties(String name, Map<String,String> taskDeploymentProperties)` Extract app properties from the deployment properties by task name.
    `static Map<String,String>` | `extractAppProperties(String name, String label, Map<String,String> taskDeploymentProperties)` Extract app properties from the deployment properties by task name.
    `static boolean` | `isComposedTaskDefinition(String dsl)` Parses the task DSL to see if it is a composed task definition
    `static String` | `labelForSimpleTask(String name, String dsl)`
    `static org.springframework.cloud.deployer.spi.core.AppDefinition` | `mergeAndExpandAppProperties(TaskDefinition original, org.springframework.core.io.Resource resource, Map<String,String> appDeploymentProperties, VisibleProperties visibleProperties)` Return a copy of a given task definition where short form parameters have been expanded to their long form (amongst the visible properties of the app) if applicable.
    `static void` | `updateDataFlowUriIfNeeded(String dataflowServerUri, Map<String,String> appDeploymentProperties, List<String> commandLineArgs)`
    `static void` | `updateDataFlowUriIfNeeded(String dataFlowServerUriKey, String dataflowServerUri, Map<String,String> appDeploymentProperties, List<String> commandLineArgs)`
    `static TaskDefinition` | `updateTaskProperties(TaskDefinition taskDefinition, org.springframework.boot.autoconfigure.jdbc.DataSourceProperties dataSourceProperties)` Updates the task definition with the datasource properties.
    `static TaskDefinition` | `updateTaskProperties(TaskDefinition taskDefinition, org.springframework.boot.autoconfigure.jdbc.DataSourceProperties dataSourceProperties, boolean setDatabaseCredentials)` Updates the task definition with the datasource properties.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TaskServiceUtils

          public TaskServiceUtils()

  - ### Method Detail

    - #### isComposedTaskDefinition

          public static boolean isComposedTaskDefinition(String dsl)

      Parses the task DSL to see if it is a composed task definition
      Parameters:
        `dsl` - task DSL
      Returns:
        true if composed, false otherwise.

    - #### createComposedTaskDefinition

          public static String createComposedTaskDefinition(String graph)

      Creates a properly formatted CTR definition based on the graph provided.
      Parameters:
        `graph` - the graph for the CTR to execute.
      Returns:
        String containing the CTR task definition.

    - #### createComposedTaskDefinition

          public static String createComposedTaskDefinition(String alternateComposedTaskRunnerName,
                                                            String graph)

      Creates a properly formatted CTR definition based on the graph provided.
      Parameters:
        `alternateComposedTaskRunnerName` - a ctr name to be used instead of the default.
        `graph` - the graph for the CTR to execute. of the CTR app to be launched.
      Returns:
        String containing the CTR task definition.

    - #### establishComposedTaskProperties

          public static Map<String,String> establishComposedTaskProperties(Map<String,String> taskDeploymentProperties,
                                                                           org.springframework.cloud.dataflow.core.dsl.TaskNode taskNode)

      Establish the app and deployment properties to be used for a CTR.
      Parameters:
        `taskDeploymentProperties` - properties to be parsed for the CTR.
        `taskNode` - containing the tasks apps to be executed by the CTR
      Returns:
        properties that can be consumed by the CTR.

    - #### updateTaskProperties

          public static TaskDefinition updateTaskProperties(TaskDefinition taskDefinition,
                                                            org.springframework.boot.autoconfigure.jdbc.DataSourceProperties dataSourceProperties)

      Updates the task definition with the datasource properties.
      Parameters:
        `taskDefinition` - the `TaskDefinition` to be updated.
        `dataSourceProperties` - the dataSource properties used by SCDF.
      Returns:
        the updated `TaskDefinition`

    - #### updateTaskProperties

          public static TaskDefinition updateTaskProperties(TaskDefinition taskDefinition,
                                                            org.springframework.boot.autoconfigure.jdbc.DataSourceProperties dataSourceProperties,
                                                            boolean setDatabaseCredentials)

      Updates the task definition with the datasource properties.
      Parameters:
        `taskDefinition` - the `TaskDefinition` to be updated.
        `dataSourceProperties` - the dataSource properties used by SCDF.
        `setDatabaseCredentials` - if true database username and password that should be set in the `TaskDefinition` .
      Returns:
        the updated `TaskDefinition`

    - #### extractAppProperties

          public static Map<String,String> extractAppProperties(String name,
                                                                Map<String,String> taskDeploymentProperties)

      Extract app properties from the deployment properties by task name.
      Parameters:
        `name` - the task app name to search for in the deployment properties.
        `taskDeploymentProperties` - the properties for the task deployment.
      Returns:
        a map containing the app properties for a task.

    - #### extractAppProperties

          public static Map<String,String> extractAppProperties(String name,
                                                                String label,
                                                                Map<String,String> taskDeploymentProperties)

      Extract app properties from the deployment properties by task name.
      Parameters:
        `name` - the task app name to search for in the deployment properties.
        `label` - the taks app label to search for in the deployment properties.
        `taskDeploymentProperties` - the properties for the task deployment.
      Returns:
        a map containing the app properties for a task.

    - #### mergeAndExpandAppProperties

          public static org.springframework.cloud.deployer.spi.core.AppDefinition mergeAndExpandAppProperties(TaskDefinition original,
                                                                                                              org.springframework.core.io.Resource resource,
                                                                                                              Map<String,String> appDeploymentProperties,
                                                                                                              VisibleProperties visibleProperties)

      Return a copy of a given task definition where short form parameters have been expanded to their long form (amongst the visible properties of the app) if applicable.
      Parameters:
        `original` - the task definition with the original set of properties.
        `resource` - the resource to be used for identifying included properties.
        `appDeploymentProperties` - the app deployment properties to be added to the `AppDefinition`.
        `visibleProperties` - util for formatting visible properties properly.
      Returns:
        fully qualified `AppDefinition`.

    - #### updateDataFlowUriIfNeeded

          public static void updateDataFlowUriIfNeeded(String dataflowServerUri,
                                                       Map<String,String> appDeploymentProperties,
                                                       List<String> commandLineArgs)

    - #### updateDataFlowUriIfNeeded

          public static void updateDataFlowUriIfNeeded(String dataFlowServerUriKey,
                                                       String dataflowServerUri,
                                                       Map<String,String> appDeploymentProperties,
                                                       List<String> commandLineArgs)

    - #### labelForSimpleTask

          public static String labelForSimpleTask(String name,
                                                  String dsl)

    - #### addDatabaseCredentials

          public static boolean addDatabaseCredentials(boolean useKubernetesSecrets,
                                                       String platformType)

      Determines if a database credentials should be added to task properties.
      Parameters:
        `platformType` - The type of platform.
        `useKubernetesSecrets` - User wants to use kubernetes secrets for user name and password.
      Returns:
        true if database credentials should be added to task properties.

    - #### contributeCommonProperties

          public static void contributeCommonProperties(Optional<Properties> defaultProperties,
                                                        Map<String,String> appDeploymentProperties,
                                                        String taskPlatformType)

      Merge the common properties defined via the spring.cloud.dataflow.common-properties.task-resource file. Doesn't override existing properties! The placeholders defined in the task-resource file are not resolved by SCDF but passed to the apps as they are.
      Parameters:
        `defaultProperties` - Default properties, if any, to contribute to the launch app properties.
        `appDeploymentProperties` - App deployment properties passed to the Task at launch.

Copyright © 2021 Pivotal Software, Inc.. All rights reserved.