function createExternalDataTypes($dbSchema) { $this->logger->log('<b>Create external data types:</b>'); #******************************* # SC_CRS #******************************* $dataType = new DataType('SC_CRS', 'DataType', $this->logger); $this->logger->log('<br><b>' . $dataType->name . '</b>'); $dataType->setSchemas($this, $dbSchema); $dataType->setId(0); # create Attributes $dataTypeAttribute = new Attribute('scope', 'CharacterString', $dataType->name); $dataTypeAttribute->setStereoType('CharacterString'); $dataTypeAttribute->attribute_type = 'ISO 19136 GML Type'; $dataTypeAttribute->setMultiplicity('1', '-1'); $this->logger->log('<br>attribute: <b>' . $dataTypeAttribute->name . '</b> datatype: <b>' . $dataTypeAttribute->datatype . '</b> stereotype: <b>' . $dataTypeAttribute->stereotype . '</b>'); $dataType->addAttribute($dataTypeAttribute); # Create Comments $comment = $dataTypeAttribute->attribute_type . ': ' . $dataTypeAttribute->name; $comment .= ' ' . $dataTypeAttribute->multiplicity; $dataType->addComment($comment); # Erzeuge SQL und registriere DataType in Liste $dataTypeSql = $dataType->asSql(); $this->logger->log('<pre>' . $dataTypeSql . '</pre>'); $sql .= $dataTypeSql; $this->dataTypes[$dataType->name] = $dataType; #******************************* # Query #******************************* $dataType = new DataType('Query', 'DataType', $this->logger); $this->logger->log('<br><b>' . $dataType->name . '</b>'); $dataType->setSchemas($this, $dbSchema); $dataType->setId(0); # create Attributes $dataTypeAttribute = new Attribute('url', 'CharacterString', $dataType->name); $dataTypeAttribute->setStereoType('CharacterString'); $dataTypeAttribute->attribute_type = 'wfs:Query nach Web Feature Service Specifikation, Version 1.0.0'; $dataTypeAttribute->setMultiplicity('0', '1'); $this->logger->log('<br>attribute: <b>' . $dataTypeAttribute->name . '</b> datatype: <b>' . $dataTypeAttribute->datatype . '</b> stereotype: <b>' . $dataTypeAttribute->stereotype . '</b>'); $dataType->addAttribute($dataTypeAttribute); # Create Comments $comment = $dataTypeAttribute->attribute_type . ': ' . $dataTypeAttribute->name; $comment .= ' ' . $dataTypeAttribute->multiplicity; $dataType->addComment($comment); # Erzeuge SQL und registriere DataType in Liste $dataTypeSql = $dataType->asSql(); $this->logger->log('<pre>' . $dataTypeSql . '</pre>'); $sql .= $dataTypeSql; $this->dataTypes[$dataType->name] = $dataType; #******************************* # Transaction #******************************* $dataType = new DataType('Transaction', 'DataType', $this->logger); $this->logger->log('<br><b>' . $dataType->name . '</b>'); $dataType->setSchemas($this, $dbSchema); $dataType->setId(0); # create Attributes $dataTypeAttribute = new Attribute('content', 'Text', $dataType->name); $dataTypeAttribute->setStereoType('CharacterString'); $dataTypeAttribute->attribute_type = 'wfs:Transaction nach Web Feature Service Specifikation, Version 1.0.0'; $dataTypeAttribute->setMultiplicity('0', '1'); $this->logger->log('<br>attribute: <b>' . $dataTypeAttribute->name . '</b> datatype: <b>' . $dataTypeAttribute->datatype . '</b> stereotype: <b>' . $dataTypeAttribute->stereotype . '</b>'); $dataType->addAttribute($dataTypeAttribute); # Create Comments $comment = $dataTypeAttribute->attribute_type . ': ' . $dataTypeAttribute->name; $comment .= ' ' . $dataTypeAttribute->multiplicity; $dataType->addComment($comment); # Erzeuge SQL und registriere DataType in Liste $dataTypeSql = $dataType->asSql(); $this->logger->log('<pre>' . $dataTypeSql . '</pre>'); $sql .= $dataTypeSql; $this->dataTypes[$dataType->name] = $dataType; #******************************* # doubleList #******************************* $dataType = new DataType('doubleList', 'DataType', $this->logger); $this->logger->log('<br><b>' . $dataType->name . '</b>'); $dataType->setSchemas($this, $dbSchema); $dataType->setId(0); # create Attributes $dataTypeAttribute = new Attribute('list', 'Sequence', $dataType->name); $dataTypeAttribute->setStereoType('Sequence'); $dataTypeAttribute->attribute_type = 'ISO 19136 GML Type'; $dataTypeAttribute->setMultiplicity('0', '1'); $this->logger->log('<br>attribute: <b>' . $dataTypeAttribute->name . '</b> datatype: <b>' . $dataTypeAttribute->datatype . '</b> stereotype: <b>' . $dataTypeAttribute->stereotype . '</b>'); $dataType->addAttribute($dataTypeAttribute); # Create Comments $comment = $dataTypeAttribute->attribute_type . ': ' . $dataTypeAttribute->name; $dataType->addComment($comment); # Erzeuge SQL und registriere DataType in Liste $dataTypeSql = $dataType->asSql(); $this->logger->log('<pre>' . $dataTypeSql . '</pre>'); $sql .= $dataTypeSql; $this->dataTypes[$dataType->name] = $dataType; #******************************* # Measure #******************************* $dataType = new DataType('Measure', 'DataType', $this->logger); $this->logger->log('<br><b>' . $dataType->name . '</b>'); $dataType->setSchemas($umlSchema, $dbSchema); $dataType->setId(0); # create Attributes $dataTypeAttribute = new Attribute('value', 'Integer', $dataType->name); $dataTypeAttribute->setStereoType('DataType'); $dataTypeAttribute->attribute_type = 'ISO 19136 GML Type'; $dataTypeAttribute->setMultiplicity('0', '1'); $this->logger->log('<br>attribute: <b>' . $dataTypeAttribute->name . '</b> datatype: <b>' . $dataTypeAttribute->datatype . '</b> stereotype: <b>' . $dataTypeAttribute->stereotype . '</b>'); $dataType->addAttribute($dataTypeAttribute); # Create Comments $comment = $dataTypeAttribute->attribute_type . ': ' . $dataTypeAttribute->name; $dataType->addComment($comment); # Erzeuge SQL und registriere DataType in Liste $dataTypeSql = $dataType->asSql(); $this->logger->log('<pre>' . $dataTypeSql . '</pre>'); $sql .= $dataTypeSql; $this->dataTypes[$dataType->name] = $dataType; return $sql; }