Created
June 21, 2013 17:17
-
-
Save TomHAnderson/5832767 to your computer and use it in GitHub Desktop.
Simple entity w/ getArrayCopy & ExchangeArray with associations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace DbLoadCd\Entity; | |
use Zend\Form\Annotation as Form; | |
use Zend\InputFilter\InputFilter; | |
use Doctrine\ORM\Event\LifecycleEventArgs; | |
/** | |
* @Form\Hydrator("Zend\Stdlib\Hydrator\ObjectProperty") | |
* @Form\Name("test") | |
*/ | |
class Test | |
{ | |
use Field\Id; | |
use Field\Name; | |
use Field\Purpose; | |
use Field\EstimatedCompletionDate; | |
use Field\Version; | |
use Field\TestSetup; | |
use Field\Note; | |
use Field\Description; | |
use Field\TestVersion; | |
use Field\StartDate; | |
use Field\EndDate; | |
use Field\RequestDate; | |
use Field\CompletionDate; | |
use Field\FirstDataReceivedTimestamp; | |
use Field\LastDataReceivedTimestamp; | |
use Field\DevelopmentBuild; | |
use Field\Invalid; | |
use Field\InvalidComment; | |
use Field\InvalidTimestamp; | |
use Field\ProcedureValidationRequired; | |
use Field\SetupValidationRequired; | |
use Field\Project; | |
use Field\TestStatus; | |
use Field\TestType; | |
use Field\TestResult; | |
use Field\Owner; | |
use Field\Operator; | |
use Relation\Artifacts; | |
use Relation\TestRuns; | |
use Relation\Users; | |
use Relation\RelatedTests; | |
use Relation\Equipment; | |
use Relation\Protocols; | |
public function __toString() | |
{ | |
return $this->getName(); | |
} | |
public function getArrayCopy() | |
{ | |
return [ | |
// Fields | |
'id' => $this->getId(), | |
'name' => $this->getName(), | |
'purpose' => $this->getPurpose(), | |
'estimatedCompletionDate' => $this->getEstimatedCompletionDate(), | |
'version' => $this->getVersion(), | |
'testSetup' => $this->getTestSetup(), | |
'note' => $this->getNote(), | |
'description' => $this->getDescription(), | |
'testVersion' => $this->getTestVersion(), | |
'startDate' => $this->getStartDate(), | |
'endDate' => $this->getEndDate(), | |
'requestDate' => $this->getRequestDate(), | |
'completionDate' => $this->getCompletionDate(), | |
'firstDataReceivedTimestamp' => $this->getFirstDataReceivedTimestamp(), | |
'lastDataReceivedTimestamp' => $this->getLastDataReceivedTimestamp(), | |
'developmentBuild' => $this->getDevelopmentBuild(), | |
'invalid' => $this->getInvalid(), | |
'invalidComment' => $this->getInvalidComment(), | |
'invalidTimestamp' => $this->getInvalidTimestamp(), | |
'procedureValidationRequired' => $this->getProcedureValidationRequired(), | |
'setupValidationRequired' => $this->getSetupValidationRequired(), | |
// Associations | |
'project' => $this->getProject(), | |
'testStatus' => $this->getTestStatus(), | |
'testType' => $this->getTestType(), | |
'testResult' => $this->getTestResult(), | |
'owner' => $this->getOwner(), | |
'operator' => $this->getOperator(), | |
]; | |
} | |
public function exchangeArray($data) | |
{ | |
// Fields | |
$this->setName(isset($data['name']) ? $data['name']: null); | |
$this->setPurpose(isset($data['purpose']) ? $data['purpose']: null); | |
$this->setEstimatedCompletionDate(isset($data['estimatedCompletionDate']) ? $data['estimatedCompletionDate']: null); | |
$this->setVersion(isset($data['version']) ? $data['version']: null); | |
$this->setTestSetup(isset($data['testSetup']) ? $data['testSetup']: null); | |
$this->setNote(isset($data['note']) ? $data['note']: null); | |
$this->setDescription(isset($data['description']) ? $data['description']: null); | |
$this->setTestVersion(isset($data['testVersion']) ? $data['testVersion']: null); | |
$this->setStartDate(isset($data['startDate']) ? $data['startDate']: null); | |
$this->setEndDate(isset($data['endDate']) ? $data['endDate']: null); | |
$this->setRequestDate(isset($data['requestDate']) ? $data['requestDate']: null); | |
$this->setCompletionDate(isset($data['completionDate']) ? $data['completionDate']: null); | |
$this->setFirstDataReceivedTimestamp(isset($data['firstDataReceivedTimestamp']) ? $data['firstDataReceivedTimestamp']: null); | |
$this->setLastDataReceivedTimestamp(isset($data['lastDataReceivedTimestamp']) ? $data['lastDataReceivedTimestamp']: null); | |
$this->setDevelopmentBuild(isset($data['developmentBuild']) ? $data['developmentBuild']: null); | |
$this->setInvalid(isset($data['invalid']) ? $data['invalid']: null); | |
$this->setInvalidComment(isset($data['invalidComment']) ? $data['invalidComment']: null); | |
$this->setInvalidTimestamp(isset($data['invalidTimestamp']) ? $data['invalidTimestamp']: null); | |
$this->setProcedureValidationRequired(isset($data['procedureValidationRequired']) ? $data['procedureValidationRequired']: null); | |
$this->setSetupValidationRequired(isset($data['setupValidationRequired']) ? $data['setupValidationRequired']: null); | |
// Associations | |
$this->setProject(isset($data['project']) ? $data['project']: null); | |
$this->setTestStatus(isset($data['testStatus']) ? $data['testStatus']: null); | |
$this->setTestType(isset($data['testType']) ? $data['testType']: null); | |
$this->setTestResult(isset($data['testResult']) ? $data['testResult']: null); | |
$this->setOwner(isset($data['owner']) ? $data['owner']: null); | |
$this->setOperator(isset($data['operator']) ? $data['operator']: null); | |
} | |
public function getInputFilter() | |
{ | |
$inputFilter = new InputFilter(); | |
$inputFilter->add($this->inputFilterInputName($inputFilter)); | |
$inputFilter->add($this->inputFilterInputPurpose($inputFilter)); | |
$inputFilter->add($this->inputFilterInputEstimatedCompletionDate($inputFilter)); | |
$inputFilter->add($this->inputFilterInputVersion($inputFilter)); | |
$inputFilter->add($this->inputFilterInputTestSetup($inputFilter)); | |
$inputFilter->add($this->inputFilterInputNote($inputFilter)); | |
$inputFilter->add($this->inputFilterInputDescription($inputFilter)); | |
$inputFilter->add($this->inputFilterInputTestVersion($inputFilter)); | |
$inputFilter->add($this->inputFilterInputStartDate($inputFilter)); | |
$inputFilter->add($this->inputFilterInputEndDate($inputFilter)); | |
$inputFilter->add($this->inputFilterInputRequestDate($inputFilter)); | |
$inputFilter->add($this->inputFilterInputCompletionDate($inputFilter)); | |
$inputFilter->add($this->inputFilterInputFirstDataReceivedTimestamp($inputFilter)); | |
$inputFilter->add($this->inputFilterInputLastDataReceivedTimestamp($inputFilter)); | |
$inputFilter->add($this->inputFilterInputDevelopmentBuild($inputFilter)); | |
$inputFilter->add($this->inputFilterInputInvalid($inputFilter)); | |
$inputFilter->add($this->inputFilterInputInvalidComment($inputFilter)); | |
$inputFilter->add($this->inputFilterInputInvalidTimestamp($inputFilter)); | |
$inputFilter->add($this->inputFilterInputProcedureValidationRequired($inputFilter)); | |
$inputFilter->add($this->inputFilterInputSetupValidationRequired($inputFilter)); | |
$inputFilter->add($this->inputFilterInputTestStatus($inputFilter)); | |
$inputFilter->add($this->inputFilterInputTestType($inputFilter)); | |
$inputFilter->add($this->inputFilterInputTestResult($inputFilter)); | |
$inputFilter->add($this->inputFilterInputOwner($inputFilter)); | |
$inputFilter->add($this->inputFilterInputOperator($inputFilter)); | |
return $inputFilter; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment