ExecutableFlow extends ExecutableFlowBase { synchronized public Props getRampPropsForJob(@NotNull final String jobId, @NotNull final String jobType) { return Optional.ofNullable(executableFlowRampMetadata) .map(metadata -> metadata.selectRampPropsForJob(jobId, jobType)) .orElse(null); } ExecutableFlow(final Project project, final Flow flow);  ExecutableFlow(); static ExecutableFlow createExecutableFlow(final Object obj, final Status status); @Override String getId(); @Override ExecutableFlow getExecutableFlow(); void addAllProxyUsers(final Collection<String> proxyUsers); Set<String> getProxyUsers(); ExecutionOptions getExecutionOptions(); void setExecutionOptions(final ExecutionOptions options); @Override int getExecutionId(); void setExecutionId(final int executionId); @Override long getLastModifiedTimestamp(); void setLastModifiedTimestamp(final long lastModifiedTimestamp); @Override String getLastModifiedByUser(); void setLastModifiedByUser(final String lastModifiedUser); @Override int getProjectId(); void setProjectId(final int projectId); @Override String getExecutionSource(); void setExecutionSource(final String executionSource); @Override String getProjectName(); int getScheduleId(); void setScheduleId(final int scheduleId); String getExecutionPath(); void setExecutionPath(final String executionPath); String getSubmitUser(); void setSubmitUser(final String submitUser); @Override int getVersion(); void setVersion(final int version); long getSubmitTime(); void setSubmitTime(final long submitTime); double getAzkabanFlowVersion(); void setAzkabanFlowVersion(final double azkabanFlowVersion); boolean isLocked(); void setLocked(boolean locked); String getFlowLockErrorMessage(); void setFlowLockErrorMessage(final String flowLockErrorMessage); String getSlaOptionStr(); @Override Map<String, Object> toObject(); @Override void fillExecutableFromMapObject(
      final TypedMapWrapper<String, Object> flowObj); @Override Map<String, Object> toUpdateObject(final long lastUpdateTime); @Override void resetForRetry(); ExecutableFlowRampMetadata getExecutableFlowRampMetadata(); void setExecutableFlowRampMetadata(ExecutableFlowRampMetadata executableFlowRampMetadata); String getDirectory(); synchronized Props getRampPropsForJob(@NotNull final String jobId, @NotNull final String jobType); void setFailedJobId(String id); String getFailedJobId(); @Override String getModifiedBy(); @Override void setModifiedBy(String id); static final String EXECUTIONID_PARAM; static final String EXECUTIONPATH_PARAM; static final String EXECUTIONOPTIONS_PARAM; static final String PROJECTID_PARAM; static final String SCHEDULEID_PARAM; static final String SUBMITUSER_PARAM; static final String SUBMITTIME_PARAM; static final String VERSION_PARAM; static final String PROXYUSERS_PARAM; static final String PROJECTNAME_PARAM; static final String LASTMODIFIEDTIME_PARAM; static final String LASTMODIFIEDUSER_PARAM; static final String SLAOPTIONS_PARAM; static final String AZKABANFLOWVERSION_PARAM; static final String IS_LOCKED_PARAM; static final String FLOW_LOCK_ERROR_MESSAGE_PARAM; static final String EXECUTION_SOURCE; }
@Test public void testGetRampPropsForJob() { final Flow flow = this.project.getFlow("jobe"); final ExecutableFlow exFlow = new ExecutableFlow(this.project, flow); Assert.assertNull(exFlow.getExecutableFlowRampMetadata()); Assert.assertNull(exFlow.getRampPropsForJob("test", "pigLi")); Props props = new Props(); props.put("dali-pig", "/export/dali-pig-9.2.jar"); props.put("dali-spark", "/export/dali-spark-9.2.jar"); props.put("common", "/export/common-1.1.jar"); ExecutableFlowRampMetadata metadata = ExecutableFlowRampMetadata.createInstance( ExecutableRampDependencyMap.createInstance() .add("dali-pig", "/export/dali-pig-9.1.jar", "pigLi,hive") .add("dali-spark", "/export/dali-spark-9.1.jar", "spark") .add("common", "/export/common", null), ImmutableMap.<String, ExecutableRampExceptionalItems>builder() .build() ).setRampProps("dali", props); exFlow.setExecutableFlowRampMetadata(metadata); Assert.assertEquals(2, exFlow.getRampPropsForJob("test", "pigLi").size()); }