/** * Get a {@link List} of previous {@link WorkUnitState}s for a given datasetUrn. * @param datasetUrn * @return {@link List} of {@link WorkUnitState}s. */ public List<WorkUnitState> getPreviousWorkUnitStates(String datasetUrn) { if (this.workUnitAndDatasetStateFunctional != null) { try { CombinedWorkUnitAndDatasetState state = this.workUnitAndDatasetStateFunctional.getCombinedWorkUnitAndDatasetState(datasetUrn); return state.getPreviousWorkUnitStates(); } catch (Exception e) { throw new RuntimeException(e); } } return this.previousWorkUnitStates; }
/** * A thread-safe method for materializing previous {@link WorkUnitState}s and DatasetStates. * @param datasetUrn */ private synchronized void materializeWorkUnitAndDatasetStates(String datasetUrn) { if (!this.areWorkUnitStatesMaterialized) { try { CombinedWorkUnitAndDatasetState workUnitAndDatasetState = this.workUnitAndDatasetStateFunctional.getCombinedWorkUnitAndDatasetState(datasetUrn); this.previousWorkUnitStates = workUnitAndDatasetState.getPreviousWorkUnitStates(); this.previousDatasetStatesByUrns = (Map<String, SourceState>) workUnitAndDatasetState.getPreviousDatasetStatesByUrns(); this.areWorkUnitStatesMaterialized = true; } catch (Exception e) { throw new RuntimeException(e); } } }
/** * Get a {@link List} of previous {@link WorkUnitState}s for a given datasetUrn. * @param datasetUrn * @return {@link List} of {@link WorkUnitState}s. */ public List<WorkUnitState> getPreviousWorkUnitStates(String datasetUrn) { if (this.workUnitAndDatasetStateFunctional != null) { try { CombinedWorkUnitAndDatasetState state = this.workUnitAndDatasetStateFunctional.getCombinedWorkUnitAndDatasetState(datasetUrn); return state.getPreviousWorkUnitStates(); } catch (Exception e) { throw new RuntimeException(e); } } return this.previousWorkUnitStates; }
/** * A thread-safe method for materializing previous {@link WorkUnitState}s and DatasetStates. * @param datasetUrn */ private synchronized void materializeWorkUnitAndDatasetStates(String datasetUrn) { if (!this.areWorkUnitStatesMaterialized) { try { CombinedWorkUnitAndDatasetState workUnitAndDatasetState = this.workUnitAndDatasetStateFunctional.getCombinedWorkUnitAndDatasetState(datasetUrn); this.previousWorkUnitStates = workUnitAndDatasetState.getPreviousWorkUnitStates(); this.previousDatasetStatesByUrns = (Map<String, SourceState>) workUnitAndDatasetState.getPreviousDatasetStatesByUrns(); this.areWorkUnitStatesMaterialized = true; } catch (Exception e) { throw new RuntimeException(e); } } }