public function addActivity($data) { if (! ($process = $this->getProcess("object"))) { throw new \Exception(sprintf("Error: There is not an initialized diagram for Project with prj_uid: %s.", $this->getUid())); } // setting defaults $processUid = $process->getProUid(); $data["ACT_UID"] = (array_key_exists("ACT_UID", $data))? $data["ACT_UID"] : Common::generateUID(); $data["PRO_UID"] = $processUid; if (isset($data["ACT_LOOP_TYPE"]) && $data["ACT_LOOP_TYPE"] == "NONE") { $data["ACT_LOOP_TYPE"] = "EMPTY"; } try { self::log("Add Activity with data: ", $data); $activity = new Activity(); $activity->fromArray($data); $activity->setPrjUid($this->getUid()); $activity->setProUid($processUid); $activity->save(); self::log("Add Activity Success!"); } catch (\Exception $e) { self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString()); throw $e; } return $activity->getActUid(); }