Skip to content
Snippets Groups Projects
Commit f2d728e5 authored by Cyril Vazquez's avatar Cyril Vazquez
Browse files

No commit message

No commit message
parent 0ca3721a
No related branches found
No related tags found
No related merge requests found
......@@ -57,7 +57,7 @@ class DataAccessService_Database
public function getData($dataObject)
{
$parentObject = $dataObject->getParentObject();
$parentObject = $dataObject->parentObject;
$tableName = $dataObject->name;
$table = $this->tables[$tableName];
......@@ -101,7 +101,7 @@ class DataAccessService_Database
public function saveData($dataObject)
{
$parentObject = $dataObject->getParentObject();
$parentObject = $dataObject->parentObject;
$tableName = $dataObject->name;
$table = $this->tables[$tableName];
......
......@@ -5,28 +5,14 @@ class DataObject
{
private $name;
private $label;
private $comment;
private $schemaPath;
private $parentObject;
private $storage;
public function DataObject($name, $schemaPath, $label=false, $comment=false)
public function DataObject($name, $schemaPath)
{
$this->name = $name;
$this->schemaPath = $schemaPath;
$this->label = $label;
$this->comment = $comment;
}
public function getSchemaPath()
{
return $this->schemaPath;
}
public function getParentObject()
{
return $this->parentObject;
}
public function setParentObject($parentObject)
......@@ -69,15 +55,11 @@ class DataObject
if($name === 'name') {
return $this->name;
}
if($name === 'label') {
if($this->label) {
return $this->label;
} else {
return $this->name;
}
}
if($name === 'comment') {
return $this->comment;
if($name === 'schemaPath') {
return $this->schemaPath;
}
if($name === 'parentObject') {
return $this->parentObject;
}
}
......
......@@ -4,32 +4,19 @@ class DataObjectArray
extends ArrayObject
{
private $name;
private $label;
private $comment;
private $schemaPath;
private $arraySchemaPath;
private $parentObject;
public function DataObjectArray($name, $schemaPath, $label=false, $comment=false)
public function DataObjectArray($name, $schemaPath, $arraySchemaPath)
{
$this->name = $name;
$this->schemaPath = $schemaPath;
$this->label = $label;
$this->comment = $comment;
$this->arraySchemaPath = $arraySchemaPath;
$this->setFlags(ArrayObject::ARRAY_AS_PROPS);
$this->setFlags(ArrayObject::STD_PROP_LIST);
}
public function getSchemaPath()
{
return $this->schemaPath;
}
public function getParentObject()
{
return $this->parentObject;
}
public function setParentObject($parentObject)
{
$this->parentObject = $parentObject;
......@@ -48,15 +35,14 @@ class DataObjectArray
if($name === 'name') {
return $this->name;
}
if($name === 'label') {
if($this->label) {
return $this->label;
} else {
return $this->name;
}
}
if($name === 'comment') {
return $this->comment;
if($name === 'schemaPath') {
return $this->schemaPath;
}
if($name === 'arraySchemaPath') {
return $this->arraySchemaPath;
}
if($name === 'parentObject') {
return $this->parentObject;
}
}
......
......@@ -117,7 +117,7 @@ class dataObjectController extends DOMDocument
$this->loadChildren($dataObject);
}
if($dataObject->isDataObjectArray) {
$schemaPath = $dataObject->getSchemaPath();
$schemaPath = $dataObject->schemaPath;
for($i=0; $i<count($objectDatas); $i++) {
$objectData = $objectDatas[$i];
$itemDataObject = $this->instanciateDataObject($schemaPath);
......@@ -141,7 +141,7 @@ class dataObjectController extends DOMDocument
public function saveDataObject($dataObject)
{
$schemaPath = $dataObject->getSchemaPath();
$schemaPath = $dataObject->schemaPath;
$objectSchema = $this->schema->getSchemaElement($schemaPath);
switch($objectSchema->{'das:source'}) {
case 'database':
......@@ -170,13 +170,6 @@ class dataObjectController extends DOMDocument
}
}
public function getKey($objectName)
{
$objectSchema = $this->schema->getObjectSchema($objectName);
$keyColumnNames = $objectSchema->{'das:key-columns'};
return $keyColumnNames;
}
public function setOrder($objectName, $orderElements, $orderMode='ASC')
{
$objectSchema = $this->schema->getObjectSchema($objectName);
......@@ -204,6 +197,31 @@ class dataObjectController extends DOMDocument
}
}
public function getKey($objectName)
{
$objectSchema = $this->schema->getObjectSchema($objectName);
$keyColumnNames = $objectSchema->{'das:key-columns'};
return $keyColumnNames;
}
public function getLabels($dataObject)
{
$labels = array();
$objectPath = $dataObject->schemaPath;
$objectSchema = $this->schema->getSchemaElement($objectPath);
$childElements = $objectSchema->getChildElements();
for($i=0; $i<$childElements->length;$i++) {
$inlineChildElement = $childElements->item($i);
$childElement = $inlineChildElement->getRefElement();
$childName = $childElement->name;
if($inlineChildElement->{'das:label'}) $label = $inlineChildElement->{'das:label'};
elseif($childElement->{'das:label'}) $label = $childElement->{'das:label'};
else $label = $childName;
$labels[$childName] = $label;
}
return $labels;
}
//*************************************************************************
// PRIVATE OBJECT HANDLING FUNCTIONS
......@@ -230,12 +248,8 @@ class dataObjectController extends DOMDocument
if($inlineChildElement && $inlineChildElement->isDataObjectArray()) {
$objectSchema = $this->schema->getSchemaElement($schemaPath);
$dataObject = new DataObjectArray(
$objectSchema->name,
$schemaPath,
$inlineChildElement->{'das:label'},
$inlineChildElement->{'das:comment'}
);
$arraySchemaPath = $inlineChildElement->getNodePath();
$dataObject = new DataObjectArray($objectSchema->name, $schemaPath, $arraySchemaPath);
} else {
$dataObject = unserialize(serialize($this->prototypes[$schemaPath]));
}
......@@ -245,18 +259,9 @@ class dataObjectController extends DOMDocument
private function prototypeDataObject($schemaPath)
{
$objectSchema = $this->schema->getSchemaElement($schemaPath);
/*if($objectSchema->ref) {
$objectSchema = $this->schema->getObjectSchema($objectSchema->ref);
if(!$objectSchema) die ("Referenced element named '" . $objectSchema->ref . "' not found in schema");
}*/
//echo "<br/>Create prototype object with $objectSchema->name";
$prototypeDataObject = new DataObject(
$objectSchema->name,
$schemaPath,
$objectSchema->{'das:label'},
$objectSchema->{'das:comment'}
);
$prototypeDataObject = new DataObject($objectSchema->name, $schemaPath);
// Set Das parameters
$this->setDasSource($objectSchema);
......@@ -283,13 +288,7 @@ class dataObjectController extends DOMDocument
$childValue = false;
}
//echo "<br/> Adding property '$childName'";
$dataObjectProperty = new DataObjectProperty(
$childName,
$childPath,
$childValue,
$childElement->{'das:label'},
$childElement->{'das:comment'}
);
$dataObjectProperty = new DataObjectProperty($childName, $childPath, $childValue);
$prototypeDataObject->$childName = $dataObjectProperty;
$this->setDasProperty($objectSchema, $childElement);
......@@ -404,7 +403,7 @@ class dataObjectController extends DOMDocument
private function getData($dataObject)
{
$schemaPath = $dataObject->getSchemaPath();
$schemaPath = $dataObject->schemaPath;
$objectSchema = $this->schema->getSchemaElement($schemaPath);
switch($objectSchema->{'das:source'}) {
case 'database':
......
......@@ -2,38 +2,23 @@
class DataObjectProperty
{
private $name;
private $label;
private $comment;
private $name;
private $schemaPath;
private $parentObject;
private $storage;
public function DataObjectProperty($name, $schemaPath, $value=false, $label=false, $comment=false)
public function DataObjectProperty($name, $schemaPath, $value=false)
{
$this->schemaPath = $schemaPath;
$this->name = $name;
$this->name = $name;
$this->schemaPath = $schemaPath;
$this->storage = $value;
$this->label = $label;
$this->comment = $comment;
}
public function getParentObject()
{
return $this->parentObject;
}
public function setParentObject($parentObject)
{
$this->parentObject = $parentObject;
}
public function getSchemaPath()
{
return $this->schemaPath;
}
public function __get($name) {
if($name === 'isDataObjectProperty') {
return true;
......@@ -41,18 +26,11 @@ class DataObjectProperty
if($name === 'name') {
return $this->name;
}
if($name === 'value') {
return $this->storage;
}
if($name === 'label') {
if($this->label) {
return $this->label;
} else {
return $this->name;
}
if($name === 'schemaPath') {
return $this->schemaPath;
}
if($name === 'comment') {
return $this->comment;
if($name === 'parentObject') {
return $this->parentObject;
}
}
......
......@@ -148,8 +148,6 @@ class SchemaElement extends DOMElement {
return $xpath->query($query, $contextElement);
}
function __get($name)
{
if($this->hasAttribute($name)) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment