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 ...@@ -57,7 +57,7 @@ class DataAccessService_Database
public function getData($dataObject) public function getData($dataObject)
{ {
$parentObject = $dataObject->getParentObject(); $parentObject = $dataObject->parentObject;
$tableName = $dataObject->name; $tableName = $dataObject->name;
$table = $this->tables[$tableName]; $table = $this->tables[$tableName];
...@@ -101,7 +101,7 @@ class DataAccessService_Database ...@@ -101,7 +101,7 @@ class DataAccessService_Database
public function saveData($dataObject) public function saveData($dataObject)
{ {
$parentObject = $dataObject->getParentObject(); $parentObject = $dataObject->parentObject;
$tableName = $dataObject->name; $tableName = $dataObject->name;
$table = $this->tables[$tableName]; $table = $this->tables[$tableName];
......
...@@ -5,28 +5,14 @@ class DataObject ...@@ -5,28 +5,14 @@ class DataObject
{ {
private $name; private $name;
private $label;
private $comment;
private $schemaPath; private $schemaPath;
private $parentObject; private $parentObject;
private $storage; private $storage;
public function DataObject($name, $schemaPath, $label=false, $comment=false) public function DataObject($name, $schemaPath)
{ {
$this->name = $name; $this->name = $name;
$this->schemaPath = $schemaPath; $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) public function setParentObject($parentObject)
...@@ -69,15 +55,11 @@ class DataObject ...@@ -69,15 +55,11 @@ class DataObject
if($name === 'name') { if($name === 'name') {
return $this->name; return $this->name;
} }
if($name === 'label') { if($name === 'schemaPath') {
if($this->label) { return $this->schemaPath;
return $this->label; }
} else { if($name === 'parentObject') {
return $this->name; return $this->parentObject;
}
}
if($name === 'comment') {
return $this->comment;
} }
} }
......
...@@ -4,32 +4,19 @@ class DataObjectArray ...@@ -4,32 +4,19 @@ class DataObjectArray
extends ArrayObject extends ArrayObject
{ {
private $name; private $name;
private $label;
private $comment;
private $schemaPath; private $schemaPath;
private $arraySchemaPath;
private $parentObject; private $parentObject;
public function DataObjectArray($name, $schemaPath, $label=false, $comment=false) public function DataObjectArray($name, $schemaPath, $arraySchemaPath)
{ {
$this->name = $name; $this->name = $name;
$this->schemaPath = $schemaPath; $this->schemaPath = $schemaPath;
$this->label = $label; $this->arraySchemaPath = $arraySchemaPath;
$this->comment = $comment;
$this->setFlags(ArrayObject::ARRAY_AS_PROPS); $this->setFlags(ArrayObject::ARRAY_AS_PROPS);
$this->setFlags(ArrayObject::STD_PROP_LIST); $this->setFlags(ArrayObject::STD_PROP_LIST);
} }
public function getSchemaPath()
{
return $this->schemaPath;
}
public function getParentObject()
{
return $this->parentObject;
}
public function setParentObject($parentObject) public function setParentObject($parentObject)
{ {
$this->parentObject = $parentObject; $this->parentObject = $parentObject;
...@@ -48,15 +35,14 @@ class DataObjectArray ...@@ -48,15 +35,14 @@ class DataObjectArray
if($name === 'name') { if($name === 'name') {
return $this->name; return $this->name;
} }
if($name === 'label') { if($name === 'schemaPath') {
if($this->label) { return $this->schemaPath;
return $this->label; }
} else { if($name === 'arraySchemaPath') {
return $this->name; return $this->arraySchemaPath;
} }
} if($name === 'parentObject') {
if($name === 'comment') { return $this->parentObject;
return $this->comment;
} }
} }
......
...@@ -117,7 +117,7 @@ class dataObjectController extends DOMDocument ...@@ -117,7 +117,7 @@ class dataObjectController extends DOMDocument
$this->loadChildren($dataObject); $this->loadChildren($dataObject);
} }
if($dataObject->isDataObjectArray) { if($dataObject->isDataObjectArray) {
$schemaPath = $dataObject->getSchemaPath(); $schemaPath = $dataObject->schemaPath;
for($i=0; $i<count($objectDatas); $i++) { for($i=0; $i<count($objectDatas); $i++) {
$objectData = $objectDatas[$i]; $objectData = $objectDatas[$i];
$itemDataObject = $this->instanciateDataObject($schemaPath); $itemDataObject = $this->instanciateDataObject($schemaPath);
...@@ -141,7 +141,7 @@ class dataObjectController extends DOMDocument ...@@ -141,7 +141,7 @@ class dataObjectController extends DOMDocument
public function saveDataObject($dataObject) public function saveDataObject($dataObject)
{ {
$schemaPath = $dataObject->getSchemaPath(); $schemaPath = $dataObject->schemaPath;
$objectSchema = $this->schema->getSchemaElement($schemaPath); $objectSchema = $this->schema->getSchemaElement($schemaPath);
switch($objectSchema->{'das:source'}) { switch($objectSchema->{'das:source'}) {
case 'database': case 'database':
...@@ -170,13 +170,6 @@ class dataObjectController extends DOMDocument ...@@ -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') public function setOrder($objectName, $orderElements, $orderMode='ASC')
{ {
$objectSchema = $this->schema->getObjectSchema($objectName); $objectSchema = $this->schema->getObjectSchema($objectName);
...@@ -204,6 +197,31 @@ class dataObjectController extends DOMDocument ...@@ -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 // PRIVATE OBJECT HANDLING FUNCTIONS
...@@ -230,12 +248,8 @@ class dataObjectController extends DOMDocument ...@@ -230,12 +248,8 @@ class dataObjectController extends DOMDocument
if($inlineChildElement && $inlineChildElement->isDataObjectArray()) { if($inlineChildElement && $inlineChildElement->isDataObjectArray()) {
$objectSchema = $this->schema->getSchemaElement($schemaPath); $objectSchema = $this->schema->getSchemaElement($schemaPath);
$dataObject = new DataObjectArray( $arraySchemaPath = $inlineChildElement->getNodePath();
$objectSchema->name, $dataObject = new DataObjectArray($objectSchema->name, $schemaPath, $arraySchemaPath);
$schemaPath,
$inlineChildElement->{'das:label'},
$inlineChildElement->{'das:comment'}
);
} else { } else {
$dataObject = unserialize(serialize($this->prototypes[$schemaPath])); $dataObject = unserialize(serialize($this->prototypes[$schemaPath]));
} }
...@@ -245,18 +259,9 @@ class dataObjectController extends DOMDocument ...@@ -245,18 +259,9 @@ class dataObjectController extends DOMDocument
private function prototypeDataObject($schemaPath) private function prototypeDataObject($schemaPath)
{ {
$objectSchema = $this->schema->getSchemaElement($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"; //echo "<br/>Create prototype object with $objectSchema->name";
$prototypeDataObject = new DataObject( $prototypeDataObject = new DataObject($objectSchema->name, $schemaPath);
$objectSchema->name,
$schemaPath,
$objectSchema->{'das:label'},
$objectSchema->{'das:comment'}
);
// Set Das parameters // Set Das parameters
$this->setDasSource($objectSchema); $this->setDasSource($objectSchema);
...@@ -283,13 +288,7 @@ class dataObjectController extends DOMDocument ...@@ -283,13 +288,7 @@ class dataObjectController extends DOMDocument
$childValue = false; $childValue = false;
} }
//echo "<br/> Adding property '$childName'"; //echo "<br/> Adding property '$childName'";
$dataObjectProperty = new DataObjectProperty( $dataObjectProperty = new DataObjectProperty($childName, $childPath, $childValue);
$childName,
$childPath,
$childValue,
$childElement->{'das:label'},
$childElement->{'das:comment'}
);
$prototypeDataObject->$childName = $dataObjectProperty; $prototypeDataObject->$childName = $dataObjectProperty;
$this->setDasProperty($objectSchema, $childElement); $this->setDasProperty($objectSchema, $childElement);
...@@ -404,7 +403,7 @@ class dataObjectController extends DOMDocument ...@@ -404,7 +403,7 @@ class dataObjectController extends DOMDocument
private function getData($dataObject) private function getData($dataObject)
{ {
$schemaPath = $dataObject->getSchemaPath(); $schemaPath = $dataObject->schemaPath;
$objectSchema = $this->schema->getSchemaElement($schemaPath); $objectSchema = $this->schema->getSchemaElement($schemaPath);
switch($objectSchema->{'das:source'}) { switch($objectSchema->{'das:source'}) {
case 'database': case 'database':
......
...@@ -2,38 +2,23 @@ ...@@ -2,38 +2,23 @@
class DataObjectProperty class DataObjectProperty
{ {
private $name;
private $name;
private $label;
private $comment;
private $schemaPath; private $schemaPath;
private $parentObject; private $parentObject;
private $storage; 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->storage = $value;
$this->label = $label;
$this->comment = $comment;
} }
public function getParentObject()
{
return $this->parentObject;
}
public function setParentObject($parentObject) public function setParentObject($parentObject)
{ {
$this->parentObject = $parentObject; $this->parentObject = $parentObject;
} }
public function getSchemaPath()
{
return $this->schemaPath;
}
public function __get($name) { public function __get($name) {
if($name === 'isDataObjectProperty') { if($name === 'isDataObjectProperty') {
return true; return true;
...@@ -41,18 +26,11 @@ class DataObjectProperty ...@@ -41,18 +26,11 @@ class DataObjectProperty
if($name === 'name') { if($name === 'name') {
return $this->name; return $this->name;
} }
if($name === 'value') { if($name === 'schemaPath') {
return $this->storage; return $this->schemaPath;
}
if($name === 'label') {
if($this->label) {
return $this->label;
} else {
return $this->name;
}
} }
if($name === 'comment') { if($name === 'parentObject') {
return $this->comment; return $this->parentObject;
} }
} }
......
...@@ -148,8 +148,6 @@ class SchemaElement extends DOMElement { ...@@ -148,8 +148,6 @@ class SchemaElement extends DOMElement {
return $xpath->query($query, $contextElement); return $xpath->query($query, $contextElement);
} }
function __get($name) function __get($name)
{ {
if($this->hasAttribute($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