30 #ifndef GOOGLE_DATAFLOW_API_WORK_ITEM_H_ 31 #define GOOGLE_DATAFLOW_API_WORK_ITEM_H_ 34 #include "googleapis/base/integral_types.h" 35 #include "googleapis/base/macros.h" 36 #include "googleapis/client/data/jsoncpp_data.h" 37 #include "googleapis/strings/stringpiece.h" 39 #include "google/dataflow_api/map_task.h" 40 #include "google/dataflow_api/package.h" 41 #include "google/dataflow_api/seq_map_task.h" 42 #include "google/dataflow_api/shell_task.h" 43 #include "google/dataflow_api/source_operation_request.h" 44 #include "google/dataflow_api/streaming_computation_task.h" 45 #include "google/dataflow_api/streaming_config_task.h" 46 #include "google/dataflow_api/streaming_setup_task.h" 75 explicit WorkItem(
const Json::Value& storage);
82 explicit WorkItem(Json::Value* storage);
95 return StringPiece(
"google_dataflow_api::WorkItem");
104 return Storage().isMember(
"configuration");
111 MutableStorage()->removeMember(
"configuration");
119 const Json::Value& v = Storage(
"configuration");
120 if (v == Json::Value::null)
return StringPiece(
"");
121 return StringPiece(v.asCString());
132 *MutableStorage(
"configuration") = value.data();
141 return Storage().isMember(
"id");
148 MutableStorage()->removeMember(
"id");
156 const Json::Value& storage = Storage(
"id");
157 return client::JsonValueToCppValueHelper<int64 >(storage);
168 client::SetJsonValueFromCppValueHelper<int64 >(
169 value, MutableStorage(
"id"));
178 return Storage().isMember(
"initialReportIndex");
185 MutableStorage()->removeMember(
"initialReportIndex");
193 const Json::Value& storage = Storage(
"initialReportIndex");
194 return client::JsonValueToCppValueHelper<int64 >(storage);
205 client::SetJsonValueFromCppValueHelper<int64 >(
206 value, MutableStorage(
"initialReportIndex"));
215 return Storage().isMember(
"jobId");
222 MutableStorage()->removeMember(
"jobId");
230 const Json::Value& v = Storage(
"jobId");
231 if (v == Json::Value::null)
return StringPiece(
"");
232 return StringPiece(v.asCString());
243 *MutableStorage(
"jobId") = value.data();
252 return Storage().isMember(
"leaseExpireTime");
259 MutableStorage()->removeMember(
"leaseExpireTime");
267 const Json::Value& v = Storage(
"leaseExpireTime");
268 if (v == Json::Value::null)
return StringPiece(
"");
269 return StringPiece(v.asCString());
280 *MutableStorage(
"leaseExpireTime") = value.data();
289 return Storage().isMember(
"mapTask");
296 MutableStorage()->removeMember(
"mapTask");
303 const MapTask get_map_task()
const;
320 return Storage().isMember(
"packages");
327 MutableStorage()->removeMember(
"packages");
334 const client::JsonCppArray<Package > get_packages()
const;
345 client::JsonCppArray<Package > mutable_packages();
353 return Storage().isMember(
"projectId");
360 MutableStorage()->removeMember(
"projectId");
368 const Json::Value& v = Storage(
"projectId");
369 if (v == Json::Value::null)
return StringPiece(
"");
370 return StringPiece(v.asCString());
381 *MutableStorage(
"projectId") = value.data();
390 return Storage().isMember(
"reportStatusInterval");
397 MutableStorage()->removeMember(
"reportStatusInterval");
405 const Json::Value& v = Storage(
"reportStatusInterval");
406 if (v == Json::Value::null)
return StringPiece(
"");
407 return StringPiece(v.asCString());
418 *MutableStorage(
"reportStatusInterval") = value.data();
427 return Storage().isMember(
"seqMapTask");
434 MutableStorage()->removeMember(
"seqMapTask");
459 return Storage().isMember(
"shellTask");
466 MutableStorage()->removeMember(
"shellTask");
491 return Storage().isMember(
"sourceOperationTask");
498 MutableStorage()->removeMember(
"sourceOperationTask");
525 return Storage().isMember(
"streamingComputationTask");
532 MutableStorage()->removeMember(
"streamingComputationTask");
558 return Storage().isMember(
"streamingConfigTask");
565 MutableStorage()->removeMember(
"streamingConfigTask");
591 return Storage().isMember(
"streamingSetupTask");
598 MutableStorage()->removeMember(
"streamingSetupTask");
622 #endif // GOOGLE_DATAFLOW_API_WORK_ITEM_H_ const StringPiece get_project_id() const
Definition: work_item.h:367
bool has_report_status_interval() const
Definition: work_item.h:389
bool has_packages() const
Definition: work_item.h:319
Definition: seq_map_task.h:53
bool has_id() const
Definition: work_item.h:140
Definition: shell_task.h:51
void clear_id()
Definition: work_item.h:147
void set_configuration(const StringPiece &value)
Definition: work_item.h:131
bool has_configuration() const
Definition: work_item.h:103
Definition: source_operation_request.h:54
bool has_job_id() const
Definition: work_item.h:214
void set_report_status_interval(const StringPiece &value)
Definition: work_item.h:417
void set_id(int64 value)
Definition: work_item.h:167
void clear_streaming_computation_task()
Definition: work_item.h:531
const StringPiece get_configuration() const
Definition: work_item.h:118
Definition: map_task.h:57
void clear_shell_task()
Definition: work_item.h:465
Definition: streaming_config_task.h:53
const StringPiece GetTypeName() const
Definition: work_item.h:94
bool has_seq_map_task() const
Definition: work_item.h:426
bool has_source_operation_task() const
Definition: work_item.h:490
bool has_streaming_config_task() const
Definition: work_item.h:557
void clear_seq_map_task()
Definition: work_item.h:433
void clear_report_status_interval()
Definition: work_item.h:396
void set_lease_expire_time(const StringPiece &value)
Definition: work_item.h:279
const StringPiece get_report_status_interval() const
Definition: work_item.h:404
bool has_lease_expire_time() const
Definition: work_item.h:251
bool has_project_id() const
Definition: work_item.h:352
void set_project_id(const StringPiece &value)
Definition: work_item.h:380
bool has_map_task() const
Definition: work_item.h:288
bool has_streaming_computation_task() const
Definition: work_item.h:524
bool has_shell_task() const
Definition: work_item.h:458
Definition: approximate_progress.h:40
bool has_initial_report_index() const
Definition: work_item.h:177
void clear_streaming_setup_task()
Definition: work_item.h:597
void clear_initial_report_index()
Definition: work_item.h:184
void set_job_id(const StringPiece &value)
Definition: work_item.h:242
void set_initial_report_index(int64 value)
Definition: work_item.h:204
int64 get_initial_report_index() const
Definition: work_item.h:192
void clear_streaming_config_task()
Definition: work_item.h:564
void clear_project_id()
Definition: work_item.h:359
Definition: work_item.h:61
int64 get_id() const
Definition: work_item.h:155
void clear_packages()
Definition: work_item.h:326
void clear_lease_expire_time()
Definition: work_item.h:258
Definition: streaming_setup_task.h:53
bool has_streaming_setup_task() const
Definition: work_item.h:590
void clear_configuration()
Definition: work_item.h:110
Definition: approximate_progress.cc:42
const StringPiece get_lease_expire_time() const
Definition: work_item.h:266
Definition: streaming_computation_task.h:54
void clear_source_operation_task()
Definition: work_item.h:497
const StringPiece get_job_id() const
Definition: work_item.h:229
void clear_job_id()
Definition: work_item.h:221
void clear_map_task()
Definition: work_item.h:295