Example #1
0
 function listFeatureTypesAttributes($stereotype, $parent, $class, $with_first_attrib_name = false)
 {
     $this->logger->log('<br><b>Klasse: ' . $class['name'] . '</b> (' . $class['xmi_id'] . ')');
     # Erzeuge FeatueType
     $featureType = new FeatureType($class['name'], $parent, $this->logger, $this->umlSchema);
     $featureType->setId($class['id']);
     $featureType->primaryKey = 'gml_id';
     if ($parent != null) {
         $this->logger->log(' abgeleitet von: <b>' . $parent->alias . '</b>');
     }
     $featureType->getAttributesUntilLeafs($featureType->alias, $stereotype, array());
     $featureType->flattenAttributes();
     # lade abgeleitete Klassen
     $subClasses = $this->umlSchema->getSubUmlClasses($stereotype, $class);
     if (empty($subClasses)) {
         if ($with_first_attrib_name) {
             $featureType->unifyShortNamesWithFirst(1);
         } else {
             $featureType->unifyShortNames(1);
         }
         $this->renameList = array_merge($this->renameList, $featureType->outputFlattenedAttributes());
         if ($this->logger->level > 0) {
             $featureType->outputFlattendedAttributTable();
         }
     }
     foreach ($subClasses as $subClass) {
         $this->listFeatureTypesAttributes($stereotype, $featureType, $subClass, $with_first_attrib_name);
     }
 }