From 3b6b3ed6df69b14fc3a12e87bce78e9ca35f3c1b Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Tue, 3 Nov 2026 14:17:58 +0100 Subject: [PATCH 1/4] test(archimate): golden for both import entry points over five fixtures Records every object service, progress tracker, database and logger call and the result, recorded on the code before the parameter refactor. Assisted-by: ClaudeCode:claude-opus-5-5 --- tests/Stubs/Service/OrganisationService.php | 7 + .../Service/ArchiMateImportGoldenTest.php | 462 + .../Unit/Service/golden/archiMateImport.json | 26537 ++++++++++++++++ tests/data/archimate_golden.xml | 144 + 4 files changed, 27150 insertions(+) create mode 100644 tests/Unit/Service/ArchiMateImportGoldenTest.php create mode 100644 tests/Unit/Service/golden/archiMateImport.json create mode 100644 tests/data/archimate_golden.xml diff --git a/tests/Stubs/Service/OrganisationService.php b/tests/Stubs/Service/OrganisationService.php index 7f7a13e9d..d535023cf 100644 --- a/tests/Stubs/Service/OrganisationService.php +++ b/tests/Stubs/Service/OrganisationService.php @@ -39,6 +39,13 @@ abstract class OrganisationService { */ abstract public function getActiveOrganisation(): ?Organisation; + /** + * Get the default organisation, creating it when it does not exist yet. + * + * @return Organisation + */ + abstract public function ensureDefaultOrganisation(): Organisation; + /** * Get the caller's own organisations (session-scoped). * diff --git a/tests/Unit/Service/ArchiMateImportGoldenTest.php b/tests/Unit/Service/ArchiMateImportGoldenTest.php new file mode 100644 index 000000000..401593599 --- /dev/null +++ b/tests/Unit/Service/ArchiMateImportGoldenTest.php @@ -0,0 +1,462 @@ + + * @copyright 2026 Conduction B.V. + * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * @link https://github.com/ConductionNL/stackiq + * + * @spec openspec/specs/archimate-import/spec.md + */ + +declare(strict_types=1); + +namespace OCA\Stackiq\Tests\Unit\Service; + +use OCA\OpenRegister\Contract\ObjectServiceInterface; +use OCA\OpenRegister\Db\Organisation; +use OCA\OpenRegister\Service\ObjectService; +use OCA\OpenRegister\Service\OrganisationService; +use OCA\Stackiq\Service\ArchiMateImportService; +use OCA\Stackiq\Service\ProgressTracker; +use OCA\Stackiq\Service\SettingsService; +use OCP\App\IAppManager; +use OCP\DB\IResult; +use OCP\IAppConfig; +use OCP\IDBConnection; +use OCP\IUser; +use OCP\IUserSession; +use PHPUnit\Framework\TestCase; +use Psr\Container\ContainerInterface; +use Psr\Log\AbstractLogger; + +/** + * Golden cases for the ArchiMate import. + * + * @covers \OCA\Stackiq\Service\ArchiMateImportService + * + * @spec openspec/specs/archimate-import/spec.md + */ +class ArchiMateImportGoldenTest extends TestCase { + + /** + * Context keys whose values depend on the clock or the memory of the run. + */ + private const VOLATILE = '/(time|seconds|memory|_mb$|cycles|per_second|percent|published|extracted_at|trace)/'; + + /** + * Schema ids the AMEF configuration names. + */ + private const AMEF_CONFIG = [ + 'register' => '7', + 'model_schema' => '10', + 'element_schema' => '11', + 'relation_schema' => '12', + 'view_schema' => '13', + 'organization_schema' => '14', + 'property_definition_schema' => '15', + ]; + + /** + * Everything the doubles saw, in order. + * + * @var array + */ + private array $trace = []; + + /** + * Per-case behaviour of the doubles. + * + * @var array + */ + private array $plan = []; + + /** + * The golden file. + * + * @return string + */ + private static function golden(): string { + return __DIR__ . '/golden/archiMateImport.json'; + + }//end golden() + + /** + * The cases: a fixture, an entry point and the behaviour of the doubles. + * + * @return array}> + */ + public static function cases(): array { + $data = __DIR__ . '/../../data/'; + $fixtures = __DIR__ . '/../../fixtures/archimate/'; + $golden = $data . 'archimate_golden.xml'; + return [ + 'sample optimized' => [$data . 'sample_archimate.xml', 'optimized', []], + 'sample classic' => [$data . 'sample_archimate.xml', 'classic', []], + 'golden optimized' => [$golden, 'optimized', []], + 'golden classic' => [$golden, 'classic', []], + 'golden optimized tracked' => [$golden, 'optimized', ['operationId' => 'archimate_import_golden01']], + 'golden optimized cancelled' => [$golden, 'optimized', ['operationId' => 'archimate_import_golden02', 'cancelOnCall' => 4]], + 'golden optimized failing save' => [$golden, 'optimized', ['failSchema' => 12]], + 'golden optimized no org' => [$golden, 'optimized', ['noOrganisation' => true]], + 'golden classic model exists' => [$golden, 'classic', ['modelExists' => true]], + 'golden classic no view schema' => [$golden, 'optimized', ['noViewSchema' => true]], + 'big1 optimized' => [$fixtures . 'big1.xml', 'optimized', []], + 'big1 classic' => [$fixtures . 'big1.xml', 'classic', []], + 'big2 optimized' => [$fixtures . 'big2.xml', 'optimized', []], + 'big2 classic' => [$fixtures . 'big2.xml', 'classic', []], + 'noorg optimized' => [$fixtures . 'noorg.xml', 'optimized', []], + 'noorg classic' => [$fixtures . 'noorg.xml', 'classic', []], + ]; + + }//end cases() + + /** + * Each case matches its recording. + * + * @param string $file The ArchiMate file. + * @param string $entry Which entry point runs. + * @param array $plan The behaviour of the doubles. + * + * @return void + * + * @dataProvider cases + */ + public function testImportMatchesTheRecording(string $file, string $entry, array $plan): void { + $this->plan = $plan; + $this->trace = []; + $service = $this->service(); + $options = ['file_path' => $file, 'fileName' => basename($file)]; + if (isset($plan['operationId']) === true) { + $options['operationId'] = $plan['operationId']; + } + + try { + if ($entry === 'optimized') { + $result = $service->importArchiMateFileFromPathOptimized($options); + } else { + $result = $service->importArchiMateFileFromPath($options); + } + } catch (\Throwable $e) { + $message = preg_replace('/ (called )?in \/\S+ on line \d+/', '', $e->getMessage()); + $result = ['escaped' => get_class($e), 'message' => $message]; + } + + $key = $entry . ' ' . basename($file) . ' ' . json_encode($plan); + $this->check(key: $key, value: ['result' => $result, 'calls' => $this->trace]); + + }//end testImportMatchesTheRecording() + + /** + * The service with recording doubles for every collaborator. + * + * @return ArchiMateImportService + */ + private function service(): ArchiMateImportService { + $config = $this->createMock(IAppConfig::class); + $config->method('getValueString')->willReturnCallback( + fn (string $app, string $key, string $default = '') => $key === 'amef_config' ? json_encode(self::AMEF_CONFIG) : $default + ); + + $user = $this->createMock(IUser::class); + $user->method('getUID')->willReturn('importer'); + $userSession = $this->createMock(IUserSession::class); + $userSession->method('getUser')->willReturn($user); + + $appManager = $this->createMock(IAppManager::class); + $appManager->method('isInstalled')->willReturn(true); + + $objectService = $this->objectService(); + $container = $this->createMock(ContainerInterface::class); + $container->method('get')->willReturnCallback( + fn (string $id) => $id === ObjectService::class ? $objectService : null + ); + + $settings = $this->createMock(SettingsService::class); + $settings->method('getSchemaIdForObjectType')->willReturnCallback( + function (string $type): ?int { + $this->trace[] = ['settings.getSchemaIdForObjectType', $type]; + if ($type === 'view' && isset($this->plan['noViewSchema']) === true) { + return null; + } + + $ids = ['model' => 10, 'element' => 11, 'relationship' => 12, 'view' => 13, 'organization' => 14, 'property_definition' => 15]; + return $ids[$type] ?? null; + } + ); + + return new ArchiMateImportService( + config: $config, + userSession: $userSession, + appManager: $appManager, + container: $container, + logger: $this->logger(), + settingsService: $settings, + organisationService: $this->organisationService(), + dbConnection: $this->database(), + progressTracker: $this->progressTracker() + ); + + }//end service() + + /** + * An object service that records the saves and the existence query. + * + * @return ObjectServiceInterface + */ + private function objectService(): ObjectServiceInterface { + $objectService = $this->createMock(ObjectServiceInterface::class); + $objectService->method('saveObjects')->willReturnCallback( + function (array $objects, $register, $schema, $rbac, $multitenancy, $validation, $events): array { + $this->trace[] = [ + 'objects.saveObjects', + [ + 'objects' => $objects, + 'register' => $register, + 'schema' => $schema, + '_rbac' => $rbac, + '_multitenancy' => $multitenancy, + 'validation' => $validation, + 'events' => $events, + ], + ]; + if (($this->plan['failSchema'] ?? null) === $schema) { + throw new \RuntimeException('save failed for schema ' . $schema); + } + + $ids = array_map(fn (array $object) => $this->savedEntity(id: $object['@self']['id'] ?? null), $objects); + return ['saved' => array_slice($ids, 1), 'updated' => array_slice($ids, 0, 1), 'unchanged' => [], 'invalid' => []]; + } + ); + $objectService->method('searchObjects')->willReturnCallback( + function (array $query): array { + $this->trace[] = ['objects.searchObjects', $query]; + if (isset($this->plan['modelExists']) === true) { + return [['id' => 'existing-model']]; + } + + return []; + } + ); + + return $objectService; + + }//end objectService() + + /** + * A saved object as the object service hands it back. + * + * @param string|null $id The object id. + * + * @return object + */ + private function savedEntity(?string $id): object { + return new class($id) implements \JsonSerializable { + /** + * Build the saved object. + * + * @param string|null $id The object id. + */ + public function __construct(private ?string $id) { + } + + /** + * @return string|null + */ + public function getUuid(): ?string { + return $this->id; + } + + /** + * @return array + */ + public function jsonSerialize(): array { + return ['id' => $this->id]; + } + }; + + }//end savedEntity() + + /** + * An organisation service that hands out the default organisation, or fails. + * + * @return OrganisationService + */ + private function organisationService(): OrganisationService { + $organisation = new Organisation(); + $organisation->setUuid('org-default'); + $service = $this->createMock(OrganisationService::class); + if (isset($this->plan['noOrganisation']) === true) { + $service->method('ensureDefaultOrganisation')->willThrowException(new \RuntimeException('no default organisation')); + return $service; + } + + $service->method('ensureDefaultOrganisation')->willReturn($organisation); + return $service; + + }//end organisationService() + + /** + * A database whose Standaard query returns one row and whose updates are recorded. + * + * @return IDBConnection + */ + private function database(): IDBConnection { + $rows = [['identifier' => 'id-std-1', '_uuid' => 'uuid-std-1']]; + $result = $this->createMock(IResult::class); + $result->method('fetch')->willReturnCallback( + function () use (&$rows) { + return array_shift($rows) ?? false; + } + ); + $database = $this->createMock(IDBConnection::class); + $database->method('executeQuery')->willReturnCallback( + function (string $sql) use ($result): IResult { + $this->trace[] = ['db.executeQuery', $sql]; + return $result; + } + ); + $database->method('executeStatement')->willReturnCallback( + function (string $sql, array $params = []): int { + $this->trace[] = ['db.executeStatement', $sql, $params]; + return 1; + } + ); + + return $database; + + }//end database() + + /** + * A progress tracker that records every call and cancels on the planned check. + * + * @return ProgressTracker + */ + private function progressTracker(): ProgressTracker { + $tracker = $this->createMock(ProgressTracker::class); + $tracker->method('startOperation')->willReturnCallback( + function (string $operationType, array $options = [], ?string $ownerUid = null, ?string $operationId = null): string { + $this->trace[] = ['progress.startOperation', $operationType, $operationId]; + return (string) $operationId; + } + ); + $checks = 0; + $tracker->method('isCancelRequested')->willReturnCallback( + function (string $operationId) use (&$checks): bool { + $checks++; + $this->trace[] = ['progress.isCancelRequested', $operationId, $checks]; + return $checks === ($this->plan['cancelOnCall'] ?? 0); + } + ); + foreach (['setPhase', 'updateProgress', 'completeOperation', 'failOperation', 'cancelOperation'] as $method) { + $tracker->method($method)->willReturnCallback( + function (...$args) use ($method): void { + $this->trace[] = ['progress.' . $method, $args]; + } + ); + } + + return $tracker; + + }//end progressTracker() + + /** + * A logger that records every line. + * + * @return AbstractLogger + */ + private function logger(): AbstractLogger { + $trace = &$this->trace; + return new class($trace) extends AbstractLogger { + /** + * Build the logger. + * + * @param array $trace The shared trace. + */ + public function __construct(private array &$trace) { + } + + /** + * Record one line. + * + * @param mixed $level The level. + * @param string|\Stringable $message The message. + * @param array $context The context. + * + * @return void + */ + public function log($level, string|\Stringable $message, array $context = []): void { + $message = (string) $message; + if (str_contains($message, '#0 ') === true) { + $message = ''; + } + + $this->trace[] = ['log.' . $level, $message, $context]; + } + }; + + }//end logger() + + /** + * Mask the values that depend on the clock or the memory of the run. + * + * @param mixed $value The recorded value. + * + * @return mixed + */ + private static function mask(mixed $value): mixed { + if (is_array($value) === false) { + return $value; + } + + foreach ($value as $key => $item) { + if (is_string($key) === true && preg_match(self::VOLATILE, $key) === 1) { + $value[$key] = ''; + continue; + } + + $value[$key] = self::mask($item); + } + + return $value; + + }//end mask() + + /** + * Compare a case with the golden file, or record it. + * + * @param string $key The case. + * @param array $value What the case observed. + * + * @return void + */ + private function check(string $key, array $value): void { + $json = self::mask(json_decode(json_encode($value, JSON_PARTIAL_OUTPUT_ON_ERROR), true)); + $file = self::golden(); + $saved = []; + if (file_exists($file) === true) { + $saved = json_decode((string) file_get_contents($file), true); + } + + if (getenv('RECORD_GOLDEN') !== false) { + $saved[$key] = $json; + file_put_contents($file, json_encode($saved, (JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)) . "\n"); + $this->addToAssertionCount(count: 1); + return; + } + + $this->assertArrayHasKey(key: $key, array: $saved, message: 'No golden for ' . $key); + $this->assertSame(expected: $saved[$key], actual: $json); + + }//end check() + +}//end class diff --git a/tests/Unit/Service/golden/archiMateImport.json b/tests/Unit/Service/golden/archiMateImport.json new file mode 100644 index 000000000..0bfcaee31 --- /dev/null +++ b/tests/Unit/Service/golden/archiMateImport.json @@ -0,0 +1,26537 @@ +{ + "optimized sample_archimate.xml []": { + "result": { + "success": true, + "file_info": { + "name": "sample_archimate.xml", + "size": 1111 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 5, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 5, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 1, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 1, + "total_objects_updated": 4, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/sample_archimate.xml", + "fileName": "sample_archimate.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_name", + "_attributes", + "___identifier", + "___name", + "elements", + "relationships", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "test-model" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "test-model" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 2, + "relationships_count": 1, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 1 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 2, + "sample_identifiers": [ + "test-element-1", + "test-element-2" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 2 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 2, + "referenced_elements": 0, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 5 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 5, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "type", + "value": "archimate:BusinessActor", + "object_id": "test-element-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 2, + "elements_with_gemma_type": 2, + "gemma_type_variations": { + "archimate:BusinessActor": 1, + "archimate:BusinessRole": 1 + }, + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 4, + "schemas": { + "10": 1, + "11": 2, + "12": 1, + "13": 1 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "test-model", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "test-model", + "section": "model", + "model_identifier": "test-model", + "xml": { + "name": "Test ArchiMate Model", + "documentation": "", + "properties": [], + "propertyDefinitionMap": [] + }, + "name": "Test ArchiMate Model", + "documentation": "", + "properties": [], + "propertyDefinitionMap": [], + ":identifier": "test-model", + ":name": "Test ArchiMate Model" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "test-element-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "test-element-1" + }, + "identifier": "test-element-1", + "section": "element", + "model_identifier": "test-model", + "xml": { + "_attributes": { + "identifier": "test-element-1", + ":identifier": "test-element-1", + "xsi:type": "archimate:BusinessActor" + }, + "name": { + "_value": "Test Business Actor" + }, + "properties": { + "property": { + "_identifier": "test-prop-1", + "_attributes": { + "identifier": "test-prop-1", + ":identifier": "test-prop-1" + }, + "___identifier": "test-prop-1", + "value": { + "_value": "Test Property Value" + } + } + }, + "_essential_data": true + }, + "name": "Test Business Actor", + "type": "archimate:BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "test-element-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "test-element-2" + }, + "identifier": "test-element-2", + "section": "element", + "model_identifier": "test-model", + "xml": { + "_attributes": { + "identifier": "test-element-2", + ":identifier": "test-element-2", + "xsi:type": "archimate:BusinessRole" + }, + "name": { + "_value": "Test Business Role" + }, + "_essential_data": true + }, + "name": "Test Business Role", + "type": "archimate:BusinessRole" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "test-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "test-rel-1" + }, + "identifier": "test-rel-1", + "section": "relationship", + "model_identifier": "test-model", + "xml": { + "_attributes": { + "identifier": "test-rel-1", + ":identifier": "test-rel-1", + "xsi:type": "archimate:AssignmentRelationship" + }, + "name": { + "_value": "Test Assignment" + }, + "source": { + "element": { + "_ref": "test-element-1", + "_attributes": { + "ref": "test-element-1", + ":ref": "test-element-1" + }, + "___ref": "test-element-1" + } + }, + "target": { + "element": { + "_ref": "test-element-2", + "_attributes": { + "ref": "test-element-2", + ":ref": "test-element-2" + }, + "___ref": "test-element-2" + } + }, + "_essential_data": true + }, + "name": "Test Assignment", + "type": "archimate:AssignmentRelationship" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "test-view-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "test-view-1" + }, + "identifier": "test-view-1", + "section": "view", + "model_identifier": "test-model", + "xml": { + "_attributes": { + "identifier": "test-view-1", + ":identifier": "test-view-1", + "xsi:type": "archimate:ArchimateDiagramModel" + }, + "name": { + "_value": "Test View" + }, + "_essential_data": true + }, + "name": "Test View", + "type": "archimate:ArchimateDiagramModel" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic sample_archimate.xml []": { + "result": { + "escaped": "TypeError", + "message": "OCA\\Stackiq\\Service\\ArchiMateImportService::extractIdentifier(): Argument #1 ($item) must be of type array, string given," + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/sample_archimate.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_name", + "_attributes", + "___identifier", + "___name", + "elements", + "relationships", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "test-model" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "test-model" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "test-model", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "test-model", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "test-model" + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + "name", + ":identifier", + ":name", + "propertyDefinitionMap" + ], + "has_name": true, + "has_documentation": false + } + ] + ] + }, + "optimized archimate_golden.xml []": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5157 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 16, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 16, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 4, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 4, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 10, + "total_objects_updated": 6, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-model-golden" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-1", + "properties_count": 6, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "GEMMA type", + "camel_case_name": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-1", + "processed_count": 3, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Backoffice", + "def_ref": "propid-2" + }, + { + "original": "GEMMA type", + "camelCase": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "objectId", + "_propertyMapping", + "businessUnit", + "gemmaType" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ + { + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] + } + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 5 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-view-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-view-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "View unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "businessUnit", + "_propertyMapping" + ] + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 16 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 1 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "gemmaType", + "value": "Referentiecomponent", + "object_id": "id-el-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 5, + "elements_with_gemma_type": 5, + "gemma_type_variations": { + "Referentiecomponent": 1, + "Capability": 1, + "BusinessActor": 1, + "DataObject": 1, + "Grouping": 1 + }, + "referentiecomponenten_count": 1, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 1, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 1, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "15": 5, + "13": 2 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + }, + ":identifier": "id-model-golden" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-1" + }, + "identifier": "id-el-1", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "gemmaType": "GEMMA type" + }, + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-2" + }, + "identifier": "id-el-2", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "name": "Zaakgericht werken", + "type": "Capability", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-3" + }, + "identifier": "el-3", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "name": "", + "omschrijving": "", + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-4" + }, + "identifier": "id-el-4", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "name": "Zaakdossier", + "type": "DataObject", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-5" + }, + "identifier": "id-el-5", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "name": "Standaard groep", + "type": "Grouping", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-rel-1" + }, + "identifier": "id-rel-1", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "name": "serves", + "omschrijving": "Serving relation", + "type": "Serving", + "source": "id-el-1", + "target": "id-el-2", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-2" + }, + "identifier": "rel-2", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association", + "source": "el-3", + "target": "id-el-4" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-1" + }, + "identifier": "propid-1", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-2" + }, + "identifier": "propid-2", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-3" + }, + "identifier": "propid-3", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "GEMMA type" + }, + "_essential_data": true + }, + "name": "GEMMA type" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-4" + }, + "identifier": "propid-4", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-5" + }, + "identifier": "propid-5", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "id-view-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-view-1" + }, + "identifier": "id-view-1", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Overview" + }, + "documentation": { + "_value": "Main view" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "View unit" + } + } + }, + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" + }, + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" + }, + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", + "_attributes": { + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" + }, + "___r": "92", + "___g": "92", + "___b": "92" + }, + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + } + }, + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", + "_attributes": { + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" + }, + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" + }, + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" + } + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" + }, + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" + } + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], + "_essential_data": true + }, + "name": "Overview", + "omschrijving": "Main view", + "type": "Diagram", + "businessUnit": "View unit", + "_propertyMapping": { + "businessUnit": "Business Unit" + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ] + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-2" + }, + "identifier": "view-2", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Empty view" + }, + "_essential_data": true + }, + "name": "Empty view", + "type": "Diagram" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic archimate_golden.xml []": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5157, + "mime_type": "text/xml" + }, + "processing_times": "", + "memory_usage": "", + "statistics": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 16, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 16, + "total_errors": 0 + } + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_skipped": null, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "id-model-golden", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "id-model-golden", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 5, + "property_mapping": { + "Object ID": "objectId", + "Business Unit": "businessUnit", + "GEMMA type": "gemmaType", + "Remark": "remark", + "Gemma Online URL": "gemmaOnlineUrl" + } + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + ":identifier", + "name", + "documentation", + "properties", + "propertyDefinitionMap" + ], + "has_name": true, + "has_documentation": true + } + ], + [ + "log.info", + "Data normalization completed", + { + "model_identifier": "id-model-golden", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" + } + ], + [ + "log.info", + "Step 4: Converting to OpenRegister objects with @self structure", + [] + ], + [ + "log.info", + "Converting to OpenRegister objects with @self structure", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.debug", + "Creating model object from metadata", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "organization" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Sections processed", + { + "elements": 5, + "relationships": 2, + "organizations": 1, + "views": 2, + "property_definitions": 5 + } + ], + [ + "log.info", + "Conversion to OpenRegister objects completed", + { + "model_identifier": "id-model-golden", + "total_objects": 16, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ] + } + ], + [ + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "13": 2, + "15": 5 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + ":identifier": "id-model-golden", + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "slug": "id-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-1", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "type": "ApplicationComponent", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "documentation": "Handles cases", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "gemmaType": "GEMMA type", + "remark": "Remark" + }, + "_slug": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent", + "remark": null + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "slug": "el-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-2", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "type": "Capability", + "name": "Zaakgericht werken", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "slug": "el-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-3", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "slug": "id-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-4", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "type": "DataObject", + "name": "Zaakdossier", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + }, + "_slug": "uuid-el-4" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "slug": "el-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-5", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "type": "Grouping", + "name": "Standaard groep", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "slug": "id-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-rel-1", + "section": "relationships", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "type": "Serving", + "name": "serves", + "omschrijving": "Serving relation", + "documentation": "Serving relation", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + }, + "_slug": "uuid-rel-1" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "slug": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-2", + "section": "relationships", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "slug": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "id-view-1", + "slug": "view-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-view-1", + "section": "views", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Overview" + }, + "documentation": { + "_value": "Main view" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "View unit" + } + } + }, + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" + }, + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" + }, + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", + "_attributes": { + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" + }, + "___r": "92", + "___g": "92", + "___b": "92" + }, + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + } + }, + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", + "_attributes": { + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" + }, + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" + }, + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" + } + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" + }, + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" + } + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-1" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], + "_essential_data": true + }, + "type": "Diagram", + "name": "Overview", + "omschrijving": "Main view", + "documentation": "Main view", + "businessUnit": "View unit", + "_propertyMapping": { + "businessUnit": "Business Unit" + } + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "slug": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-2", + "section": "views", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Empty view" + }, + "_essential_data": true + }, + "type": "Diagram", + "name": "Empty view" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "slug": "propid-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-1", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "slug": "propid-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-2", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "slug": "propid-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-3", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "GEMMA type" + }, + "_essential_data": true + }, + "name": "GEMMA type" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "slug": "propid-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-4", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "slug": "propid-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-5", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "log.info", + "[ArchiMate] Using lastSaveResult for statistics", + { + "saved_count": 10, + "updated_count": 6, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" + ] + } + ], + [ + "log.info", + "[ArchiMate] Statistics summary calculated", + { + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 16, + "total_errors": 0 + }, + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 16, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } + } + ], + [ + "log.info", + "ArchiMate XML import completed successfully", + { + "model_identifier": "id-model-golden", + "model_exists": false, + "imported_objects": 0, + "round_trip_fidelity": "enabled" + } + ] + ] + }, + "optimized archimate_golden.xml {\"operationId\":\"archimate_import_golden01\"}": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5157 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 16, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 16, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 4, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 4, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 10, + "total_objects_updated": 6, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml", + "operationId": "archimate_import_golden01" + } + ], + [ + "progress.startOperation", + "archimate_import", + "archimate_import_golden01" + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "progress.setPhase", + [ + "validating", + [] + ] + ], + [ + "progress.setPhase", + [ + "parsing", + [] + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 1 + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "progress.setPhase", + [ + "analyzing", + [] + ] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-model-golden" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-1", + "properties_count": 6, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "GEMMA type", + "camel_case_name": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-1", + "processed_count": 3, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Backoffice", + "def_ref": "propid-2" + }, + { + "original": "GEMMA type", + "camelCase": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "objectId", + "_propertyMapping", + "businessUnit", + "gemmaType" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ + { + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] + } + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 5 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-view-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-view-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "View unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "businessUnit", + "_propertyMapping" + ] + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 2 + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 16 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 1 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "gemmaType", + "value": "Referentiecomponent", + "object_id": "id-el-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 5, + "elements_with_gemma_type": 5, + "gemma_type_variations": { + "Referentiecomponent": 1, + "Capability": 1, + "BusinessActor": 1, + "DataObject": 1, + "Grouping": 1 + }, + "referentiecomponenten_count": 1, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 1, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 1, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "15": 5, + "13": 2 + } + } + ], + [ + "progress.setPhase", + [ + "processing_elements", + { + "total_items": 16, + "reset_progress": true + } + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 3 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + }, + ":identifier": "id-model-golden" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 1, + null, + "10" + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 4 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-1" + }, + "identifier": "id-el-1", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "gemmaType": "GEMMA type" + }, + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-2" + }, + "identifier": "id-el-2", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "name": "Zaakgericht werken", + "type": "Capability", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-3" + }, + "identifier": "el-3", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "name": "", + "omschrijving": "", + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-4" + }, + "identifier": "id-el-4", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "name": "Zaakdossier", + "type": "DataObject", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-5" + }, + "identifier": "id-el-5", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "name": "Standaard groep", + "type": "Grouping", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 6, + null, + "11" + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 5 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-rel-1" + }, + "identifier": "id-rel-1", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "name": "serves", + "omschrijving": "Serving relation", + "type": "Serving", + "source": "id-el-1", + "target": "id-el-2", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-2" + }, + "identifier": "rel-2", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association", + "source": "el-3", + "target": "id-el-4" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 8, + null, + "12" + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 6 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 9, + null, + "14" + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 7 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-1" + }, + "identifier": "propid-1", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-2" + }, + "identifier": "propid-2", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-3" + }, + "identifier": "propid-3", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "GEMMA type" + }, + "_essential_data": true + }, + "name": "GEMMA type" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-4" + }, + "identifier": "propid-4", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-5" + }, + "identifier": "propid-5", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 14, + null, + "15" + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden01", + 8 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "id-view-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-view-1" + }, + "identifier": "id-view-1", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Overview" + }, + "documentation": { + "_value": "Main view" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "View unit" + } + } + }, + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" + }, + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" + }, + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", + "_attributes": { + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" + }, + "___r": "92", + "___g": "92", + "___b": "92" + }, + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + } + }, + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", + "_attributes": { + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" + }, + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" + }, + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" + } + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" + }, + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" + } + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], + "_essential_data": true + }, + "name": "Overview", + "omschrijving": "Main view", + "type": "Diagram", + "businessUnit": "View unit", + "_propertyMapping": { + "businessUnit": "Business Unit" + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ] + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-2" + }, + "identifier": "view-2", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Empty view" + }, + "_essential_data": true + }, + "name": "Empty view", + "type": "Diagram" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 16, + null, + "13" + ] + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "progress.setPhase", + [ + "finalizing", + [] + ] + ], + [ + "progress.completeOperation", + [ + [] + ] + ] + ] + }, + "optimized archimate_golden.xml {\"operationId\":\"archimate_import_golden02\",\"cancelOnCall\":4}": { + "result": { + "success": false, + "cancelled": true, + "message": "Import cancelled", + "counts": { + "saved": 0, + "updated": 1, + "unchanged": 0, + "invalid": 0 + }, + "objects_saved": 1 + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml", + "operationId": "archimate_import_golden02" + } + ], + [ + "progress.startOperation", + "archimate_import", + "archimate_import_golden02" + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "progress.setPhase", + [ + "validating", + [] + ] + ], + [ + "progress.setPhase", + [ + "parsing", + [] + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden02", + 1 + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "progress.setPhase", + [ + "analyzing", + [] + ] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-model-golden" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-1", + "properties_count": 6, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "GEMMA type", + "camel_case_name": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-1", + "processed_count": 3, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Backoffice", + "def_ref": "propid-2" + }, + { + "original": "GEMMA type", + "camelCase": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "objectId", + "_propertyMapping", + "businessUnit", + "gemmaType" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ + { + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] + } + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 5 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-view-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-view-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "View unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "businessUnit", + "_propertyMapping" + ] + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "progress.isCancelRequested", + "archimate_import_golden02", + 2 + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 16 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 1 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "gemmaType", + "value": "Referentiecomponent", + "object_id": "id-el-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 5, + "elements_with_gemma_type": 5, + "gemma_type_variations": { + "Referentiecomponent": 1, + "Capability": 1, + "BusinessActor": 1, + "DataObject": 1, + "Grouping": 1 + }, + "referentiecomponenten_count": 1, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 1, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 1, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "15": 5, + "13": 2 + } + } + ], + [ + "progress.setPhase", + [ + "processing_elements", + { + "total_items": 16, + "reset_progress": true + } + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden02", + 3 + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + }, + ":identifier": "id-model-golden" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "progress.updateProgress", + [ + 1, + null, + "10" + ] + ], + [ + "progress.isCancelRequested", + "archimate_import_golden02", + 4 + ], + [ + "progress.cancelOperation", + [] + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "optimized archimate_golden.xml {\"failSchema\":12}": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5157 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 16, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 14, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 4, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 4, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 9, + "total_objects_updated": 5, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-model-golden" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-1", + "properties_count": 6, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "GEMMA type", + "camel_case_name": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-1", + "processed_count": 3, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Backoffice", + "def_ref": "propid-2" + }, + { + "original": "GEMMA type", + "camelCase": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "objectId", + "_propertyMapping", + "businessUnit", + "gemmaType" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ + { + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] + } + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 5 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-view-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-view-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "View unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "businessUnit", + "_propertyMapping" + ] + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 16 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 1 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "gemmaType", + "value": "Referentiecomponent", + "object_id": "id-el-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 5, + "elements_with_gemma_type": 5, + "gemma_type_variations": { + "Referentiecomponent": 1, + "Capability": 1, + "BusinessActor": 1, + "DataObject": 1, + "Grouping": 1 + }, + "referentiecomponenten_count": 1, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 1, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 1, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "15": 5, + "13": 2 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + }, + ":identifier": "id-model-golden" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-1" + }, + "identifier": "id-el-1", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "gemmaType": "GEMMA type" + }, + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-2" + }, + "identifier": "id-el-2", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "name": "Zaakgericht werken", + "type": "Capability", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-3" + }, + "identifier": "el-3", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "name": "", + "omschrijving": "", + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-4" + }, + "identifier": "id-el-4", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "name": "Zaakdossier", + "type": "DataObject", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-5" + }, + "identifier": "id-el-5", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "name": "Standaard groep", + "type": "Grouping", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-rel-1" + }, + "identifier": "id-rel-1", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "name": "serves", + "omschrijving": "Serving relation", + "type": "Serving", + "source": "id-el-1", + "target": "id-el-2", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-2" + }, + "identifier": "rel-2", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association", + "source": "el-3", + "target": "id-el-4" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.error", + "Error saving schema group", + { + "schemaId": 12, + "error": "save failed for schema 12", + "objectCount": 2 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-1" + }, + "identifier": "propid-1", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-2" + }, + "identifier": "propid-2", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-3" + }, + "identifier": "propid-3", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "GEMMA type" + }, + "_essential_data": true + }, + "name": "GEMMA type" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-4" + }, + "identifier": "propid-4", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-5" + }, + "identifier": "propid-5", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "id-view-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-view-1" + }, + "identifier": "id-view-1", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Overview" + }, + "documentation": { + "_value": "Main view" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "View unit" + } + } + }, + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" + }, + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" + }, + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", + "_attributes": { + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" + }, + "___r": "92", + "___g": "92", + "___b": "92" + }, + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + } + }, + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", + "_attributes": { + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" + }, + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" + }, + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" + } + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" + }, + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" + } + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], + "_essential_data": true + }, + "name": "Overview", + "omschrijving": "Main view", + "type": "Diagram", + "businessUnit": "View unit", + "_propertyMapping": { + "businessUnit": "Business Unit" + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ] + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-2" + }, + "identifier": "view-2", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Empty view" + }, + "_essential_data": true + }, + "name": "Empty view", + "type": "Diagram" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "optimized archimate_golden.xml {\"noOrganisation\":true}": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5157 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 16, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 16, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 4, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 4, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 10, + "total_objects_updated": 6, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-model-golden" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-1", + "properties_count": 6, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "GEMMA type", + "camel_case_name": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-1", + "processed_count": 3, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Backoffice", + "def_ref": "propid-2" + }, + { + "original": "GEMMA type", + "camelCase": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "objectId", + "_propertyMapping", + "businessUnit", + "gemmaType" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ + { + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] + } + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 5 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-view-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-view-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "View unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "businessUnit", + "_propertyMapping" + ] + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.error", + "Failed to get default organisation: no default organisation", + [] + ], + [ + "log.error", + "", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 16 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 1 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "gemmaType", + "value": "Referentiecomponent", + "object_id": "id-el-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 5, + "elements_with_gemma_type": 5, + "gemma_type_variations": { + "Referentiecomponent": 1, + "Capability": 1, + "BusinessActor": 1, + "DataObject": 1, + "Grouping": 1 + }, + "referentiecomponenten_count": 1, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 1, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 1, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "15": 5, + "13": 2 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + }, + ":identifier": "id-model-golden" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "id-el-1" + }, + "identifier": "id-el-1", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "gemmaType": "GEMMA type" + }, + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "el-2" + }, + "identifier": "id-el-2", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "name": "Zaakgericht werken", + "type": "Capability", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "el-3" + }, + "identifier": "el-3", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "name": "", + "omschrijving": "", + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "id-el-4" + }, + "identifier": "id-el-4", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "name": "Zaakdossier", + "type": "DataObject", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "el-5" + }, + "identifier": "id-el-5", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "name": "Standaard groep", + "type": "Grouping", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "id-rel-1" + }, + "identifier": "id-rel-1", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "name": "serves", + "omschrijving": "Serving relation", + "type": "Serving", + "source": "id-el-1", + "target": "id-el-2", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "rel-2" + }, + "identifier": "rel-2", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association", + "source": "el-3", + "target": "id-el-4" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "owner": "importer", + "organisation": "default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "propid-1" + }, + "identifier": "propid-1", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "propid-2" + }, + "identifier": "propid-2", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "propid-3" + }, + "identifier": "propid-3", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "GEMMA type" + }, + "_essential_data": true + }, + "name": "GEMMA type" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "propid-4" + }, + "identifier": "propid-4", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "propid-5" + }, + "identifier": "propid-5", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "id-view-1", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "id-view-1" + }, + "identifier": "id-view-1", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Overview" + }, + "documentation": { + "_value": "Main view" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "View unit" + } + } + }, + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" + }, + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" + }, + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", + "_attributes": { + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" + }, + "___r": "92", + "___g": "92", + "___b": "92" + }, + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + } + }, + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", + "_attributes": { + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" + }, + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" + }, + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" + } + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" + }, + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" + } + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], + "_essential_data": true + }, + "name": "Overview", + "omschrijving": "Main view", + "type": "Diagram", + "businessUnit": "View unit", + "_propertyMapping": { + "businessUnit": "Business Unit" + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "referentiecomponent", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "gemmaType": "Referentiecomponent", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ] + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "owner": "importer", + "organisation": "default", + "published": "", + "slug": "view-2" + }, + "identifier": "view-2", + "section": "view", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Empty view" + }, + "_essential_data": true + }, + "name": "Empty view", + "type": "Diagram" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic archimate_golden.xml {\"modelExists\":true}": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5157, + "mime_type": "text/xml" + }, + "processing_times": "", + "memory_usage": "", + "statistics": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 16, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 16, + "total_errors": 0 + } + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_skipped": null, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "id-model-golden", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "id-model-golden", + "exists": true, + "found_count": 1, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 5, + "property_mapping": { + "Object ID": "objectId", + "Business Unit": "businessUnit", + "GEMMA type": "gemmaType", + "Remark": "remark", + "Gemma Online URL": "gemmaOnlineUrl" + } + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + ":identifier", + "name", + "documentation", + "properties", + "propertyDefinitionMap" + ], + "has_name": true, + "has_documentation": true + } + ], + [ + "log.info", + "Data normalization completed", + { + "model_identifier": "id-model-golden", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" + } + ], + [ + "log.info", + "Step 4: Converting to OpenRegister objects with @self structure", + [] + ], + [ + "log.info", + "Converting to OpenRegister objects with @self structure", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.debug", + "Creating model object from metadata", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "organization" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Sections processed", + { + "elements": 5, + "relationships": 2, + "organizations": 1, + "views": 2, + "property_definitions": 5 + } + ], + [ + "log.info", + "Conversion to OpenRegister objects completed", + { + "model_identifier": "id-model-golden", + "total_objects": 16, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ] + } + ], + [ + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "13": 2, + "15": 5 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + ":identifier": "id-model-golden", + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "slug": "id-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-1", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "type": "ApplicationComponent", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "documentation": "Handles cases", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "gemmaType": "GEMMA type", + "remark": "Remark" + }, + "_slug": "uuid-el-1", + "businessUnit": "Backoffice", + "gemmaType": "Referentiecomponent", + "remark": null + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "slug": "el-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-2", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "type": "Capability", + "name": "Zaakgericht werken", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "slug": "el-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-3", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "slug": "id-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-4", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "type": "DataObject", + "name": "Zaakdossier", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + }, + "_slug": "uuid-el-4" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "slug": "el-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-5", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "type": "Grouping", + "name": "Standaard groep", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "slug": "id-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-rel-1", + "section": "relationships", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "type": "Serving", + "name": "serves", + "omschrijving": "Serving relation", + "documentation": "Serving relation", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + }, + "_slug": "uuid-rel-1" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "slug": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-2", + "section": "relationships", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "slug": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "id-view-1", + "slug": "view-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-view-1", + "section": "views", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Overview" + }, + "documentation": { + "_value": "Main view" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "View unit" + } + } + }, + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" + }, + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" + }, + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", + "_attributes": { + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" + }, + "___r": "92", + "___g": "92", + "___b": "92" + }, + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + } + }, + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", + "_attributes": { + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" + }, + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" + }, + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" + } + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" + }, + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" + } + }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-1" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], + "_essential_data": true + }, + "type": "Diagram", + "name": "Overview", + "omschrijving": "Main view", + "documentation": "Main view", + "businessUnit": "View unit", + "_propertyMapping": { + "businessUnit": "Business Unit" + } + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "slug": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-2", + "section": "views", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" + }, + "name": { + "_value": "Empty view" + }, + "_essential_data": true + }, + "type": "Diagram", + "name": "Empty view" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "slug": "propid-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-1", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "slug": "propid-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-2", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "slug": "propid-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-3", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "GEMMA type" + }, + "_essential_data": true + }, + "name": "GEMMA type" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "slug": "propid-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-4", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "slug": "propid-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "propid-5", + "section": "property_definitions", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "log.info", + "[ArchiMate] Using lastSaveResult for statistics", + { + "saved_count": 10, + "updated_count": 6, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" + ] + } + ], + [ + "log.info", + "[ArchiMate] Statistics summary calculated", + { + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 16, + "total_errors": 0 + }, + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 16, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } + } + ], + [ + "log.info", + "ArchiMate XML import completed successfully", + { + "model_identifier": "id-model-golden", + "model_exists": true, + "imported_objects": 0, + "round_trip_fidelity": "enabled" + } + ] + ] + }, + "optimized archimate_golden.xml {\"noViewSchema\":true}": { + "result": { + "success": false, + "error": "Schema ID for section 'view' is not configured. Expected object type: 'view'" + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-model-golden" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-1", + "properties_count": 6, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "GEMMA type", + "camel_case_name": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-1", + "processed_count": 3, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Backoffice", + "def_ref": "propid-2" + }, + { + "original": "GEMMA type", + "camelCase": "gemmaType", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "objectId", + "_propertyMapping", + "businessUnit", + "gemmaType" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ + { + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] + } + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 2 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", + { + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "GEMMA type", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 5 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 5 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.error", + "OPTIMIZED ArchiMate import failed", + { + "error": "Schema ID for section 'view' is not configured. Expected object type: 'view'", + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml" + } + ] + ] + }, + "optimized big1.xml []": { + "result": { + "success": true, + "file_info": { + "name": "big1.xml", + "size": 5124 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 55, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 55, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 20, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 11, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 9, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 9, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 49, + "total_objects_updated": 6, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big1.xml", + "fileName": "big1.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 21, + "relationships_count": 12, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 21 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 12 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 10 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 21, + "sample_identifiers": [ + "el-00", + "el-01", + "el-02", + "el-03", + "el-04" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 21 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 21, + "referenced_elements": 0, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 55 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 55, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "type", + "value": "Role", + "object_id": "el-00" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 21, + "elements_with_gemma_type": 21, + "gemma_type_variations": { + "Role": 7, + "Actor": 13, + "Second": 1 + }, + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 21, + "12": 12, + "14": 1, + "15": 10, + "13": 10 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "section": "model", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "name": { + "_value": "Big model" + }, + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Prop 0", + "pd-1": "Prop 1", + "pd-2": "Prop 2", + "pd-3": "Prop 3", + "pd-4": "Prop 4", + "pd-5": "Prop 5", + "pd-6": "Prop 6", + "pd-7": "Prop 7", + "pd-8": "Prop 8" + } + }, + "name": "Big model", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Prop 0", + "pd-1": "Prop 1", + "pd-2": "Prop 2", + "pd-3": "Prop 3", + "pd-4": "Prop 4", + "pd-5": "Prop 5", + "pd-6": "Prop 6", + "pd-7": "Prop 7", + "pd-8": "Prop 8" + }, + ":identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-00", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-00" + }, + "identifier": "el-00", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-00", + ":identifier": "el-00", + "xsi:type": "Role" + }, + "name": { + "_value": "el-00" + }, + "_essential_data": true + }, + "name": "el-00", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-01", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-01" + }, + "identifier": "el-01", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-01", + ":identifier": "el-01", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-01" + }, + "_essential_data": true + }, + "name": "el-01", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-02", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-02" + }, + "identifier": "el-02", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-02", + ":identifier": "el-02", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-02" + }, + "_essential_data": true + }, + "name": "el-02", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-03", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-03" + }, + "identifier": "el-03", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-03", + ":identifier": "el-03", + "xsi:type": "Role" + }, + "name": { + "_value": "el-03" + }, + "_essential_data": true + }, + "name": "el-03", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-04", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-04" + }, + "identifier": "el-04", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-04", + ":identifier": "el-04", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-04" + }, + "_essential_data": true + }, + "name": "el-04", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-05", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-05" + }, + "identifier": "el-05", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-05", + ":identifier": "el-05", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-05" + }, + "_essential_data": true + }, + "name": "el-05", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-06", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-06" + }, + "identifier": "el-06", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-06", + ":identifier": "el-06", + "xsi:type": "Role" + }, + "name": { + "_value": "el-06" + }, + "_essential_data": true + }, + "name": "el-06", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-07", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-07" + }, + "identifier": "el-07", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-07", + ":identifier": "el-07", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-07" + }, + "_essential_data": true + }, + "name": "el-07", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-08", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-08" + }, + "identifier": "el-08", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-08", + ":identifier": "el-08", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-08" + }, + "_essential_data": true + }, + "name": "el-08", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-09", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-09" + }, + "identifier": "el-09", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-09", + ":identifier": "el-09", + "xsi:type": "Role" + }, + "name": { + "_value": "el-09" + }, + "_essential_data": true + }, + "name": "el-09", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-10", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-10" + }, + "identifier": "el-10", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-10", + ":identifier": "el-10", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-10" + }, + "_essential_data": true + }, + "name": "el-10", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-11", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-11" + }, + "identifier": "el-11", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-11", + ":identifier": "el-11", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-11" + }, + "_essential_data": true + }, + "name": "el-11", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-12", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-12" + }, + "identifier": "el-12", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-12", + ":identifier": "el-12", + "xsi:type": "Role" + }, + "name": { + "_value": "el-12" + }, + "_essential_data": true + }, + "name": "el-12", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-13", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-13" + }, + "identifier": "el-13", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-13", + ":identifier": "el-13", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-13" + }, + "_essential_data": true + }, + "name": "el-13", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-14", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-14" + }, + "identifier": "el-14", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-14", + ":identifier": "el-14", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-14" + }, + "_essential_data": true + }, + "name": "el-14", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-15", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-15" + }, + "identifier": "el-15", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-15", + ":identifier": "el-15", + "xsi:type": "Role" + }, + "name": { + "_value": "el-15" + }, + "_essential_data": true + }, + "name": "el-15", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-16", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-16" + }, + "identifier": "el-16", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-16", + ":identifier": "el-16", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-16" + }, + "_essential_data": true + }, + "name": "el-16", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-17", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-17" + }, + "identifier": "el-17", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-17", + ":identifier": "el-17", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-17" + }, + "_essential_data": true + }, + "name": "el-17", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-18", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-18" + }, + "identifier": "el-18", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-18", + ":identifier": "el-18", + "xsi:type": "Role" + }, + "name": { + "_value": "el-18" + }, + "_essential_data": true + }, + "name": "el-18", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-19", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-19" + }, + "identifier": "el-19", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "el-19", + ":identifier": "el-19", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-19" + }, + "_essential_data": true + }, + "name": "el-19", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "dup", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "dup" + }, + "identifier": "dup", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "dup", + ":identifier": "dup", + "xsi:type": "Second" + }, + "name": { + "_value": "dup" + }, + "_essential_data": true + }, + "name": "dup", + "type": "Second" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 21, + "saved": 20, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-00", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-00" + }, + "identifier": "rel-00", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-00", + "source": "el-00", + "target": "el-01", + ":identifier": "rel-00", + ":source": "el-00", + ":target": "el-01", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-00", + "target": "el-01" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-01", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-01" + }, + "identifier": "rel-01", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-01", + "source": "el-01", + "target": "el-02", + ":identifier": "rel-01", + ":source": "el-01", + ":target": "el-02", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow", + "source": "el-01", + "target": "el-02" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-02", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-02" + }, + "identifier": "rel-02", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-02", + "source": "el-02", + "target": "el-03", + ":identifier": "rel-02", + ":source": "el-02", + ":target": "el-03", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-02", + "target": "el-03" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-03", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-03" + }, + "identifier": "rel-03", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-03", + "source": "el-03", + "target": "el-04", + ":identifier": "rel-03", + ":source": "el-03", + ":target": "el-04", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow", + "source": "el-03", + "target": "el-04" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-04", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-04" + }, + "identifier": "rel-04", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-04", + "source": "el-04", + "target": "el-05", + ":identifier": "rel-04", + ":source": "el-04", + ":target": "el-05", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-04", + "target": "el-05" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-05", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-05" + }, + "identifier": "rel-05", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-05", + "source": "el-05", + "target": "el-06", + ":identifier": "rel-05", + ":source": "el-05", + ":target": "el-06", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow", + "source": "el-05", + "target": "el-06" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-06", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-06" + }, + "identifier": "rel-06", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-06", + "source": "el-06", + "target": "el-07", + ":identifier": "rel-06", + ":source": "el-06", + ":target": "el-07", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-06", + "target": "el-07" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-07", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-07" + }, + "identifier": "rel-07", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-07", + "source": "el-07", + "target": "el-08", + ":identifier": "rel-07", + ":source": "el-07", + ":target": "el-08", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow", + "source": "el-07", + "target": "el-08" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-08", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-08" + }, + "identifier": "rel-08", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-08", + "source": "el-08", + "target": "el-09", + ":identifier": "rel-08", + ":source": "el-08", + ":target": "el-09", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-08", + "target": "el-09" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-09", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-09" + }, + "identifier": "rel-09", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-09", + "source": "el-09", + "target": "el-10", + ":identifier": "rel-09", + ":source": "el-09", + ":target": "el-10", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow", + "source": "el-09", + "target": "el-10" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-10", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-10" + }, + "identifier": "rel-10", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-10", + "source": "el-10", + "target": "el-11", + ":identifier": "rel-10", + ":source": "el-10", + ":target": "el-11", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-10", + "target": "el-11" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-11", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-11" + }, + "identifier": "rel-11", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "rel-11", + "source": "el-11", + "target": "el-12", + ":identifier": "rel-11", + ":source": "el-11", + ":target": "el-12", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow", + "source": "el-11", + "target": "el-12" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 12, + "saved": 11, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "section": "organization", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "name": "Organizations", + "xml": { + "item": { + "label": { + "_value": "Root" + }, + "item": [ + { + "_identifierRef": "el-00", + "_attributes": { + "identifierRef": "el-00", + ":identifierRef": "el-00" + }, + "___identifierRef": "el-00" + }, + { + "_identifierRef": "el-01", + "_attributes": { + "identifierRef": "el-01", + ":identifierRef": "el-01" + }, + "___identifierRef": "el-01" + }, + { + "_identifierRef": "el-02", + "_attributes": { + "identifierRef": "el-02", + ":identifierRef": "el-02" + }, + "___identifierRef": "el-02" + }, + { + "_identifierRef": "el-03", + "_attributes": { + "identifierRef": "el-03", + ":identifierRef": "el-03" + }, + "___identifierRef": "el-03" + }, + { + "_identifierRef": "el-04", + "_attributes": { + "identifierRef": "el-04", + ":identifierRef": "el-04" + }, + "___identifierRef": "el-04" + }, + { + "_identifierRef": "el-05", + "_attributes": { + "identifierRef": "el-05", + ":identifierRef": "el-05" + }, + "___identifierRef": "el-05" + }, + { + "_identifierRef": "el-06", + "_attributes": { + "identifierRef": "el-06", + ":identifierRef": "el-06" + }, + "___identifierRef": "el-06" + }, + { + "_identifierRef": "el-07", + "_attributes": { + "identifierRef": "el-07", + ":identifierRef": "el-07" + }, + "___identifierRef": "el-07" + }, + { + "_identifierRef": "el-08", + "_attributes": { + "identifierRef": "el-08", + ":identifierRef": "el-08" + }, + "___identifierRef": "el-08" + }, + { + "_identifierRef": "el-09", + "_attributes": { + "identifierRef": "el-09", + ":identifierRef": "el-09" + }, + "___identifierRef": "el-09" + }, + { + "label": { + "_value": "Sub" + }, + "item": { + "_identifierRef": "rel-01", + "_attributes": { + "identifierRef": "rel-01", + ":identifierRef": "rel-01" + }, + "___identifierRef": "rel-01" + } + } + ] + } + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-0" + }, + "identifier": "pd-0", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-0", + ":identifier": "pd-0" + }, + "name": { + "_value": "Prop 0" + }, + "_essential_data": true + }, + "name": "Prop 0" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-1" + }, + "identifier": "pd-1", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-1", + ":identifier": "pd-1" + }, + "name": { + "_value": "Prop 1" + }, + "_essential_data": true + }, + "name": "Prop 1" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-2" + }, + "identifier": "pd-2", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-2", + ":identifier": "pd-2" + }, + "name": { + "_value": "Prop 2" + }, + "_essential_data": true + }, + "name": "Prop 2" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-3" + }, + "identifier": "pd-3", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-3", + ":identifier": "pd-3" + }, + "name": { + "_value": "Prop 3" + }, + "_essential_data": true + }, + "name": "Prop 3" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-4" + }, + "identifier": "pd-4", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-4", + ":identifier": "pd-4" + }, + "name": { + "_value": "Prop 4" + }, + "_essential_data": true + }, + "name": "Prop 4" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-5" + }, + "identifier": "pd-5", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-5", + ":identifier": "pd-5" + }, + "name": { + "_value": "Prop 5" + }, + "_essential_data": true + }, + "name": "Prop 5" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-6", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-6" + }, + "identifier": "pd-6", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-6", + ":identifier": "pd-6" + }, + "name": { + "_value": "Prop 6" + }, + "_essential_data": true + }, + "name": "Prop 6" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-7", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-7" + }, + "identifier": "pd-7", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-7", + ":identifier": "pd-7" + }, + "name": { + "_value": "Prop 7" + }, + "_essential_data": true + }, + "name": "Prop 7" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-8", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-8" + }, + "identifier": "pd-8", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-8", + ":identifier": "pd-8" + }, + "name": { + "_value": "Prop 8" + }, + "_essential_data": true + }, + "name": "Prop 8" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-noname", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-noname" + }, + "identifier": "pd-noname", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "pd-noname", + ":identifier": "pd-noname" + }, + "_essential_data": true + } + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 10, + "saved": 9, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-0" + }, + "identifier": "view-0", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-0", + ":identifier": "view-0" + }, + "name": { + "_value": "View 0" + }, + "_essential_data": true + }, + "name": "View 0" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-1" + }, + "identifier": "view-1", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-1", + ":identifier": "view-1" + }, + "name": { + "_value": "View 1" + }, + "_essential_data": true + }, + "name": "View 1" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-2" + }, + "identifier": "view-2", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2" + }, + "name": { + "_value": "View 2" + }, + "_essential_data": true + }, + "name": "View 2" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-3" + }, + "identifier": "view-3", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-3", + ":identifier": "view-3" + }, + "name": { + "_value": "View 3" + }, + "_essential_data": true + }, + "name": "View 3" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-4" + }, + "identifier": "view-4", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-4", + ":identifier": "view-4" + }, + "name": { + "_value": "View 4" + }, + "_essential_data": true + }, + "name": "View 4" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-5" + }, + "identifier": "view-5", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-5", + ":identifier": "view-5" + }, + "name": { + "_value": "View 5" + }, + "_essential_data": true + }, + "name": "View 5" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-6", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-6" + }, + "identifier": "view-6", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-6", + ":identifier": "view-6" + }, + "name": { + "_value": "View 6" + }, + "_essential_data": true + }, + "name": "View 6" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-7", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-7" + }, + "identifier": "view-7", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-7", + ":identifier": "view-7" + }, + "name": { + "_value": "View 7" + }, + "_essential_data": true + }, + "name": "View 7" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-noname", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-noname" + }, + "identifier": "view-noname", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "view-noname", + ":identifier": "view-noname" + }, + "_essential_data": true + } + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "" + }, + "identifier": "", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "_attributes": { + "identifier": "", + ":identifier": "" + }, + "name": { + "_value": "Ignored" + }, + "_essential_data": true + }, + "name": "Ignored" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 10, + "saved": 9, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic big1.xml []": { + "result": { + "success": true, + "file_info": { + "name": "big1.xml", + "size": 5124, + "mime_type": "text/xml" + }, + "processing_times": "", + "memory_usage": "", + "statistics": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 54, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 54, + "total_errors": 0 + } + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_skipped": null, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big1.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 9, + "property_mapping": { + "Prop 0": "prop0", + "Prop 1": "prop1", + "Prop 2": "prop2", + "Prop 3": "prop3", + "Prop 4": "prop4", + "Prop 5": "prop5", + "Prop 6": "prop6", + "Prop 7": "prop7", + "Prop 8": "prop8" + } + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + ":identifier", + "name", + "propertyDefinitionMap" + ], + "has_name": true, + "has_documentation": false + } + ], + [ + "log.info", + "Data normalization completed", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" + } + ], + [ + "log.info", + "Step 4: Converting to OpenRegister objects with @self structure", + [] + ], + [ + "log.info", + "Converting to OpenRegister objects with @self structure", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig" + } + ], + [ + "log.debug", + "Creating model object from metadata", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "organization" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Sections processed", + { + "elements": 21, + "relationships": 12, + "organizations": 1, + "views": 9, + "property_definitions": 10 + } + ], + [ + "log.info", + "Conversion to OpenRegister objects completed", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "total_objects": 54, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ] + } + ], + [ + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 54, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 21, + "12": 12, + "14": 1, + "13": 9, + "15": 10 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "section": "model", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "xml": { + "name": { + "_value": "Big model" + }, + "propertyDefinitionMap": { + "pd-0": "Prop 0", + "pd-1": "Prop 1", + "pd-2": "Prop 2", + "pd-3": "Prop 3", + "pd-4": "Prop 4", + "pd-5": "Prop 5", + "pd-6": "Prop 6", + "pd-7": "Prop 7", + "pd-8": "Prop 8" + } + }, + ":identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "name": "Big model", + "propertyDefinitionMap": { + "pd-0": "Prop 0", + "pd-1": "Prop 1", + "pd-2": "Prop 2", + "pd-3": "Prop 3", + "pd-4": "Prop 4", + "pd-5": "Prop 5", + "pd-6": "Prop 6", + "pd-7": "Prop 7", + "pd-8": "Prop 8" + } + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-00", + "slug": "el-00", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-00", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-00", + ":identifier": "el-00", + "xsi:type": "Role" + }, + "name": { + "_value": "el-00" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-00" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-01", + "slug": "el-01", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-01", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-01", + ":identifier": "el-01", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-01" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-01" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-02", + "slug": "el-02", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-02", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-02", + ":identifier": "el-02", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-02" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-02" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-03", + "slug": "el-03", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-03", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-03", + ":identifier": "el-03", + "xsi:type": "Role" + }, + "name": { + "_value": "el-03" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-03" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-04", + "slug": "el-04", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-04", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-04", + ":identifier": "el-04", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-04" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-04" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-05", + "slug": "el-05", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-05", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-05", + ":identifier": "el-05", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-05" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-05" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-06", + "slug": "el-06", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-06", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-06", + ":identifier": "el-06", + "xsi:type": "Role" + }, + "name": { + "_value": "el-06" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-06" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-07", + "slug": "el-07", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-07", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-07", + ":identifier": "el-07", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-07" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-07" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-08", + "slug": "el-08", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-08", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-08", + ":identifier": "el-08", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-08" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-08" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-09", + "slug": "el-09", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-09", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-09", + ":identifier": "el-09", + "xsi:type": "Role" + }, + "name": { + "_value": "el-09" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-09" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-10", + "slug": "el-10", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-10", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-10", + ":identifier": "el-10", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-10" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-10" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-11", + "slug": "el-11", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-11", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-11", + ":identifier": "el-11", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-11" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-11" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-12", + "slug": "el-12", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-12", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-12", + ":identifier": "el-12", + "xsi:type": "Role" + }, + "name": { + "_value": "el-12" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-12" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-13", + "slug": "el-13", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-13", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-13", + ":identifier": "el-13", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-13" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-13" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-14", + "slug": "el-14", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-14", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-14", + ":identifier": "el-14", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-14" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-14" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-15", + "slug": "el-15", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-15", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-15", + ":identifier": "el-15", + "xsi:type": "Role" + }, + "name": { + "_value": "el-15" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-15" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-16", + "slug": "el-16", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-16", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-16", + ":identifier": "el-16", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-16" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-16" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-17", + "slug": "el-17", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-17", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-17", + ":identifier": "el-17", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-17" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-17" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-18", + "slug": "el-18", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-18", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-18", + ":identifier": "el-18", + "xsi:type": "Role" + }, + "name": { + "_value": "el-18" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-18" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-19", + "slug": "el-19", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-19", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-19", + ":identifier": "el-19", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-19" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-19" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "dup", + "slug": "dup", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "dup", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "dup", + ":identifier": "dup", + "xsi:type": "Second" + }, + "name": { + "_value": "dup" + }, + "_essential_data": true + }, + "type": "Second", + "name": "dup" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 21, + "saved": 20, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-00", + "slug": "rel-00", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-00", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-00", + "source": "el-00", + "target": "el-01", + ":identifier": "rel-00", + ":source": "el-00", + ":target": "el-01", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-01", + "slug": "rel-01", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-01", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-01", + "source": "el-01", + "target": "el-02", + ":identifier": "rel-01", + ":source": "el-01", + ":target": "el-02", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-02", + "slug": "rel-02", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-02", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-02", + "source": "el-02", + "target": "el-03", + ":identifier": "rel-02", + ":source": "el-02", + ":target": "el-03", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-03", + "slug": "rel-03", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-03", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-03", + "source": "el-03", + "target": "el-04", + ":identifier": "rel-03", + ":source": "el-03", + ":target": "el-04", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-04", + "slug": "rel-04", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-04", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-04", + "source": "el-04", + "target": "el-05", + ":identifier": "rel-04", + ":source": "el-04", + ":target": "el-05", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-05", + "slug": "rel-05", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-05", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-05", + "source": "el-05", + "target": "el-06", + ":identifier": "rel-05", + ":source": "el-05", + ":target": "el-06", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-06", + "slug": "rel-06", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-06", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-06", + "source": "el-06", + "target": "el-07", + ":identifier": "rel-06", + ":source": "el-06", + ":target": "el-07", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-07", + "slug": "rel-07", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-07", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-07", + "source": "el-07", + "target": "el-08", + ":identifier": "rel-07", + ":source": "el-07", + ":target": "el-08", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-08", + "slug": "rel-08", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-08", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-08", + "source": "el-08", + "target": "el-09", + ":identifier": "rel-08", + ":source": "el-08", + ":target": "el-09", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-09", + "slug": "rel-09", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-09", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-09", + "source": "el-09", + "target": "el-10", + ":identifier": "rel-09", + ":source": "el-09", + ":target": "el-10", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-10", + "slug": "rel-10", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-10", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-10", + "source": "el-10", + "target": "el-11", + ":identifier": "rel-10", + ":source": "el-10", + ":target": "el-11", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-11", + "slug": "rel-11", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-11", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-11", + "source": "el-11", + "target": "el-12", + ":identifier": "rel-11", + ":source": "el-11", + ":target": "el-12", + "xsi:type": "Flow" + }, + "_essential_data": true + }, + "type": "Flow" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 12, + "saved": 11, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "slug": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "section": "organization", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "name": "Organizations", + "xml": { + "item": { + "label": { + "_value": "Root" + }, + "item": [ + { + "_identifierRef": "el-00", + "_attributes": { + "identifierRef": "el-00", + ":identifierRef": "el-00" + }, + "___identifierRef": "el-00" + }, + { + "_identifierRef": "el-01", + "_attributes": { + "identifierRef": "el-01", + ":identifierRef": "el-01" + }, + "___identifierRef": "el-01" + }, + { + "_identifierRef": "el-02", + "_attributes": { + "identifierRef": "el-02", + ":identifierRef": "el-02" + }, + "___identifierRef": "el-02" + }, + { + "_identifierRef": "el-03", + "_attributes": { + "identifierRef": "el-03", + ":identifierRef": "el-03" + }, + "___identifierRef": "el-03" + }, + { + "_identifierRef": "el-04", + "_attributes": { + "identifierRef": "el-04", + ":identifierRef": "el-04" + }, + "___identifierRef": "el-04" + }, + { + "_identifierRef": "el-05", + "_attributes": { + "identifierRef": "el-05", + ":identifierRef": "el-05" + }, + "___identifierRef": "el-05" + }, + { + "_identifierRef": "el-06", + "_attributes": { + "identifierRef": "el-06", + ":identifierRef": "el-06" + }, + "___identifierRef": "el-06" + }, + { + "_identifierRef": "el-07", + "_attributes": { + "identifierRef": "el-07", + ":identifierRef": "el-07" + }, + "___identifierRef": "el-07" + }, + { + "_identifierRef": "el-08", + "_attributes": { + "identifierRef": "el-08", + ":identifierRef": "el-08" + }, + "___identifierRef": "el-08" + }, + { + "_identifierRef": "el-09", + "_attributes": { + "identifierRef": "el-09", + ":identifierRef": "el-09" + }, + "___identifierRef": "el-09" + }, + { + "label": { + "_value": "Sub" + }, + "item": { + "_identifierRef": "rel-01", + "_attributes": { + "identifierRef": "rel-01", + ":identifierRef": "rel-01" + }, + "___identifierRef": "rel-01" + } + } + ] + } + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-0", + "slug": "view-0", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-0", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-0", + ":identifier": "view-0" + }, + "name": { + "_value": "View 0" + }, + "_essential_data": true + }, + "name": "View 0" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-1", + "slug": "view-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-1", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-1", + ":identifier": "view-1" + }, + "name": { + "_value": "View 1" + }, + "_essential_data": true + }, + "name": "View 1" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "slug": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-2", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2" + }, + "name": { + "_value": "View 2" + }, + "_essential_data": true + }, + "name": "View 2" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-3", + "slug": "view-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-3", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-3", + ":identifier": "view-3" + }, + "name": { + "_value": "View 3" + }, + "_essential_data": true + }, + "name": "View 3" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-4", + "slug": "view-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-4", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-4", + ":identifier": "view-4" + }, + "name": { + "_value": "View 4" + }, + "_essential_data": true + }, + "name": "View 4" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-5", + "slug": "view-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-5", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-5", + ":identifier": "view-5" + }, + "name": { + "_value": "View 5" + }, + "_essential_data": true + }, + "name": "View 5" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-6", + "slug": "view-6", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-6", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-6", + ":identifier": "view-6" + }, + "name": { + "_value": "View 6" + }, + "_essential_data": true + }, + "name": "View 6" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-7", + "slug": "view-7", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-7", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-7", + ":identifier": "view-7" + }, + "name": { + "_value": "View 7" + }, + "_essential_data": true + }, + "name": "View 7" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-noname", + "slug": "view-noname", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-noname", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-noname", + ":identifier": "view-noname" + }, + "_essential_data": true + } + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 9, + "saved": 8, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-0", + "slug": "pd-0", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-0", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-0", + ":identifier": "pd-0" + }, + "name": { + "_value": "Prop 0" + }, + "_essential_data": true + }, + "name": "Prop 0" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-1", + "slug": "pd-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-1", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-1", + ":identifier": "pd-1" + }, + "name": { + "_value": "Prop 1" + }, + "_essential_data": true + }, + "name": "Prop 1" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-2", + "slug": "pd-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-2", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-2", + ":identifier": "pd-2" + }, + "name": { + "_value": "Prop 2" + }, + "_essential_data": true + }, + "name": "Prop 2" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-3", + "slug": "pd-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-3", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-3", + ":identifier": "pd-3" + }, + "name": { + "_value": "Prop 3" + }, + "_essential_data": true + }, + "name": "Prop 3" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-4", + "slug": "pd-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-4", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-4", + ":identifier": "pd-4" + }, + "name": { + "_value": "Prop 4" + }, + "_essential_data": true + }, + "name": "Prop 4" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-5", + "slug": "pd-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-5", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-5", + ":identifier": "pd-5" + }, + "name": { + "_value": "Prop 5" + }, + "_essential_data": true + }, + "name": "Prop 5" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-6", + "slug": "pd-6", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-6", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-6", + ":identifier": "pd-6" + }, + "name": { + "_value": "Prop 6" + }, + "_essential_data": true + }, + "name": "Prop 6" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-7", + "slug": "pd-7", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-7", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-7", + ":identifier": "pd-7" + }, + "name": { + "_value": "Prop 7" + }, + "_essential_data": true + }, + "name": "Prop 7" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-8", + "slug": "pd-8", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-8", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-8", + ":identifier": "pd-8" + }, + "name": { + "_value": "Prop 8" + }, + "_essential_data": true + }, + "name": "Prop 8" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-noname", + "slug": "pd-noname", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-noname", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-noname", + ":identifier": "pd-noname" + }, + "_essential_data": true + } + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 10, + "saved": 9, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "log.info", + "[ArchiMate] Using lastSaveResult for statistics", + { + "saved_count": 48, + "updated_count": 6, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" + ] + } + ], + [ + "log.info", + "[ArchiMate] Statistics summary calculated", + { + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 54, + "total_errors": 0 + }, + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 54, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } + } + ], + [ + "log.info", + "ArchiMate XML import completed successfully", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-orig", + "model_exists": false, + "imported_objects": 0, + "round_trip_fidelity": "enabled" + } + ] + ] + }, + "optimized big2.xml []": { + "result": { + "success": true, + "file_info": { + "name": "big2.xml", + "size": 4567 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 51, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 51, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 19, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 11, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 6, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 9, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 45, + "total_objects_updated": 6, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big2.xml", + "fileName": "big2.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 20, + "relationships_count": 12, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 20 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing relationships", + { + "item_count": 12 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 10 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 20, + "sample_identifiers": [ + "el-07", + "el-08", + "el-09", + "el-10", + "el-11" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 20 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 20, + "referenced_elements": 0, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 51 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 51, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "type", + "value": "Actor", + "object_id": "el-07" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 20, + "elements_with_gemma_type": 20, + "gemma_type_variations": { + "Actor": 5, + "Changed": 6, + "Role": 2, + "Node": 6, + "Second": 1 + }, + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 20, + "12": 12, + "14": 1, + "15": 10, + "13": 7 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "section": "model", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "name": "", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Renamed 0", + "pd-1": "Prop 1", + "pd-2": "Renamed 2", + "pd-3": "Prop 3", + "pd-4": "Renamed 4", + "pd-5": "Prop 5", + "pd-6": "Renamed 6", + "pd-7": "Prop 7", + "pd-8": "Renamed 8", + "pd-extra": "Extra" + } + }, + "name": "", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Renamed 0", + "pd-1": "Prop 1", + "pd-2": "Renamed 2", + "pd-3": "Prop 3", + "pd-4": "Renamed 4", + "pd-5": "Prop 5", + "pd-6": "Renamed 6", + "pd-7": "Prop 7", + "pd-8": "Renamed 8", + "pd-extra": "Extra" + }, + ":identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-07", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-07" + }, + "identifier": "el-07", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-07", + ":identifier": "el-07", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-07" + }, + "_essential_data": true + }, + "name": "el-07", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-08", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-08" + }, + "identifier": "el-08", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-08", + ":identifier": "el-08", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-08" + }, + "_essential_data": true + }, + "name": "el-08", + "type": "Changed" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-09", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-09" + }, + "identifier": "el-09", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-09", + ":identifier": "el-09", + "xsi:type": "Role" + }, + "name": { + "_value": "el-09" + }, + "_essential_data": true + }, + "name": "el-09", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-10", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-10" + }, + "identifier": "el-10", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-10", + ":identifier": "el-10", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-10" + }, + "_essential_data": true + }, + "name": "el-10", + "type": "Changed" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-11", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-11" + }, + "identifier": "el-11", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-11", + ":identifier": "el-11", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-11" + }, + "_essential_data": true + }, + "name": "el-11", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-12", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-12" + }, + "identifier": "el-12", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-12", + ":identifier": "el-12", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-12" + }, + "_essential_data": true + }, + "name": "el-12", + "type": "Changed" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-13", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-13" + }, + "identifier": "el-13", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-13", + ":identifier": "el-13", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-13" + }, + "_essential_data": true + }, + "name": "el-13", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-14", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-14" + }, + "identifier": "el-14", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-14", + ":identifier": "el-14", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-14" + }, + "_essential_data": true + }, + "name": "el-14", + "type": "Changed" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-15", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-15" + }, + "identifier": "el-15", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-15", + ":identifier": "el-15", + "xsi:type": "Role" + }, + "name": { + "_value": "el-15" + }, + "_essential_data": true + }, + "name": "el-15", + "type": "Role" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-16", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-16" + }, + "identifier": "el-16", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-16", + ":identifier": "el-16", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-16" + }, + "_essential_data": true + }, + "name": "el-16", + "type": "Changed" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-17", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-17" + }, + "identifier": "el-17", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-17", + ":identifier": "el-17", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-17" + }, + "_essential_data": true + }, + "name": "el-17", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-18", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-18" + }, + "identifier": "el-18", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-18", + ":identifier": "el-18", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-18" + }, + "_essential_data": true + }, + "name": "el-18", + "type": "Changed" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-19", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-19" + }, + "identifier": "el-19", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "el-19", + ":identifier": "el-19", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-19" + }, + "_essential_data": true + }, + "name": "el-19", + "type": "Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "new-0" + }, + "identifier": "new-0", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "new-0", + ":identifier": "new-0", + "xsi:type": "Node" + }, + "name": { + "_value": "new-0" + }, + "_essential_data": true + }, + "name": "new-0", + "type": "Node" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "new-1" + }, + "identifier": "new-1", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "new-1", + ":identifier": "new-1", + "xsi:type": "Node" + }, + "name": { + "_value": "new-1" + }, + "_essential_data": true + }, + "name": "new-1", + "type": "Node" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "new-2" + }, + "identifier": "new-2", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "new-2", + ":identifier": "new-2", + "xsi:type": "Node" + }, + "name": { + "_value": "new-2" + }, + "_essential_data": true + }, + "name": "new-2", + "type": "Node" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "new-3" + }, + "identifier": "new-3", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "new-3", + ":identifier": "new-3", + "xsi:type": "Node" + }, + "name": { + "_value": "new-3" + }, + "_essential_data": true + }, + "name": "new-3", + "type": "Node" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "new-4" + }, + "identifier": "new-4", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "new-4", + ":identifier": "new-4", + "xsi:type": "Node" + }, + "name": { + "_value": "new-4" + }, + "_essential_data": true + }, + "name": "new-4", + "type": "Node" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "new-5" + }, + "identifier": "new-5", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "new-5", + ":identifier": "new-5", + "xsi:type": "Node" + }, + "name": { + "_value": "new-5" + }, + "_essential_data": true + }, + "name": "new-5", + "type": "Node" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "dup", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "dup" + }, + "identifier": "dup", + "section": "element", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "dup", + ":identifier": "dup", + "xsi:type": "Second" + }, + "name": { + "_value": "dup" + }, + "_essential_data": true + }, + "name": "dup", + "type": "Second" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 20, + "saved": 19, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-01", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-01" + }, + "identifier": "rel-01", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-01", + "source": "el-01", + "target": "el-02", + ":identifier": "rel-01", + ":source": "el-01", + ":target": "el-02", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-01", + "target": "el-02" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-02", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-02" + }, + "identifier": "rel-02", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-02", + "source": "el-02", + "target": "el-03", + ":identifier": "rel-02", + ":source": "el-02", + ":target": "el-03", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-02", + "target": "el-03" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-03", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-03" + }, + "identifier": "rel-03", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-03", + "source": "el-03", + "target": "el-05", + ":identifier": "rel-03", + ":source": "el-03", + ":target": "el-05", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-03", + "target": "el-05" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-04", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-04" + }, + "identifier": "rel-04", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-04", + "source": "el-04", + "target": "el-05", + ":identifier": "rel-04", + ":source": "el-04", + ":target": "el-05", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-04", + "target": "el-05" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-05", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-05" + }, + "identifier": "rel-05", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-05", + "source": "el-05", + "target": "el-06", + ":identifier": "rel-05", + ":source": "el-05", + ":target": "el-06", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-05", + "target": "el-06" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-06", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-06" + }, + "identifier": "rel-06", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-06", + "source": "el-06", + "target": "el-08", + ":identifier": "rel-06", + ":source": "el-06", + ":target": "el-08", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-06", + "target": "el-08" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-07", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-07" + }, + "identifier": "rel-07", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-07", + "source": "el-07", + "target": "el-08", + ":identifier": "rel-07", + ":source": "el-07", + ":target": "el-08", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-07", + "target": "el-08" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-08", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-08" + }, + "identifier": "rel-08", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-08", + "source": "el-08", + "target": "el-09", + ":identifier": "rel-08", + ":source": "el-08", + ":target": "el-09", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-08", + "target": "el-09" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-09", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-09" + }, + "identifier": "rel-09", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-09", + "source": "el-09", + "target": "el-11", + ":identifier": "rel-09", + ":source": "el-09", + ":target": "el-11", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-09", + "target": "el-11" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-10", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-10" + }, + "identifier": "rel-10", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-10", + "source": "el-10", + "target": "el-11", + ":identifier": "rel-10", + ":source": "el-10", + ":target": "el-11", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-10", + "target": "el-11" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-11", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-11" + }, + "identifier": "rel-11", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-11", + "source": "el-11", + "target": "el-12", + ":identifier": "rel-11", + ":source": "el-11", + ":target": "el-12", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving", + "source": "el-11", + "target": "el-12" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-new", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-new" + }, + "identifier": "rel-new", + "section": "relationship", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "rel-new", + "source": "x", + "target": "y", + ":identifier": "rel-new", + ":source": "x", + ":target": "y", + "xsi:type": "Access" + }, + "_essential_data": true + }, + "type": "Access", + "source": "x", + "target": "y" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 12, + "saved": 11, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "section": "organization", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "name": "Organizations", + "xml": { + "item": { + "label": { + "_value": "Root" + }, + "item": [ + { + "_identifierRef": "el-03", + "_attributes": { + "identifierRef": "el-03", + ":identifierRef": "el-03" + }, + "___identifierRef": "el-03" + }, + { + "_identifierRef": "el-04", + "_attributes": { + "identifierRef": "el-04", + ":identifierRef": "el-04" + }, + "___identifierRef": "el-04" + }, + { + "_identifierRef": "el-05", + "_attributes": { + "identifierRef": "el-05", + ":identifierRef": "el-05" + }, + "___identifierRef": "el-05" + }, + { + "_identifierRef": "el-06", + "_attributes": { + "identifierRef": "el-06", + ":identifierRef": "el-06" + }, + "___identifierRef": "el-06" + }, + { + "_identifierRef": "el-07", + "_attributes": { + "identifierRef": "el-07", + ":identifierRef": "el-07" + }, + "___identifierRef": "el-07" + }, + { + "_identifierRef": "el-08", + "_attributes": { + "identifierRef": "el-08", + ":identifierRef": "el-08" + }, + "___identifierRef": "el-08" + }, + { + "_identifierRef": "el-09", + "_attributes": { + "identifierRef": "el-09", + ":identifierRef": "el-09" + }, + "___identifierRef": "el-09" + }, + { + "_identifierRef": "new-0", + "_attributes": { + "identifierRef": "new-0", + ":identifierRef": "new-0" + }, + "___identifierRef": "new-0" + } + ] + } + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-0" + }, + "identifier": "pd-0", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-0", + ":identifier": "pd-0" + }, + "name": { + "_value": "Renamed 0" + }, + "_essential_data": true + }, + "name": "Renamed 0" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-1" + }, + "identifier": "pd-1", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-1", + ":identifier": "pd-1" + }, + "name": { + "_value": "Prop 1" + }, + "_essential_data": true + }, + "name": "Prop 1" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-2" + }, + "identifier": "pd-2", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-2", + ":identifier": "pd-2" + }, + "name": { + "_value": "Renamed 2" + }, + "_essential_data": true + }, + "name": "Renamed 2" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-3" + }, + "identifier": "pd-3", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-3", + ":identifier": "pd-3" + }, + "name": { + "_value": "Prop 3" + }, + "_essential_data": true + }, + "name": "Prop 3" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-4" + }, + "identifier": "pd-4", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-4", + ":identifier": "pd-4" + }, + "name": { + "_value": "Renamed 4" + }, + "_essential_data": true + }, + "name": "Renamed 4" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-5" + }, + "identifier": "pd-5", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-5", + ":identifier": "pd-5" + }, + "name": { + "_value": "Prop 5" + }, + "_essential_data": true + }, + "name": "Prop 5" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-6", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-6" + }, + "identifier": "pd-6", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-6", + ":identifier": "pd-6" + }, + "name": { + "_value": "Renamed 6" + }, + "_essential_data": true + }, + "name": "Renamed 6" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-7", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-7" + }, + "identifier": "pd-7", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-7", + ":identifier": "pd-7" + }, + "name": { + "_value": "Prop 7" + }, + "_essential_data": true + }, + "name": "Prop 7" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-8", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-8" + }, + "identifier": "pd-8", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-8", + ":identifier": "pd-8" + }, + "name": { + "_value": "Renamed 8" + }, + "_essential_data": true + }, + "name": "Renamed 8" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-extra", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-extra" + }, + "identifier": "pd-extra", + "section": "property_definition", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "pd-extra", + ":identifier": "pd-extra" + }, + "name": { + "_value": "Extra" + }, + "_essential_data": true + }, + "name": "Extra" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 10, + "saved": 9, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-2" + }, + "identifier": "view-2", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2" + }, + "name": { + "_value": "View 2" + }, + "_essential_data": true + }, + "name": "View 2" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-3" + }, + "identifier": "view-3", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-3", + ":identifier": "view-3" + }, + "name": { + "_value": "View 3" + }, + "_essential_data": true + }, + "name": "View 3" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-4" + }, + "identifier": "view-4", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-4", + ":identifier": "view-4" + }, + "name": { + "_value": "View 4" + }, + "_essential_data": true + }, + "name": "View 4" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-5" + }, + "identifier": "view-5", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-5", + ":identifier": "view-5" + }, + "name": { + "_value": "View 5" + }, + "_essential_data": true + }, + "name": "View 5" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-6", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-6" + }, + "identifier": "view-6", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-6", + ":identifier": "view-6" + }, + "name": { + "_value": "View 6" + }, + "_essential_data": true + }, + "name": "View 6" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-7", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-7" + }, + "identifier": "view-7", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-7", + ":identifier": "view-7" + }, + "name": { + "_value": "View 7" + }, + "_essential_data": true + }, + "name": "View 7" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-noname", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-noname" + }, + "identifier": "view-noname", + "section": "view", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "_attributes": { + "identifier": "view-noname", + ":identifier": "view-noname" + }, + "_essential_data": true + } + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 7, + "saved": 6, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic big2.xml []": { + "result": { + "success": true, + "file_info": { + "name": "big2.xml", + "size": 4567, + "mime_type": "text/xml" + }, + "processing_times": "", + "memory_usage": "", + "statistics": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 51, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 51, + "total_errors": 0 + } + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_skipped": null, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big2.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 10, + "property_mapping": { + "Renamed 0": "renamed0", + "Prop 1": "prop1", + "Renamed 2": "renamed2", + "Prop 3": "prop3", + "Renamed 4": "renamed4", + "Prop 5": "prop5", + "Renamed 6": "renamed6", + "Prop 7": "prop7", + "Renamed 8": "renamed8", + "Extra": "extra" + } + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + ":identifier", + "propertyDefinitionMap" + ], + "has_name": false, + "has_documentation": false + } + ], + [ + "log.info", + "Data normalization completed", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" + } + ], + [ + "log.info", + "Step 4: Converting to OpenRegister objects with @self structure", + [] + ], + [ + "log.info", + "Converting to OpenRegister objects with @self structure", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export" + } + ], + [ + "log.debug", + "Creating model object from metadata", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "organization" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Sections processed", + { + "elements": 20, + "relationships": 12, + "organizations": 1, + "views": 7, + "property_definitions": 10 + } + ], + [ + "log.info", + "Conversion to OpenRegister objects completed", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "total_objects": 51, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ] + } + ], + [ + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 51, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 20, + "12": 12, + "14": 1, + "13": 7, + "15": 10 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "section": "model", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "propertyDefinitionMap": { + "pd-0": "Renamed 0", + "pd-1": "Prop 1", + "pd-2": "Renamed 2", + "pd-3": "Prop 3", + "pd-4": "Renamed 4", + "pd-5": "Prop 5", + "pd-6": "Renamed 6", + "pd-7": "Prop 7", + "pd-8": "Renamed 8", + "pd-extra": "Extra" + } + }, + ":identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "propertyDefinitionMap": { + "pd-0": "Renamed 0", + "pd-1": "Prop 1", + "pd-2": "Renamed 2", + "pd-3": "Prop 3", + "pd-4": "Renamed 4", + "pd-5": "Prop 5", + "pd-6": "Renamed 6", + "pd-7": "Prop 7", + "pd-8": "Renamed 8", + "pd-extra": "Extra" + } + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-07", + "slug": "el-07", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-07", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-07", + ":identifier": "el-07", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-07" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-07" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-08", + "slug": "el-08", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-08", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-08", + ":identifier": "el-08", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-08" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-08" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-09", + "slug": "el-09", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-09", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-09", + ":identifier": "el-09", + "xsi:type": "Role" + }, + "name": { + "_value": "el-09" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-09" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-10", + "slug": "el-10", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-10", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-10", + ":identifier": "el-10", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-10" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-10" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-11", + "slug": "el-11", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-11", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-11", + ":identifier": "el-11", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-11" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-11" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-12", + "slug": "el-12", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-12", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-12", + ":identifier": "el-12", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-12" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-12" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-13", + "slug": "el-13", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-13", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-13", + ":identifier": "el-13", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-13" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-13" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-14", + "slug": "el-14", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-14", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-14", + ":identifier": "el-14", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-14" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-14" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-15", + "slug": "el-15", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-15", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-15", + ":identifier": "el-15", + "xsi:type": "Role" + }, + "name": { + "_value": "el-15" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-15" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-16", + "slug": "el-16", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-16", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-16", + ":identifier": "el-16", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-16" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-16" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-17", + "slug": "el-17", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-17", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-17", + ":identifier": "el-17", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-17" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-17" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-18", + "slug": "el-18", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-18", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-18", + ":identifier": "el-18", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-18" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-18" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-19", + "slug": "el-19", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-19", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-19", + ":identifier": "el-19", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-19" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-19" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-0", + "slug": "new-0", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-0", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-0", + ":identifier": "new-0", + "xsi:type": "Node" + }, + "name": { + "_value": "new-0" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-0" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-1", + "slug": "new-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-1", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-1", + ":identifier": "new-1", + "xsi:type": "Node" + }, + "name": { + "_value": "new-1" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-1" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-2", + "slug": "new-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-2", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-2", + ":identifier": "new-2", + "xsi:type": "Node" + }, + "name": { + "_value": "new-2" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-2" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-3", + "slug": "new-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-3", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-3", + ":identifier": "new-3", + "xsi:type": "Node" + }, + "name": { + "_value": "new-3" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-3" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-4", + "slug": "new-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-4", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-4", + ":identifier": "new-4", + "xsi:type": "Node" + }, + "name": { + "_value": "new-4" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-4" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-5", + "slug": "new-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-5", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-5", + ":identifier": "new-5", + "xsi:type": "Node" + }, + "name": { + "_value": "new-5" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-5" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "dup", + "slug": "dup", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "dup", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "dup", + ":identifier": "dup", + "xsi:type": "Second" + }, + "name": { + "_value": "dup" + }, + "_essential_data": true + }, + "type": "Second", + "name": "dup" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 20, + "saved": 19, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-01", + "slug": "rel-01", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-01", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-01", + "source": "el-01", + "target": "el-02", + ":identifier": "rel-01", + ":source": "el-01", + ":target": "el-02", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-02", + "slug": "rel-02", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-02", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-02", + "source": "el-02", + "target": "el-03", + ":identifier": "rel-02", + ":source": "el-02", + ":target": "el-03", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-03", + "slug": "rel-03", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-03", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-03", + "source": "el-03", + "target": "el-05", + ":identifier": "rel-03", + ":source": "el-03", + ":target": "el-05", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-04", + "slug": "rel-04", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-04", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-04", + "source": "el-04", + "target": "el-05", + ":identifier": "rel-04", + ":source": "el-04", + ":target": "el-05", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-05", + "slug": "rel-05", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-05", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-05", + "source": "el-05", + "target": "el-06", + ":identifier": "rel-05", + ":source": "el-05", + ":target": "el-06", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-06", + "slug": "rel-06", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-06", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-06", + "source": "el-06", + "target": "el-08", + ":identifier": "rel-06", + ":source": "el-06", + ":target": "el-08", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-07", + "slug": "rel-07", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-07", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-07", + "source": "el-07", + "target": "el-08", + ":identifier": "rel-07", + ":source": "el-07", + ":target": "el-08", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-08", + "slug": "rel-08", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-08", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-08", + "source": "el-08", + "target": "el-09", + ":identifier": "rel-08", + ":source": "el-08", + ":target": "el-09", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-09", + "slug": "rel-09", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-09", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-09", + "source": "el-09", + "target": "el-11", + ":identifier": "rel-09", + ":source": "el-09", + ":target": "el-11", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-10", + "slug": "rel-10", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-10", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-10", + "source": "el-10", + "target": "el-11", + ":identifier": "rel-10", + ":source": "el-10", + ":target": "el-11", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-11", + "slug": "rel-11", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-11", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-11", + "source": "el-11", + "target": "el-12", + ":identifier": "rel-11", + ":source": "el-11", + ":target": "el-12", + "xsi:type": "Serving" + }, + "_essential_data": true + }, + "type": "Serving" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-new", + "slug": "rel-new", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-new", + "section": "relationships", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-new", + "source": "x", + "target": "y", + ":identifier": "rel-new", + ":source": "x", + ":target": "y", + "xsi:type": "Access" + }, + "_essential_data": true + }, + "type": "Access" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 12, + "saved": 11, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "slug": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "section": "organization", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "name": "Organizations", + "xml": { + "item": { + "label": { + "_value": "Root" + }, + "item": [ + { + "_identifierRef": "el-03", + "_attributes": { + "identifierRef": "el-03", + ":identifierRef": "el-03" + }, + "___identifierRef": "el-03" + }, + { + "_identifierRef": "el-04", + "_attributes": { + "identifierRef": "el-04", + ":identifierRef": "el-04" + }, + "___identifierRef": "el-04" + }, + { + "_identifierRef": "el-05", + "_attributes": { + "identifierRef": "el-05", + ":identifierRef": "el-05" + }, + "___identifierRef": "el-05" + }, + { + "_identifierRef": "el-06", + "_attributes": { + "identifierRef": "el-06", + ":identifierRef": "el-06" + }, + "___identifierRef": "el-06" + }, + { + "_identifierRef": "el-07", + "_attributes": { + "identifierRef": "el-07", + ":identifierRef": "el-07" + }, + "___identifierRef": "el-07" + }, + { + "_identifierRef": "el-08", + "_attributes": { + "identifierRef": "el-08", + ":identifierRef": "el-08" + }, + "___identifierRef": "el-08" + }, + { + "_identifierRef": "el-09", + "_attributes": { + "identifierRef": "el-09", + ":identifierRef": "el-09" + }, + "___identifierRef": "el-09" + }, + { + "_identifierRef": "new-0", + "_attributes": { + "identifierRef": "new-0", + ":identifierRef": "new-0" + }, + "___identifierRef": "new-0" + } + ] + } + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-2", + "slug": "view-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-2", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-2", + ":identifier": "view-2" + }, + "name": { + "_value": "View 2" + }, + "_essential_data": true + }, + "name": "View 2" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-3", + "slug": "view-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-3", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-3", + ":identifier": "view-3" + }, + "name": { + "_value": "View 3" + }, + "_essential_data": true + }, + "name": "View 3" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-4", + "slug": "view-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-4", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-4", + ":identifier": "view-4" + }, + "name": { + "_value": "View 4" + }, + "_essential_data": true + }, + "name": "View 4" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-5", + "slug": "view-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-5", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-5", + ":identifier": "view-5" + }, + "name": { + "_value": "View 5" + }, + "_essential_data": true + }, + "name": "View 5" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-6", + "slug": "view-6", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-6", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-6", + ":identifier": "view-6" + }, + "name": { + "_value": "View 6" + }, + "_essential_data": true + }, + "name": "View 6" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-7", + "slug": "view-7", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-7", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-7", + ":identifier": "view-7" + }, + "name": { + "_value": "View 7" + }, + "_essential_data": true + }, + "name": "View 7" + }, + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-noname", + "slug": "view-noname", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "view-noname", + "section": "views", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "view-noname", + ":identifier": "view-noname" + }, + "_essential_data": true + } + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 7, + "saved": 6, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-0", + "slug": "pd-0", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-0", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-0", + ":identifier": "pd-0" + }, + "name": { + "_value": "Renamed 0" + }, + "_essential_data": true + }, + "name": "Renamed 0" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-1", + "slug": "pd-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-1", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-1", + ":identifier": "pd-1" + }, + "name": { + "_value": "Prop 1" + }, + "_essential_data": true + }, + "name": "Prop 1" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-2", + "slug": "pd-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-2", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-2", + ":identifier": "pd-2" + }, + "name": { + "_value": "Renamed 2" + }, + "_essential_data": true + }, + "name": "Renamed 2" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-3", + "slug": "pd-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-3", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-3", + ":identifier": "pd-3" + }, + "name": { + "_value": "Prop 3" + }, + "_essential_data": true + }, + "name": "Prop 3" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-4", + "slug": "pd-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-4", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-4", + ":identifier": "pd-4" + }, + "name": { + "_value": "Renamed 4" + }, + "_essential_data": true + }, + "name": "Renamed 4" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-5", + "slug": "pd-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-5", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-5", + ":identifier": "pd-5" + }, + "name": { + "_value": "Prop 5" + }, + "_essential_data": true + }, + "name": "Prop 5" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-6", + "slug": "pd-6", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-6", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-6", + ":identifier": "pd-6" + }, + "name": { + "_value": "Renamed 6" + }, + "_essential_data": true + }, + "name": "Renamed 6" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-7", + "slug": "pd-7", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-7", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-7", + ":identifier": "pd-7" + }, + "name": { + "_value": "Prop 7" + }, + "_essential_data": true + }, + "name": "Prop 7" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-8", + "slug": "pd-8", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-8", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-8", + ":identifier": "pd-8" + }, + "name": { + "_value": "Renamed 8" + }, + "_essential_data": true + }, + "name": "Renamed 8" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-extra", + "slug": "pd-extra", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "pd-extra", + "section": "property_definitions", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "pd-extra", + ":identifier": "pd-extra" + }, + "name": { + "_value": "Extra" + }, + "_essential_data": true + }, + "name": "Extra" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 10, + "saved": 9, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "log.info", + "[ArchiMate] Using lastSaveResult for statistics", + { + "saved_count": 45, + "updated_count": 6, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" + ] + } + ], + [ + "log.info", + "[ArchiMate] Statistics summary calculated", + { + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 51, + "total_errors": 0 + }, + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 51, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } + } + ], + [ + "log.info", + "ArchiMate XML import completed successfully", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "model_exists": false, + "imported_objects": 0, + "round_trip_fidelity": "enabled" + } + ] + ] + }, + "optimized noorg.xml []": { + "result": { + "success": true, + "file_info": { + "name": "noorg.xml", + "size": 563 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 4, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 4, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 0, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 4, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/noorg.xml", + "fileName": "noorg.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "elements", + "relationships", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "big" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "big" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 1, + "relationships_count": 0, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 1 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 1 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built SPEED elements lookup from raw data", + { + "total_elements": 1, + "sample_identifiers": [ + "el-00" + ] + } + ], + [ + "log.info", + "SPEED MODE: Processing views with maximum optimizations", + { + "elements_available": 1 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 1, + "referenced_elements": 0, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 4 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 4, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "type", + "value": "Role", + "object_id": "el-00" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 1, + "elements_with_gemma_type": 1, + "gemma_type_variations": { + "Role": 1 + }, + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 4, + "schemas": { + "10": 1, + "11": 1, + "15": 1, + "13": 1 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "big", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "big", + "section": "model", + "model_identifier": "big", + "xml": { + "name": "", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Prop 0" + } + }, + "name": "", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Prop 0" + }, + ":identifier": "big" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-00", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-00" + }, + "identifier": "el-00", + "section": "element", + "model_identifier": "big", + "xml": { + "_attributes": { + "identifier": "el-00", + ":identifier": "el-00", + "xsi:type": "Role" + }, + "name": { + "_value": "el-00" + }, + "_essential_data": true + }, + "name": "el-00", + "type": "Role" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "pd-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "pd-0" + }, + "identifier": "pd-0", + "section": "property_definition", + "model_identifier": "big", + "xml": { + "_attributes": { + "identifier": "pd-0", + ":identifier": "pd-0" + }, + "name": { + "_value": "Prop 0" + }, + "_essential_data": true + }, + "name": "Prop 0" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-0" + }, + "identifier": "view-0", + "section": "view", + "model_identifier": "big", + "xml": { + "_attributes": { + "identifier": "view-0", + ":identifier": "view-0" + }, + "name": { + "_value": "View 0" + }, + "_essential_data": true + }, + "name": "View 0" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic noorg.xml []": { + "result": { + "escaped": "TypeError", + "message": "OCA\\Stackiq\\Service\\ArchiMateImportService::extractIdentifier(): Argument #1 ($item) must be of type array, string given," + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/noorg.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "elements", + "relationships", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "big" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "big" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "big", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "big", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "big" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 1, + "property_mapping": { + "Prop 0": "prop0" + } + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + ":identifier", + "propertyDefinitionMap" + ], + "has_name": false, + "has_documentation": false + } + ] + ] + } +} diff --git a/tests/data/archimate_golden.xml b/tests/data/archimate_golden.xml new file mode 100644 index 000000000..bc713a923 --- /dev/null +++ b/tests/data/archimate_golden.xml @@ -0,0 +1,144 @@ + + + Golden model + Model used to pin the import output + + + Model unit + + + + + Zaaksysteem + Handles cases + + + uuid-el-1 + + + Backoffice + + + Referentiecomponent + + + Unknown definition + + + No definition ref + + + + + + Zaakgericht werken + + + single + + + + + + + + + Zaakdossier + + + uuid-el-4 + + + + + Standaard groep + + + Gemma waarde + + + Second unit + + + + + + + serves + Serving relation + + + uuid-rel-1 + + + + + + + + + + + + + + + + + + + + + + Object ID + + + Business Unit + + + GEMMA type + + + Remark + + + Gemma Online URL + + + + + + Overview + Main view + + + View unit + + + + + + + + + + + + + + + + + Empty view + + + + From d13ebe2a9a0458e2f4ae0453046835c71f2f5d89 Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Tue, 3 Nov 2026 14:42:55 +0100 Subject: [PATCH 2/4] refactor(archimate): pass one import scope instead of the model, property map and lookups The batch and classic import steps now take an ArchiMateImportScope (model identifier, property definition map, section lookups, elements lookup, section and raw properties, each with a with... copy), so every step takes at most two parameters. The repeated name, summary, xsi:type and slug code moves into small helpers, and the save loop aggregates through addSaveResult. The golden fixture's propid-3 definition is renamed so its own GEMMA log branch is exercised; the golden was re-recorded on the code before this commit. Assisted-by: ClaudeCode:claude-opus-5-5 --- .../ArchiMate/ArchiMateImportScope.php | 203 +++ lib/Service/ArchiMateImportService.php | 1191 ++++++++--------- .../Service/ArchiMateImportProgressTest.php | 7 +- .../Unit/Service/golden/archiMateImport.json | 332 +++-- tests/data/archimate_golden.xml | 2 +- 5 files changed, 923 insertions(+), 812 deletions(-) create mode 100644 lib/Service/ArchiMate/ArchiMateImportScope.php diff --git a/lib/Service/ArchiMate/ArchiMateImportScope.php b/lib/Service/ArchiMate/ArchiMateImportScope.php new file mode 100644 index 000000000..6fea9a4ba --- /dev/null +++ b/lib/Service/ArchiMate/ArchiMateImportScope.php @@ -0,0 +1,203 @@ + + * @copyright 2026 Conduction B.V. + * @license EUPL-1.2 https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 + * @link https://github.com/ConductionNL/stackiq + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + * + * SPDX-FileCopyrightText: 2026 Conduction B.V. + * SPDX-License-Identifier: EUPL-1.2 + */ + +declare(strict_types=1); + +namespace OCA\Stackiq\Service\ArchiMate; + +/** + * Immutable import state: the model, its property definitions, the raw section + * lookups, the element lookup for views, the section being transformed and the + * raw properties of the item being flattened. Each with… method returns a copy. + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ +final class ArchiMateImportScope { + + /** + * Raw items per section name, keyed by identifier. + * + * @var array> + */ + private array $lookups = []; + + /** + * Elements by identifier, for splicing into view nodes. + * + * @var array + */ + private array $elementsLookup = []; + + /** + * The schema type of the section being transformed (element, view, ...). + * + * @var string + */ + private string $section = ''; + + /** + * The raw property list of the item being flattened. + * + * @var array + */ + private array $properties = []; + + /** + * Start a scope for one model. + * + * @param string $modelIdentifier The model identifier every object links to. + * @param array $propDefMap Property definition ref => property name. + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function __construct( + private readonly string $modelIdentifier, + private readonly array $propDefMap, + ) { + }//end __construct() + + /** + * The model identifier. + * + * @return string + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function modelIdentifier(): string { + return $this->modelIdentifier; + }//end modelIdentifier() + + /** + * The property definition map. + * + * @return array + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function propDefMap(): array { + return $this->propDefMap; + }//end propDefMap() + + /** + * The raw items of one section, keyed by identifier. + * + * @param string $sectionName The section name (elements, relationships, ...). + * + * @return array + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function lookup(string $sectionName): array { + return $this->lookups[$sectionName] ?? []; + }//end lookup() + + /** + * The elements lookup for views. + * + * @return array + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function elementsLookup(): array { + return $this->elementsLookup; + }//end elementsLookup() + + /** + * The schema type of the section being transformed. + * + * @return string + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function section(): string { + return $this->section; + }//end section() + + /** + * The raw property list of the item being flattened. + * + * @return array + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function properties(): array { + return $this->properties; + }//end properties() + + /** + * A copy with the raw section lookups. + * + * @param array> $lookups Raw items per section name. + * + * @return self + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function withLookups(array $lookups): self { + $copy = clone $this; + $copy->lookups = $lookups; + return $copy; + }//end withLookups() + + /** + * A copy with an elements lookup for views. + * + * @param array $elementsLookup Elements by identifier. + * + * @return self + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function withElementsLookup(array $elementsLookup): self { + $copy = clone $this; + $copy->elementsLookup = $elementsLookup; + return $copy; + }//end withElementsLookup() + + /** + * A copy for one section. + * + * @param string $section The schema type of the section. + * + * @return self + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function withSection(string $section): self { + $copy = clone $this; + $copy->section = $section; + return $copy; + }//end withSection() + + /** + * A copy for flattening one item's raw properties. + * + * @param array $properties The raw property list. + * + * @return self + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 + */ + public function withProperties(array $properties): self { + $copy = clone $this; + $copy->properties = $properties; + return $copy; + }//end withProperties() +}//end class diff --git a/lib/Service/ArchiMateImportService.php b/lib/Service/ArchiMateImportService.php index 00223c7a6..89098b22c 100644 --- a/lib/Service/ArchiMateImportService.php +++ b/lib/Service/ArchiMateImportService.php @@ -23,6 +23,7 @@ use OCA\OpenRegister\Contract\ObjectServiceInterface; use OCA\OpenRegister\Service\ObjectService; use OCA\OpenRegister\Service\OrganisationService; +use OCA\Stackiq\Service\ArchiMate\ArchiMateImportScope; use OCA\Stackiq\Service\ProgressTracker; use OCP\App\IAppManager; use OCP\IAppConfig; @@ -65,6 +66,8 @@ * @SuppressWarnings(PHPMD.CamelCaseVariableName) * @SuppressWarnings(PHPMD.UnusedPrivateField) * @SuppressWarnings(PHPMD.CountInLoopExpression) + * + * @spec openspec/specs/archimate-import/spec.md#requirement-the-system-shall-parse-an-archimate-amef-file-into-catalog-objects-req-001 */ class ArchiMateImportService { @@ -116,6 +119,11 @@ class ArchiMateImportService { */ private ?array $lastSaveResult = null; + /** + * The result lists of an OpenRegister saveObjects call, in the order they are aggregated. + */ + private const SAVE_BUCKETS = ['saved', 'updated', 'unchanged', 'invalid']; + /** * Operation ids a page may name for an import it follows. */ @@ -877,6 +885,7 @@ private function normalizeArchiMateData(array $data, string $modelIdentifier): a ); // STEP 2: Process each section and store complete raw XML data. + $scope = new ArchiMateImportScope(modelIdentifier: $modelIdentifier, propDefMap: $propDefMap); $sections = ['elements', 'relationships', 'organizations', 'views', 'property_definitions']; $alternativeNames = [ 'views' => ['views', 'diagrams'], @@ -917,9 +926,7 @@ private function normalizeArchiMateData(array $data, string $modelIdentifier): a } else { $normalized[$section] = $this->extractSectionDataWithProperties( sectionData: $sectionData, - sectionName: $section, - modelIdentifier: $modelIdentifier, - propDefMap: $propDefMap + scope: $scope->withSection(section: $section) ); } }//end if @@ -939,136 +946,126 @@ private function normalizeArchiMateData(array $data, string $modelIdentifier): a /** * Extract data from a specific section, flatten properties, and store xml * - * @param mixed $sectionData Section data from XML parsing - * @param string $sectionName Name of the section being processed - * @param string $modelIdentifier The model identifier for linking items - * @param array $propDefMap Map of propertyDefinitionRef => property name + * @param mixed $sectionData Section data from XML parsing + * @param ArchiMateImportScope $scope The import scope for the section being processed * * @return array Extracted section data with complete XML preservation and flattened properties */ - private function extractSectionDataWithProperties( - mixed $sectionData, - string $sectionName, - string $modelIdentifier, - array $propDefMap, - ): array { + private function extractSectionDataWithProperties(mixed $sectionData, ArchiMateImportScope $scope): array { $extracted = []; - if (is_array($sectionData) === true) { - $items = $this->findItemsInSection(sectionData: $sectionData, sectionName: $sectionName); - foreach ($items as $item) { - $identifier = $this->extractIdentifier(item: $item, sectionName: $sectionName); - if (empty($identifier) === false) { - // OPTIMIZATION: Store XML data directly without expensive deep copy. - // Start with base object structure. - $object = [ - 'identifier' => $identifier, - 'section' => $sectionName, - 'model_identifier' => $modelIdentifier, - 'extracted_at' => time(), - 'xml' => $this->extractEssentialXmlData(item: $item), - // OPTIMIZATION: Store only essential XML data. - ]; + if (is_array($sectionData) === false) { + return $extracted; + } - // Extract type from xsi:type attribute - // (e.g., "Capability", "ApplicationComponent", "Referentiecomponent"). - // The xsi:type is stored as _xsi__type or in _attributes['xsi:type']. - if (isset($item['_xsi__type']) === true) { - $object['type'] = $item['_xsi__type']; - } elseif (isset($item['_attributes']['xsi:type']) === true) { - $object['type'] = $item['_attributes']['xsi:type']; - } + $sectionName = $scope->section(); + $items = $this->findItemsInSection(sectionData: $sectionData, sectionName: $sectionName); + foreach ($items as $item) { + $identifier = $this->extractIdentifier(item: $item, sectionName: $sectionName); + if (empty($identifier) === true) { + continue; + } - // Extract name from XML if it exists. - if (isset($item['name']) === true) { - if (is_array($item['name']) === true && isset($item['name']['_value']) === true) { - $object['name'] = $item['name']['_value']; - } elseif (is_string($item['name']) === true) { - $object['name'] = $item['name']; - } - } + // OPTIMIZATION: Store only essential XML data, without an expensive deep copy. + $object = [ + 'identifier' => $identifier, + 'section' => $sectionName, + 'model_identifier' => $scope->modelIdentifier(), + 'extracted_at' => time(), + 'xml' => $this->extractEssentialXmlData(item: $item), + ]; - // Extract documentation from XML if it exists - set both summary and documentation. - if (isset($item['documentation']) === true) { - $docValue = null; - if (is_array($item['documentation']) === true && isset($item['documentation']['_value']) === true) { - $docValue = $item['documentation']['_value']; - } elseif (is_string($item['documentation']) === true) { - $docValue = $item['documentation']; - } + $this->copyXsiType(object: $object, item: $item); + $this->copyNameAndDocumentation(object: $object, item: $item); - if ($docValue !== null) { - $object['omschrijving'] = $docValue; - $object['documentation'] = $docValue; - // Also set documentation field for schema compatibility. - } - } + // Flatten properties to root fields using the propertyDefinitionMap. + if (isset($item['properties']['property']) === true) { + $this->flattenSectionProperties( + object: $object, + scope: $scope->withProperties(properties: $this->definedPropertyList(properties: $item['properties']['property'])) + ); + } - // Flatten properties to root fields using the propertyDefinitionMap. - if (isset($item['properties']) === true && isset($item['properties']['property']) === true) { - $props = $item['properties']['property']; - $processedProperties = []; - if (isset($props[0]) === true) { - // Multiple properties. - foreach ($props as $prop) { - $defRef = $prop['_attributes']['propertyDefinitionRef'] ?? null; - $value = $prop['value']['_value'] ?? $prop['value'] ?? null; - if ($defRef !== false && isset($propDefMap[$defRef]) === true) { - $name = $propDefMap[$defRef]; - $camelCaseName = $this->convertToCamelCase(propertyName: $name); - $object[$camelCaseName] = $value; - - // Store property mapping for reference. - if (isset($object['_propertyMapping']) === false) { - $object['_propertyMapping'] = []; - } - - $object['_propertyMapping'][$camelCaseName] = $name; - - // If this property is 'Object ID', set slug for later use. - if (strtolower($name) === 'object id') { - $object['_slug'] = $value; - // Store temporarily, will be moved to @self.slug later. - } - } - }//end foreach - } elseif (isset($props['_attributes']['propertyDefinitionRef']) === true) { - // Single property. - $defRef = $props['_attributes']['propertyDefinitionRef']; - $value = $props['value']['_value'] ?? $props['value'] ?? null; - if ($defRef !== false && isset($propDefMap[$defRef]) === true) { - $name = $propDefMap[$defRef]; - $camelCaseName = $this->convertToCamelCase(propertyName: $name); - $object[$camelCaseName] = $value; - - // Store property mapping for reference. - if (isset($object['_propertyMapping']) === false) { - $object['_propertyMapping'] = []; - } - - $object['_propertyMapping'][$camelCaseName] = $name; - - $processedProperties[] = [ - 'original' => $name, - 'camelCase' => $camelCaseName, - 'value' => $value, - ]; - - if (strtolower($name) === 'object id') { - $object['_slug'] = $value; - // Store temporarily, will be moved to @self.slug later. - } - }//end if - }//end if - }//end if - - $extracted[$identifier] = $object; - }//end if - }//end foreach - }//end if + $extracted[$identifier] = $object; + }//end foreach return $extracted; }//end extractSectionDataWithProperties() + /** + * Copy an item's name, and its documentation as both omschrijving and documentation, when they have text. + * + * @param array $object The object being built + * @param array $item The raw XML item + * + * @return void + */ + private function copyNameAndDocumentation(array &$object, array $item): void { + if (isset($item['name']) === true) { + $name = $this->textValue(value: $item['name']); + if ($name !== null) { + $object['name'] = $name; + } + } + + if (isset($item['documentation']) === true) { + $docValue = $this->textValue(value: $item['documentation']); + if ($docValue !== null) { + $object['omschrijving'] = $docValue; + $object['documentation'] = $docValue; + } + } + }//end copyNameAndDocumentation() + + /** + * A raw property list as a list; a single property only counts when it names its definition. + * + * @param array $properties The raw `properties.property` value + * + * @return array The properties as a list + */ + private function definedPropertyList(array $properties): array { + if (isset($properties[0]) === true) { + return $properties; + } + + if (isset($properties['_attributes']['propertyDefinitionRef']) === true) { + return [$properties]; + } + + return []; + }//end definedPropertyList() + + /** + * Set each defined property on the object under its camelCase name; an "Object ID" also becomes the _slug. + * + * @param array $object The object being built + * @param ArchiMateImportScope $scope The scope with the item's property list and the definition map + * + * @return void + */ + private function flattenSectionProperties(array &$object, ArchiMateImportScope $scope): void { + $propDefMap = $scope->propDefMap(); + foreach ($scope->properties() as $prop) { + $defRef = $prop['_attributes']['propertyDefinitionRef'] ?? null; + $value = $prop['value']['_value'] ?? $prop['value'] ?? null; + if (isset($propDefMap[$defRef]) === false) { + continue; + } + + $name = $propDefMap[$defRef]; + $camelCaseName = $this->convertToCamelCase(propertyName: $name); + $object[$camelCaseName] = $value; + + // Store property mapping for reference. + $object['_propertyMapping'][$camelCaseName] = $name; + + // Stored temporarily, moved to @self.slug later. + if (strtolower($name) === 'object id') { + $object['_slug'] = $value; + } + } + }//end flattenSectionProperties() + /** * Convert normalized data to OpenRegister objects with @self structure * @@ -1110,12 +1107,8 @@ private function convertToOpenRegisterObjects(array $normalizedData, string $mod foreach ($sections as $section) { if (empty($normalizedData[$section]) === false && is_array($normalizedData[$section]) === true) { $sectionCounts[$section] = count($normalizedData[$section]); - foreach ($normalizedData[$section] as $identifier => $data) { - $objects[] = $this->createSectionObject( - section: $section, - identifier: $identifier, - data: $data - ); + foreach ($normalizedData[$section] as $data) { + $objects[] = $this->createSectionObject(section: $section, data: $data); } } else { $sectionCounts[$section] = 0; @@ -1147,9 +1140,7 @@ private function convertToOpenRegisterObjects(array $normalizedData, string $mod */ private function createModelObject(array $metadata, string $modelIdentifier): array { // OPTIMIZATION: Use cached configuration values. - $registerId = $this->cachedConfig['registerId'] ?? throw new \RuntimeException( - 'Register ID not found. Ensure AMEF config is initialized.' - ); + $registerId = $this->registerId(); $modelSchemaIds = $this->cachedConfig['schemaIds']['model'] ?? null; if ($modelSchemaIds === null) { throw new \RuntimeException( @@ -1215,61 +1206,41 @@ private function createModelObject(array $metadata, string $modelIdentifier): ar /** * Create section object with @self structure and flattened XML data * + * The object's id is its flattened "Object ID" when it has one, with the AMEF identifier as + * slug; otherwise the identifier is the id and the identifier without "id-" the slug. + * * @param string $section Section name - * @param string $identifier Item identifier - * @param array $data Item data (already contains XML data at root level) + * @param array $data Item data with its identifier (already contains XML data at root level) * * @return array Section object with @self structure */ - private function createSectionObject(string $section, string $identifier, array $data): array { + private function createSectionObject(string $section, array $data): array { + $identifier = $data['identifier']; + // OPTIMIZATION: Use cached configuration values. - $registerId = $this->cachedConfig['registerId'] ?? throw new \RuntimeException( - 'Register ID not found. Ensure AMEF config is initialized.' - ); + $registerId = $this->registerId(); $schemaId = $this->cachedConfig['schemaIds'][$section] ?? $this->getSchemaIdForSection(section: $section); - // FIXED: Use objectId as main ID and AMEF identifier as slug. - $objectId = null; - $slug = null; - - // Priority 1: Check for objectId property (flattened from "Object ID"). + $slug = $identifier; if (isset($data['objectId']) === true) { $objectId = $data['objectId']; - // Use AMEF identifier as slug. - $slug = $identifier; } elseif (isset($data['_slug']) === true) { - // Priority 2: Check for temporary _slug field (legacy support). + // The temporary _slug field (legacy support) is removed once read. $objectId = $data['_slug']; - // Use AMEF identifier as slug. - $slug = $identifier; - // Remove the temporary field. unset($data['_slug']); } elseif (isset($data['Object ID']) === true) { - // Priority 3: Check for direct "Object ID" property. $objectId = $data['Object ID']; - // Use AMEF identifier as slug. - $slug = $identifier; } else { - // Fallback: Use AMEF identifier as both ID and extract clean UUID for slug. $objectId = $identifier; - // Extract clean UUID from AMEF identifier (remove "id-" prefix if present). - if (str_starts_with($identifier, 'id-') === true) { - $slug = substr($identifier, 3); - // Remove "id-" prefix. - } else { - $slug = $identifier; - } - }//end if + $slug = $this->slugFromIdentifier(identifier: $identifier); + } - // Create object with @self structure using correct ID and slug. $object = [ '@self' => [ 'register' => $registerId, 'schema' => $schemaId, 'id' => $objectId, - // Now using objectId as main ID. 'slug' => $slug, - // Now using AMEF identifier as slug. 'owner' => $this->getCurrentUserId(), 'organisation' => $this->getCurrentOrganisation(), 'published' => date('Y-m-d\TH:i:s\Z'), @@ -1319,9 +1290,7 @@ private function saveObjectsToDatabase(array $objects): array { // Saving objects to database. // OPTIMIZATION: Use cached register ID. - $registerId = $this->cachedConfig['registerId'] ?? throw new \RuntimeException( - 'Register ID not found. Ensure AMEF config is initialized.' - ); + $registerId = $this->registerId(); // MAGIC MAPPING SUPPORT: Group objects by schema first, then save each schema group. // This ensures each batch has a single schema so UnifiedObjectMapper can route to the correct magic table. @@ -1342,7 +1311,7 @@ private function saveObjectsToDatabase(array $objects): array { ] ); - $groupResult = $this->saveSchemaGroups(schemaGroups: $schemaGroups, objectService: $objectService, registerId: $registerId); + $groupResult = $this->saveSchemaGroups(schemaGroups: $schemaGroups, objectService: $objectService); $allResults = $groupResult['results']; $aggregatedStats = $groupResult['stats']; $countsBySchema = $aggregatedStats['countsBySchema']; @@ -1392,20 +1361,14 @@ private function saveObjectsToDatabase(array $objects): array { * * @param array>> $schemaGroups Objects keyed by schema id * @param ObjectServiceInterface $objectService OpenRegister's object service - * @param int $registerId The AMEF register id * * @return array{results: array, stats: array} The saved objects and the aggregated statistics * * @spec openspec/specs/archimate-import-progress/spec.md#requirement-req-aip-001-a-running-import-shall-record-its-phase-and-the-objects-saved-so-far */ - private function saveSchemaGroups(array $schemaGroups, ObjectServiceInterface $objectService, int $registerId): array { - $allResults = []; - $aggregatedStats = [ - 'saved' => [], - 'updated' => [], - 'unchanged' => [], - 'invalid' => [], - ]; + private function saveSchemaGroups(array $schemaGroups, ObjectServiceInterface $objectService): array { + $registerId = $this->registerId(); + $outcome = ['results' => [], 'stats' => array_fill_keys(self::SAVE_BUCKETS, [])]; // Track counts per schema for accurate statistics (serialized objects lose the 'section' field). $countsBySchema = []; @@ -1427,10 +1390,9 @@ private function saveSchemaGroups(array $schemaGroups, ObjectServiceInterface $o try { // Save this schema group with the specific schema ID. // PERFORMANCE: Disabled validation and events for bulk import (like CSV import pattern). + $schemaValue = null; if ($schemaId !== 'unknown') { $schemaValue = $schemaId; - } else { - $schemaValue = null; } $saveResult = $objectService->saveObjects( @@ -1443,34 +1405,15 @@ private function saveSchemaGroups(array $schemaGroups, ObjectServiceInterface $o events: false ); - // Merge results. - $aggregatedStats['saved'] = array_merge($aggregatedStats['saved'], $saveResult['saved'] ?? []); - $aggregatedStats['updated'] = array_merge($aggregatedStats['updated'], $saveResult['updated'] ?? []); - $aggregatedStats['unchanged'] = array_merge($aggregatedStats['unchanged'], $saveResult['unchanged'] ?? []); - $aggregatedStats['invalid'] = array_merge($aggregatedStats['invalid'], $saveResult['invalid'] ?? []); - - // Track per-schema counts for statistics (since serialized objects lose 'section'). - $countsBySchema[$schemaId] = [ - 'saved' => count($saveResult['saved'] ?? []), - 'updated' => count($saveResult['updated'] ?? []), - 'unchanged' => count($saveResult['unchanged'] ?? []), - 'invalid' => count($saveResult['invalid'] ?? []), - ]; - - $allResults = array_merge( - $allResults, - $saveResult['saved'] ?? [], - $saveResult['updated'] ?? [], - $saveResult['unchanged'] ?? [] - ); + $countsBySchema[$schemaId] = $this->addSaveResult(outcome: $outcome, saveResult: $saveResult); $this->logger->debug( 'Schema group saved for magic mapping', [ 'schemaId' => $schemaId, 'objectCount' => $schemaObjectCount, - 'saved' => count($saveResult['saved'] ?? []), - 'updated' => count($saveResult['updated'] ?? []), + 'saved' => $countsBySchema[$schemaId]['saved'], + 'updated' => $countsBySchema[$schemaId]['updated'], ] ); } catch (\Exception $e) { @@ -1490,11 +1433,49 @@ private function saveSchemaGroups(array $schemaGroups, ObjectServiceInterface $o } }//end foreach - $aggregatedStats['countsBySchema'] = $countsBySchema; + $outcome['stats']['countsBySchema'] = $countsBySchema; - return ['results' => $allResults, 'stats' => $aggregatedStats]; + return $outcome; }//end saveSchemaGroups() + /** + * Add one schema group's save result to the running outcome. + * + * @param array{results: array, stats: array} $outcome The saved objects and statistics so far + * @param array $saveResult What saveObjects returned for the group + * + * @return array{saved: int, updated: int, unchanged: int, invalid: int} The group's counts + */ + private function addSaveResult(array &$outcome, array $saveResult): array { + $counts = []; + foreach (self::SAVE_BUCKETS as $bucket) { + $outcome['stats'][$bucket] = array_merge($outcome['stats'][$bucket], $saveResult[$bucket] ?? []); + $counts[$bucket] = count($saveResult[$bucket] ?? []); + } + + $outcome['results'] = array_merge( + $outcome['results'], + $saveResult['saved'] ?? [], + $saveResult['updated'] ?? [], + $saveResult['unchanged'] ?? [] + ); + + return $counts; + }//end addSaveResult() + + /** + * The cached AMEF register id. + * + * @return int The register id + * + * @throws \RuntimeException When the AMEF configuration names no register + */ + private function registerId(): int { + return $this->cachedConfig['registerId'] ?? throw new \RuntimeException( + 'Register ID not found. Ensure AMEF config is initialized.' + ); + }//end registerId() + /** * Start recording progress when the upload names a well-formed operation id. * @@ -2511,66 +2492,41 @@ private function buildIdentifierPatternsForSection(string $sectionName): array { * the essential data needed for round-trip fidelity and export functionality. * For view objects, element splicing is performed if elements lookup is provided. * - * @param array $item The complete XML item data + * @param array $item The complete XML item data * @param array $elementsLookup Optional elements lookup for view processing - * @param string $schemaType Schema type for conditional processing * * @return array Essential XML data for storage */ - private function extractEssentialXmlData(array $item, array $elementsLookup = [], string $schemaType = ''): array { + private function extractEssentialXmlData(array $item, array $elementsLookup = []): array { $essential = []; - // Always preserve core attributes (needed for export). - if (isset($item['_attributes']) === true) { - $essential['_attributes'] = $item['_attributes']; - } - - // Preserve name and documentation (already extracted to root level but needed for export). - if (isset($item['name']) === true) { - $essential['name'] = $item['name']; - } - - if (isset($item['documentation']) === true) { - $essential['documentation'] = $item['documentation']; - } - - // Preserve properties structure (needed for property mapping). - if (isset($item['properties']) === true) { - $essential['properties'] = $item['properties']; - } - - // For relationships, preserve source/target information. - if (isset($item['source']) === true) { - $essential['source'] = $item['source']; - } - - if (isset($item['target']) === true) { - $essential['target'] = $item['target']; - } - - // Preserve any other critical ArchiMate-specific fields. - $criticalFields = ['type', 'viewpoint', 'accessType', 'isDirected']; - foreach ($criticalFields as $field) { + // Preserve the core attributes, name, documentation, properties and relationship ends (needed for export), + // any other critical ArchiMate-specific fields, and the original node/connection arrays of views. + $fields = [ + '_attributes', + 'name', + 'documentation', + 'properties', + 'source', + 'target', + 'type', + 'viewpoint', + 'accessType', + 'isDirected', + 'node', + 'connection', + ]; + foreach ($fields as $field) { if (isset($item[$field]) === true) { $essential[$field] = $item[$field]; } } - // Preserve original node/connection arrays for views (needed by export's addViewDataToXmlNode). - if (isset($item['node']) === true) { - $essential['node'] = $item['node']; - } - - if (isset($item['connection']) === true) { - $essential['connection'] = $item['connection']; - } - // Extract flattened viewNodes/viewRelationships for frontend consumption. - if ($schemaType === 'view') { - $this->extractViewNodesAndConnections(item: $item, essential: $essential, elementsLookup: $elementsLookup); - } else { - $this->extractViewNodesAndConnections(item: $item, essential: $essential); - } + $essential = array_merge( + $essential, + $this->extractViewNodesAndConnections(item: $item, elementsLookup: $elementsLookup) + ); // Add a marker to indicate this is essential data (for debugging). $essential['_essential_data'] = true; @@ -2584,21 +2540,17 @@ private function extractEssentialXmlData(array $item, array $elementsLookup = [] * This method extracts and transforms nodes and connections from view XML data into * the standardized viewNodes and viewRelationships format used by the frontend. * - * @param array $item The complete XML item data - * @param array $essential Essential XML data to enrich by reference - * @param array $elementsLookup Optional lookup array of elements + * @param array $item The complete XML item data + * @param array $elementsLookup Lookup array of elements * - * @return void + * @return array The viewNodes and viewRelationships the item has */ - private function extractViewNodesAndConnections(array $item, array &$essential, array $elementsLookup = []): void { - // Only process if this looks like a view object (has nodes or connections). - if (isset($item['node']) === false && isset($item['connection']) === false) { - return; - } + private function extractViewNodesAndConnections(array $item, array $elementsLookup): array { + $extracted = []; // Extract viewNodes array with proper JSON structure. if (isset($item['node']) === true) { - $essential['viewNodes'] = $this->extractViewNodesRecursively( + $extracted['viewNodes'] = $this->extractViewNodesRecursively( nodeData: $item['node'], elementsLookup: $elementsLookup ); @@ -2606,12 +2558,15 @@ private function extractViewNodesAndConnections(array $item, array &$essential, // Extract viewRelationships array with proper JSON structure. if (isset($item['connection']) === true) { - $essential['viewRelationships'] = $this->extractViewRelationshipsRecursively( + $extracted['viewRelationships'] = $this->extractViewRelationshipsRecursively( connectionData: $item['connection'] ); } + + return $extracted; }//end extractViewNodesAndConnections() + /** * Extract view nodes with proper JSON structure for frontend consumption * @@ -3291,26 +3246,26 @@ private function processGemmaReferenceComponentStandards(array $objects): array }//end foreach // PASS 2: Process relationships (need all entities collected first for StandaardVersie relationships). + $gemma = [ + 'refComponenten' => $refComponenten, + 'standards' => $standards, + 'standardVersions' => $standardVersions, + 'gemmaRelationshipMap' => $gemmaRelationshipMap, + 'stdVersionRelMap' => $stdVersionRelMap, + ]; foreach ($objects as $object) { if (isset($object['section']) === true && $object['section'] === 'relationship') { // Process Referentiecomponent-Standaard relationships. - $this->processRelationshipImmediate( - relationship: $object, - refComponenten: $refComponenten, - standards: $standards, - gemmaRelationshipMap: $gemmaRelationshipMap - ); + $this->processRelationshipImmediate(relationship: $object, gemma: $gemma); // Process StandaardVersie-Standaard relationships (Specialization type). - $this->processStandardVersionRelationship( - relationship: $object, - standardVersions: $standardVersions, - standards: $standards, - stdVersionRelMap: $stdVersionRelMap - ); + $this->processStandardVersionRelationship(relationship: $object, gemma: $gemma); } } + $gemmaRelationshipMap = $gemma['gemmaRelationshipMap']; + $stdVersionRelMap = $gemma['stdVersionRelMap']; + // Enhanced debug logging. $this->logger->info( 'GEMMA objects processing complete', @@ -3451,18 +3406,12 @@ private function processGemmaReferenceComponentStandards(array $objects): array * Process StandaardVersie-Standaard relationships (Specialization type) * * @param array $relationship The relationship object - * @param array $standardVersions Array of StandaardVersie identifiers - * @param array $standards Array of Standaard identifiers - * @param array $stdVersionRelMap Map of StandaardVersie to Standaard + * @param array $gemma The GEMMA index: standardVersions and standards by identifier, and the + * stdVersionRelMap (StandaardVersie => Standaard) this updates * * @return void */ - private function processStandardVersionRelationship( - array $relationship, - array $standardVersions, - array $standards, - array &$stdVersionRelMap, - ): void { + private function processStandardVersionRelationship(array $relationship, array &$gemma): void { // Get source and target from relationship. $source = $this->extractRelationshipEndpoint(relationship: $relationship, endpoint: 'source'); $target = $this->extractRelationshipEndpoint(relationship: $relationship, endpoint: 'target'); @@ -3482,6 +3431,8 @@ private function processStandardVersionRelationship( // Check if one end is a StandaardVersie and the other is a Standaard. $versionId = null; $standardId = null; + $standardVersions = $gemma['standardVersions']; + $standards = $gemma['standards']; if (isset($standardVersions[$source]) === true && isset($standards[$target]) === true) { // StandaardVersie -> Standaard. @@ -3494,7 +3445,7 @@ private function processStandardVersionRelationship( } if ($standardId === true) { - $stdVersionRelMap[$versionId] = $standardId; + $gemma['stdVersionRelMap'][$versionId] = $standardId; } }//end processStandaardVersieRelationship() @@ -3502,18 +3453,12 @@ private function processStandardVersionRelationship( * OPTIMIZATION: Process relationship immediately when found (single-pass algorithm) * * @param array $relationship The relationship object - * @param array $refComponenten Array of Referentiecomponent identifiers - * @param array $standards Array of Standaard identifiers - * @param array $gemmaRelationshipMap The relationship map to update + * @param array $gemma The GEMMA index: refComponenten and standards by identifier, and the + * gemmaRelationshipMap this updates * * @return void */ - private function processRelationshipImmediate( - array $relationship, - array $refComponenten, - array $standards, - array &$gemmaRelationshipMap, - ): void { + private function processRelationshipImmediate(array $relationship, array &$gemma): void { // Get source and target from relationship XML or flattened properties. $source = $this->extractRelationshipEndpoint(relationship: $relationship, endpoint: 'source'); $target = $this->extractRelationshipEndpoint(relationship: $relationship, endpoint: 'target'); @@ -3533,6 +3478,8 @@ private function processRelationshipImmediate( // Check if one end is a Referentiecomponent and the other is a Standaard. $refCompId = null; $standardId = null; + $refComponenten = $gemma['refComponenten']; + $standards = $gemma['standards']; if (isset($refComponenten[$source]) === true && isset($standards[$target]) === true) { // Referentiecomponent -> Standaard. @@ -3546,8 +3493,8 @@ private function processRelationshipImmediate( if ($standardId === true) { // Initialize arrays if not exists. - if (isset($gemmaRelationshipMap[$refCompId]) === false) { - $gemmaRelationshipMap[$refCompId] = [ + if (isset($gemma['gemmaRelationshipMap'][$refCompId]) === false) { + $gemma['gemmaRelationshipMap'][$refCompId] = [ 'aanbevolen' => [], 'verplicht' => [], ]; @@ -3561,9 +3508,9 @@ private function processRelationshipImmediate( // Convert identifier to UUID format (remove "id-" prefix) for _extend compatibility. $standaardUuid = str_replace('id-', '', $standardId); if (strtolower($verbindingsrol) === 'aanbevolen') { - $gemmaRelationshipMap[$refCompId]['aanbevolen'][] = $standaardUuid; + $gemma['gemmaRelationshipMap'][$refCompId]['aanbevolen'][] = $standaardUuid; } elseif (strtolower($verbindingsrol) === 'verplicht') { - $gemmaRelationshipMap[$refCompId]['verplicht'][] = $standaardUuid; + $gemma['gemmaRelationshipMap'][$refCompId]['verplicht'][] = $standaardUuid; } }//end if }//end processRelationshipImmediate() @@ -3683,22 +3630,15 @@ private function transformArchiMateXmlToObjectsBatch(array $xmlData, string $mod ] ); + $scope = (new ArchiMateImportScope(modelIdentifier: $modelIdentifier, propDefMap: $propDefMap))->withLookups(lookups: $allLookups); + // SPEED OPTIMIZATION 3: Process all non-view sections in bulk. $bulkProcessingStart = microtime(true); - $nonViewObjects = $this->bulkProcessNonViewSections( - xmlData: $xmlData, - modelIdentifier: $modelIdentifier, - propDefMap: $propDefMap, - allLookups: $allLookups - ); + $nonViewObjects = $this->bulkProcessNonViewSections(xmlData: $xmlData, scope: $scope); $allObjects = array_merge($allObjects, $nonViewObjects); // SPEED OPTIMIZATION: Build elements lookup directly from raw data (faster than from processed objects). - $elementsLookup = $this->buildElementsLookupFromRawData( - rawElementsData: $allLookups['elements'], - processedObjects: $nonViewObjects, - propDefMap: $propDefMap - ); + $elementsLookup = $this->buildElementsLookupFromRawData(scope: $scope); $bulkTime = microtime(true) - $bulkProcessingStart; @@ -3706,9 +3646,7 @@ private function transformArchiMateXmlToObjectsBatch(array $xmlData, string $mod $viewProcessingStart = microtime(true); $viewObjects = $this->processViewsMaximumSpeed( xmlData: $xmlData, - modelIdentifier: $modelIdentifier, - propDefMap: $propDefMap, - elementsLookup: $elementsLookup + scope: $scope->withElementsLookup(elementsLookup: $elementsLookup) ); $allObjects = array_merge($allObjects, $viewObjects); $viewTime = microtime(true) - $viewProcessingStart; @@ -3717,7 +3655,7 @@ private function transformArchiMateXmlToObjectsBatch(array $xmlData, string $mod // Transformation completed. // MEMORY CLEANUP: Free all intermediate lookups and caches before database operations. $memoryBeforeCleanup = memory_get_usage(true); - unset($allLookups, $elementsLookup, $propDefMap); + unset($allLookups, $elementsLookup, $propDefMap, $scope); $this->camelCaseCache = []; // Clear property name cache. $this->idPatternCache = []; @@ -3825,81 +3763,29 @@ private function buildElementsLookup(array $elementObjects): array { * This is faster than building from processed objects because we skip intermediate processing * and build the lookup table directly from the source data with minimal transformations. * - * @param array $rawElementsData Raw elements data from XML - * @param array $processedObjects Already processed objects (for fallback) - * @param array $propDefMap Property definition map + * @param ArchiMateImportScope $scope The import scope with the raw section lookups * * @return array Elements lookup for view processing */ - private function buildElementsLookupFromRawData( - array $rawElementsData, - array $processedObjects, - array $propDefMap, - ): array { + private function buildElementsLookupFromRawData(ArchiMateImportScope $scope): array { $lookup = []; // SPEED: Build directly from raw data with minimal processing. - foreach ($rawElementsData as $identifier => $rawItem) { + foreach ($scope->lookup(sectionName: 'elements') as $identifier => $rawItem) { $element = [ 'identifier' => $identifier, 'section' => 'element', ]; - - // Fast name extraction. - if (isset($rawItem['name']) === true) { - if (is_array($rawItem['name']) === true && isset($rawItem['name']['_value']) === true) { - $element['name'] = $rawItem['name']['_value']; - } else { - if (is_string($rawItem['name']) === true) { - $element['name'] = $rawItem['name']; - } else { - $element['name'] = ''; - } - } - } - - // Fast summary extraction. - if (isset($rawItem['documentation']) === true) { - if (is_array($rawItem['documentation']) === true && isset($rawItem['documentation']['_value']) === true) { - $element['omschrijving'] = $rawItem['documentation']['_value']; - } else { - if (is_string($rawItem['documentation']) === true) { - $element['omschrijving'] = $rawItem['documentation']; - } else { - $element['omschrijving'] = ''; - } - } - } - - // Extract type from xsi:type attribute. - if (isset($rawItem['_xsi__type']) === true) { - $element['type'] = $rawItem['_xsi__type']; - } elseif (isset($rawItem['_attributes']['xsi:type']) === true) { - $element['type'] = $rawItem['_attributes']['xsi:type']; - } + $this->copyNameAndSummary(object: $element, item: $rawItem); + $this->copyXsiType(object: $element, item: $rawItem); // Fast properties flattening (only essential properties for splicing). - if (isset($rawItem['properties']['property']) === true && empty($propDefMap) === false) { - $props = [$rawItem['properties']['property']]; - if (isset($rawItem['properties']['property'][0]) === true) { - $props = $rawItem['properties']['property']; - } - - foreach ($props as $prop) { - if (isset($prop['_attributes']['propertyDefinitionRef']) === false) { - continue; - } - - $defRef = $prop['_attributes']['propertyDefinitionRef']; - $value = $prop['value']['_value'] ?? $prop['value'] ?? null; - - if ($value !== null && isset($propDefMap[$defRef]) === true) { - $propertyName = $propDefMap[$defRef]; - $camelCaseName = $this->convertToCamelCase(propertyName: $propertyName); - $element[$camelCaseName] = $value; - } - } - }//end if + if (isset($rawItem['properties']['property']) === true && empty($scope->propDefMap()) === false) { + $this->spliceProperties( + element: $element, + scope: $scope->withProperties(properties: $rawItem['properties']['property']) + ); + } $lookup[$identifier] = $element; }//end foreach @@ -3915,6 +3801,97 @@ private function buildElementsLookupFromRawData( return $lookup; }//end buildElementsLookupFromRawData() + /** + * Copy the defined, non-null property values of a raw element onto its lookup entry. + * + * @param array $element The lookup entry + * @param ArchiMateImportScope $scope The scope with the element's raw properties + * + * @return void + */ + private function spliceProperties(array &$element, ArchiMateImportScope $scope): void { + $propDefMap = $scope->propDefMap(); + foreach ($this->propertyList(properties: $scope->properties()) as $prop) { + if (isset($prop['_attributes']['propertyDefinitionRef']) === false) { + continue; + } + + $defRef = $prop['_attributes']['propertyDefinitionRef']; + $value = $prop['value']['_value'] ?? $prop['value'] ?? null; + if ($value !== null && isset($propDefMap[$defRef]) === true) { + $element[$this->convertToCamelCase(propertyName: $propDefMap[$defRef])] = $value; + } + } + }//end spliceProperties() + + /** + * A raw property list as a list: a single property becomes a list of one. + * + * @param array $properties The raw `properties.property` value + * + * @return array The properties as a list + */ + private function propertyList(array $properties): array { + if (isset($properties[0]) === true) { + return $properties; + } + + return [$properties]; + }//end propertyList() + + /** + * The text of an XML leaf: its `_value`, or the value itself when it is a string. + * + * @param mixed $value The XML leaf + * + * @return mixed The text, or null when the leaf has none + */ + private function textValue(mixed $value): mixed { + if (is_array($value) === true && isset($value['_value']) === true) { + return $value['_value']; + } + + if (is_string($value) === true) { + return $value; + } + + return null; + }//end textValue() + + /** + * Copy an item's name and documentation onto the object as name and omschrijving. + * + * A name or documentation without text is copied as an empty string. + * + * @param array $object The object being built + * @param array $item The raw XML item + * + * @return void + */ + private function copyNameAndSummary(array &$object, array $item): void { + foreach (['name' => 'name', 'documentation' => 'omschrijving'] as $source => $target) { + if (isset($item[$source]) === true) { + $object[$target] = $this->textValue(value: $item[$source]) ?? ''; + } + } + }//end copyNameAndSummary() + + /** + * Copy an item's xsi:type (e.g. "Capability", "ApplicationComponent") onto the object as type. + * + * @param array $object The object being built + * @param array $item The raw XML item + * + * @return void + */ + private function copyXsiType(array &$object, array $item): void { + if (isset($item['_xsi__type']) === true) { + $object['type'] = $item['_xsi__type']; + } elseif (isset($item['_attributes']['xsi:type']) === true) { + $object['type'] = $item['_attributes']['xsi:type']; + } + }//end copyXsiType() + /** * Create model object directly with cached configuration * @@ -4056,18 +4033,14 @@ private function findItemsSimplified(array $sectionData, string $sectionType): a /** * Flatten properties in batch for better performance * - * @param array $object Object to add properties to - * @param array $properties Properties array from XML - * @param array $propDefMap Property definition map + * @param array $object Object to add properties to + * @param ArchiMateImportScope $scope The scope with the item's raw properties and the definition map * * @return void */ - private function flattenPropertiesBatch(array &$object, array $properties, array $propDefMap): void { - $props = [$properties]; - if (isset($properties[0]) === true) { - $props = $properties; - } - + private function flattenPropertiesBatch(array &$object, ArchiMateImportScope $scope): void { + $props = $this->propertyList(properties: $scope->properties()); + $propDefMap = $scope->propDefMap(); $processedProperties = []; // Debug: Log property flattening process. @@ -4095,7 +4068,6 @@ private function flattenPropertiesBatch(array &$object, array $properties, array } $defRef = $prop['_attributes']['propertyDefinitionRef']; - $value = $prop['value']['_value'] ?? $prop['value'] ?? null; // Debug: Log property reference lookup. if (isset($propDefMap[$defRef]) === false) { @@ -4110,53 +4082,15 @@ private function flattenPropertiesBatch(array &$object, array $properties, array continue; } - // No isset($propDefMap[$defRef]) re-check: the loop above only - // reaches here for a $defRef the map already has. - if ($value !== null) { - $propertyName = $propDefMap[$defRef]; - $camelCaseName = $this->convertToCamelCase(propertyName: $propertyName); - $object[$camelCaseName] = $value; - - // Store property mapping for reference. - if (isset($object['_propertyMapping']) === false) { - $object['_propertyMapping'] = []; - } - - $object['_propertyMapping'][$camelCaseName] = $propertyName; - - $processedProperties[] = [ - 'original' => $propertyName, - 'camelCase' => $camelCaseName, - 'value' => $value, - 'def_ref' => $defRef, - ]; - - // Object ID property is now handled after property flattening is complete. - // Debug: Log GEMMA type properties specifically. - if (stripos($propertyName, 'gemma') !== false || $defRef === 'propid-3') { - $this->logger->info( - 'GEMMA type property processed', - [ - 'object_id' => $object['identifier'] ?? 'unknown', - 'property_name' => $propertyName, - 'camel_case_name' => $camelCaseName, - 'value' => $value, - 'def_ref' => $defRef, - ] - ); - } - } else { - // 'mapping_exists' is always true here — the map lookup already - // succeeded, so a null $value is the only way into this branch. - $this->logger->warning( - 'Property value is null', - [ - 'object_id' => $object['identifier'] ?? 'unknown', - 'property_def_ref' => $defRef, - 'value' => $value, - ] - ); - }//end if + $entry = [ + 'name' => $propDefMap[$defRef], + 'def_ref' => $defRef, + 'value' => $prop['value']['_value'] ?? $prop['value'] ?? null, + ]; + $processed = $this->applyFlattenedProperty(object: $object, entry: $entry); + if ($processed !== null) { + $processedProperties[] = $processed; + } }//end foreach // Debug: Log final property flattening results. @@ -4171,6 +4105,58 @@ private function flattenPropertiesBatch(array &$object, array $properties, array ); }//end flattenPropertiesBatch() + /** + * Set one defined property on the object under its camelCase name, or log a null value. + * + * @param array $object The object being built + * @param array{name: string, def_ref: string, value: mixed} $entry The property name, its definition ref and its value + * + * @return array|null The processed property, or null when its value is null + */ + private function applyFlattenedProperty(array &$object, array $entry): ?array { + $defRef = $entry['def_ref']; + $value = $entry['value']; + if ($value === null) { + $this->logger->warning( + 'Property value is null', + [ + 'object_id' => $object['identifier'] ?? 'unknown', + 'property_def_ref' => $defRef, + 'value' => $value, + ] + ); + return null; + } + + $propertyName = $entry['name']; + $camelCaseName = $this->convertToCamelCase(propertyName: $propertyName); + $object[$camelCaseName] = $value; + + // Store property mapping for reference. + $object['_propertyMapping'][$camelCaseName] = $propertyName; + + // Debug: Log GEMMA type properties specifically. + if (stripos($propertyName, 'gemma') !== false || $defRef === 'propid-3') { + $this->logger->info( + 'GEMMA type property processed', + [ + 'object_id' => $object['identifier'] ?? 'unknown', + 'property_name' => $propertyName, + 'camel_case_name' => $camelCaseName, + 'value' => $value, + 'def_ref' => $defRef, + ] + ); + } + + return [ + 'original' => $propertyName, + 'camelCase' => $camelCaseName, + 'value' => $value, + 'def_ref' => $defRef, + ]; + }//end applyFlattenedProperty() + /** * SPEED OPTIMIZATION: Build all lookups simultaneously for maximum performance * @@ -4224,19 +4210,12 @@ private function buildAllLookupsSimultaneously(array $xmlData): array { /** * SPEED OPTIMIZATION: Bulk process all non-view sections with vectorized operations * - * @param array $xmlData XML data - * @param string $modelIdentifier Model identifier - * @param array $propDefMap Property definition map - * @param array $allLookups All pre-built lookups + * @param array $xmlData XML data + * @param ArchiMateImportScope $scope The import scope with the pre-built lookups * * @return array Processed objects */ - private function bulkProcessNonViewSections( - array $xmlData, - string $modelIdentifier, - array $propDefMap, - array $allLookups, - ): array { + private function bulkProcessNonViewSections(array $xmlData, ArchiMateImportScope $scope): array { $objects = []; $sections = [ @@ -4251,47 +4230,31 @@ private function bulkProcessNonViewSections( if ($sectionName === 'organizations') { $orgData = $this->findSectionData(xmlData: $xmlData, sectionName: 'organizations'); if (empty($orgData) === false) { - $syntheticId = 'org-' . preg_replace('/^id-/', '', $modelIdentifier); - $regId = $this->cachedConfig['registerId'] ?? throw new \RuntimeException('No register ID.'); - $orgSchemas = $this->cachedConfig['schemaIds']; - $schemaId = $orgSchemas['organization'] ?? throw new \RuntimeException('No org schema.'); - $objects[] = [ - '@self' => [ - 'register' => $regId, - 'schema' => $schemaId, - 'id' => $syntheticId, - 'owner' => $this->cachedConfig['userId'], - 'organisation' => $this->getCurrentOrganisation(), - 'published' => date('Y-m-d\TH:i:s\Z'), - ], - 'identifier' => $syntheticId, - 'section' => 'organization', - 'model_identifier' => $modelIdentifier, - 'name' => 'Organizations', - 'xml' => $orgData, - ]; - }//end if + $objects[] = $this->organisationTreeObject( + orgData: $orgData, + scope: $scope->withSection(section: $schemaType) + ); + } continue; - }//end if + } - if (empty($allLookups[$sectionName]) === true) { + $sectionItems = $scope->lookup(sectionName: $sectionName); + if (empty($sectionItems) === true) { continue; } $this->logger->debug( "SPEED: Bulk processing {$sectionName}", [ - 'item_count' => count($allLookups[$sectionName]), + 'item_count' => count($sectionItems), ] ); // SPEED OPTIMIZATION: Process all items in this section as a batch. $sectionObjects = $this->bulkTransformSection( - sectionItems: $allLookups[$sectionName], - schemaType: $schemaType, - modelIdentifier: $modelIdentifier, - propDefMap: $propDefMap + sectionItems: $sectionItems, + scope: $scope->withSection(section: $schemaType) ); $objects = array_merge($objects, $sectionObjects); @@ -4300,118 +4263,96 @@ private function bulkProcessNonViewSections( return $objects; }//end bulkProcessNonViewSections() + /** + * The organizations section as one tree object, so a round-trip export can rebuild the hierarchy. + * + * @param array $orgData The organizations section + * @param ArchiMateImportScope $scope The import scope for the organization section + * + * @return array The tree object + */ + private function organisationTreeObject(array $orgData, ArchiMateImportScope $scope): array { + $syntheticId = 'org-' . preg_replace('/^id-/', '', $scope->modelIdentifier()); + $head = [ + 'register' => $this->cachedConfig['registerId'] ?? throw new \RuntimeException('No register ID.'), + 'schema' => $this->cachedConfig['schemaIds']['organization'] ?? throw new \RuntimeException('No org schema.'), + 'id' => $syntheticId, + ]; + $object = $this->importObject(head: $head, scope: $scope); + $object['name'] = 'Organizations'; + $object['xml'] = $orgData; + + return $object; + }//end organisationTreeObject() + + /** + * A new import object: its @self block and its identifier, section and model. + * + * @param array{register: int, schema: int, id: mixed} $head The register, schema and id of the object + * @param ArchiMateImportScope $scope The import scope for the object's section + * + * @return array The object + */ + private function importObject(array $head, ArchiMateImportScope $scope): array { + return [ + '@self' => $head + [ + 'owner' => $this->cachedConfig['userId'], + 'organisation' => $this->getCurrentOrganisation(), + 'published' => date('Y-m-d\TH:i:s\Z'), + ], + 'identifier' => $head['id'], + 'section' => $scope->section(), + 'model_identifier' => $scope->modelIdentifier(), + ]; + }//end importObject() + /** * SPEED OPTIMIZATION: Bulk transform a section with vectorized operations * - * @param array $sectionItems Pre-loaded section items by identifier - * @param string $schemaType Schema type - * @param string $modelIdentifier Model identifier - * @param array $propDefMap Property definition map + * @param array $sectionItems Pre-loaded section items by identifier + * @param ArchiMateImportScope $scope The import scope for this section * * @return array Transformed objects */ - private function bulkTransformSection( - array $sectionItems, - string $schemaType, - string $modelIdentifier, - array $propDefMap, - ): array { + private function bulkTransformSection(array $sectionItems, ArchiMateImportScope $scope): array { $objects = []; + $schemaType = $scope->section(); foreach ($sectionItems as $identifier => $item) { // SPEED OPTIMIZATION: Direct object creation without intermediate steps. - $essentialXmlData = $this->extractEssentialXmlData(item: $item, elementsLookup: [], schemaType: $schemaType); + $essentialXmlData = $this->extractEssentialXmlData(item: $item); - $regId = $this->cachedConfig['registerId'] ?? throw new \RuntimeException('No register ID.'); - $sId = $this->cachedConfig['schemaIds'][$schemaType] ?? throw new \RuntimeException('No schema.'); - $object = [ - '@self' => [ - 'register' => $regId, - 'schema' => $sId, - 'id' => $identifier, - 'owner' => $this->cachedConfig['userId'], - 'organisation' => $this->getCurrentOrganisation(), - 'published' => date('Y-m-d\TH:i:s\Z'), - ], - 'identifier' => $identifier, - 'section' => $schemaType, - 'model_identifier' => $modelIdentifier, - 'xml' => $essentialXmlData, + $head = [ + 'register' => $this->cachedConfig['registerId'] ?? throw new \RuntimeException('No register ID.'), + 'schema' => $this->cachedConfig['schemaIds'][$schemaType] ?? throw new \RuntimeException('No schema.'), + 'id' => $identifier, ]; + $object = $this->importObject(head: $head, scope: $scope); + $object['xml'] = $essentialXmlData; - // Fast extract name and summary. - if (isset($item['name']) === true) { - if (is_array($item['name']) === true && isset($item['name']['_value']) === true) { - $object['name'] = $item['name']['_value']; - } else { - if (is_string($item['name']) === true) { - $object['name'] = $item['name']; - } else { - $object['name'] = ''; - } - } - } - - if (isset($item['documentation']) === true) { - if (is_array($item['documentation']) === true && isset($item['documentation']['_value']) === true) { - $object['omschrijving'] = $item['documentation']['_value']; - } else { - if (is_string($item['documentation']) === true) { - $object['omschrijving'] = $item['documentation']; - } else { - $object['omschrijving'] = ''; - } - } - } - - // Extract type from xsi:type attribute (e.g., "Capability", "ApplicationComponent"). - if (isset($item['_xsi__type']) === true) { - $object['type'] = $item['_xsi__type']; - } elseif (isset($item['_attributes']['xsi:type']) === true) { - $object['type'] = $item['_attributes']['xsi:type']; - } + $this->copyNameAndSummary(object: $object, item: $item); + $this->copyXsiType(object: $object, item: $item); // For relationships, extract source and target from attributes. if ($schemaType === 'relationship') { - if (isset($item['_source']) === true) { - $object['source'] = $item['_source']; - } elseif (isset($item['_attributes']['source']) === true) { - $object['source'] = $item['_attributes']['source']; - } - - if (isset($item['_target']) === true) { - $object['target'] = $item['_target']; - } elseif (isset($item['_attributes']['target']) === true) { - $object['target'] = $item['_attributes']['target']; - } + $this->copyRelationshipEnds(object: $object, item: $item); } // Fast flatten properties. - if (isset($item['properties']['property']) === true && empty($propDefMap) === false) { + if (isset($item['properties']['property']) === true && empty($scope->propDefMap()) === false) { $this->flattenPropertiesBatch( object: $object, - properties: $item['properties']['property'], - propDefMap: $propDefMap + scope: $scope->withProperties(properties: $item['properties']['property']) ); + } - // Fast ID/slug update. - if (isset($object['objectId']) === true) { - $object['@self']['id'] = $object['objectId']; - $object['@self']['slug'] = $identifier; - } else { - if (str_starts_with($identifier, 'id-') === true) { - $object['@self']['slug'] = substr($identifier, 3); - } else { - $object['@self']['slug'] = $identifier; - } - } + // Fast ID/slug update: a flattened "Object ID" becomes the id, the identifier its slug. + if (isset($object['objectId']) === true) { + $object['@self']['id'] = $object['objectId']; + $object['@self']['slug'] = $identifier; } else { - if (str_starts_with($identifier, 'id-') === true) { - $object['@self']['slug'] = substr($identifier, 3); - } else { - $object['@self']['slug'] = $identifier; - } - }//end if + $object['@self']['slug'] = $this->slugFromIdentifier(identifier: $identifier); + } $objects[] = $object; }//end foreach @@ -4419,27 +4360,54 @@ private function bulkTransformSection( return $objects; }//end bulkTransformSection() + /** + * Copy a relationship's source and target attributes onto the object. + * + * @param array $object The relationship object being built + * @param array $item The raw XML relationship + * + * @return void + */ + private function copyRelationshipEnds(array &$object, array $item): void { + foreach (['source', 'target'] as $end) { + if (isset($item['_' . $end]) === true) { + $object[$end] = $item['_' . $end]; + } elseif (isset($item['_attributes'][$end]) === true) { + $object[$end] = $item['_attributes'][$end]; + } + } + }//end copyRelationshipEnds() + + /** + * The slug of an AMEF identifier: the identifier without its "id-" prefix. + * + * @param string $identifier The AMEF identifier + * + * @return string The slug + */ + private function slugFromIdentifier(string $identifier): string { + if (str_starts_with($identifier, 'id-') === true) { + return substr($identifier, 3); + } + + return $identifier; + }//end slugFromIdentifier() + /** * SPEED OPTIMIZATION: Process views with maximum speed optimizations * - * @param array $xmlData XML data - * @param string $modelIdentifier Model identifier - * @param array $propDefMap Property definition map - * @param array $elementsLookup Elements lookup for splicing + * @param array $xmlData XML data + * @param ArchiMateImportScope $scope The import scope with the elements lookup for splicing * * @return array Processed view objects */ - private function processViewsMaximumSpeed( - array $xmlData, - string $modelIdentifier, - array $propDefMap, - array $elementsLookup, - ): array { + private function processViewsMaximumSpeed(array $xmlData, ArchiMateImportScope $scope): array { $viewsData = $this->findSectionData(xmlData: $xmlData, sectionName: 'views'); if (empty($viewsData) === true) { return []; } + $elementsLookup = $scope->elementsLookup(); $this->logger->info( 'SPEED MODE: Processing views with maximum optimizations', [ @@ -4469,28 +4437,19 @@ private function processViewsMaximumSpeed( // SPEED OPTIMIZATION: Process with bulk operations. return $this->bulkTransformViews( viewItems: $items, - modelIdentifier: $modelIdentifier, - propDefMap: $propDefMap, - elementsLookup: $filteredLookup + scope: $scope->withSection(section: 'view')->withElementsLookup(elementsLookup: $filteredLookup) ); }//end processViewsMaximumSpeed() /** * SPEED OPTIMIZATION: Bulk transform views with vectorized element splicing * - * @param array $viewItems View items to process - * @param string $modelIdentifier Model identifier - * @param array $propDefMap Property definition map - * @param array $elementsLookup Filtered elements lookup + * @param array $viewItems View items to process + * @param ArchiMateImportScope $scope The view scope with the filtered elements lookup * * @return array Processed view objects */ - private function bulkTransformViews( - array $viewItems, - string $modelIdentifier, - array $propDefMap, - array $elementsLookup, - ): array { + private function bulkTransformViews(array $viewItems, ArchiMateImportScope $scope): array { $objects = []; foreach ($viewItems as $item) { @@ -4506,79 +4465,35 @@ private function bulkTransformViews( // SPEED OPTIMIZATION: Direct processing with minimal overhead. $essentialXmlData = $this->extractEssentialXmlData( item: $item, - elementsLookup: $elementsLookup, - schemaType: 'view' + elementsLookup: $scope->elementsLookup() ); - $object = [ - '@self' => [ - 'register' => $this->cachedConfig['registerId'] ?? throw new \RuntimeException('No register ID.'), - 'schema' => $this->getSchemaIdForSection(section: 'view'), - 'id' => $identifier, - 'owner' => $this->cachedConfig['userId'], - 'organisation' => $this->getCurrentOrganisation(), - 'published' => date('Y-m-d\TH:i:s\Z'), - ], - 'identifier' => $identifier, - 'section' => 'view', - 'model_identifier' => $modelIdentifier, - 'xml' => $essentialXmlData, + $head = [ + 'register' => $this->cachedConfig['registerId'] ?? throw new \RuntimeException('No register ID.'), + 'schema' => $this->getSchemaIdForSection(section: 'view'), + 'id' => $identifier, ]; + $object = $this->importObject(head: $head, scope: $scope); + $object['xml'] = $essentialXmlData; - // Fast name/summary extraction. - if (isset($item['name']) === true) { - if (is_array($item['name']) === true && isset($item['name']['_value']) === true) { - $object['name'] = $item['name']['_value']; - } else { - if (is_string($item['name']) === true) { - $object['name'] = $item['name']; - } else { - $object['name'] = ''; - } - } - } - - if (isset($item['documentation']) === true) { - if (is_array($item['documentation']) === true && isset($item['documentation']['_value']) === true) { - $object['omschrijving'] = $item['documentation']['_value']; - } else { - if (is_string($item['documentation']) === true) { - $object['omschrijving'] = $item['documentation']; - } else { - $object['omschrijving'] = ''; - } - } - } - - // Extract type from xsi:type attribute. - if (isset($item['_xsi__type']) === true) { - $object['type'] = $item['_xsi__type']; - } elseif (isset($item['_attributes']['xsi:type']) === true) { - $object['type'] = $item['_attributes']['xsi:type']; - } + $this->copyNameAndSummary(object: $object, item: $item); + $this->copyXsiType(object: $object, item: $item); // Fast properties flattening. - if (isset($item['properties']['property']) === true && empty($propDefMap) === false) { + if (isset($item['properties']['property']) === true && empty($scope->propDefMap()) === false) { $this->flattenPropertiesBatch( object: $object, - properties: $item['properties']['property'], - propDefMap: $propDefMap + scope: $scope->withProperties(properties: $item['properties']['property']) ); - - // Keep @self.id as the full ArchiMate identifier (set above). - // so stored IDs match GEMMA Online URLs (id-e0f57689-...). - $object['@self']['slug'] = $identifier; - } else { - $object['@self']['slug'] = $identifier; } - // SPEED OPTIMIZATION: Direct copy without checks (we know it exists). - if (isset($object['xml']['viewNodes']) === true) { - $object['viewNodes'] = $object['xml']['viewNodes']; - } + // Keep @self.id as the full ArchiMate identifier, so stored IDs match GEMMA Online URLs (id-e0f57689-...). + $object['@self']['slug'] = $identifier; - if (isset($object['xml']['viewRelationships']) === true) { - $object['viewRelationships'] = $object['xml']['viewRelationships']; + foreach (['viewNodes', 'viewRelationships'] as $key) { + if (isset($object['xml'][$key]) === true) { + $object[$key] = $object['xml'][$key]; + } } $objects[] = $object; diff --git a/tests/Unit/Service/ArchiMateImportProgressTest.php b/tests/Unit/Service/ArchiMateImportProgressTest.php index 458881ac4..d4d85f5fc 100644 --- a/tests/Unit/Service/ArchiMateImportProgressTest.php +++ b/tests/Unit/Service/ArchiMateImportProgressTest.php @@ -95,6 +95,7 @@ private function importService(ProgressTracker $tracker): ArchiMateImportService $values = [ 'logger' => $this->createMock(LoggerInterface::class), 'progressTracker' => $tracker, + 'cachedConfig' => ['registerId' => 1], ]; foreach ($values as $prop => $value) { (new \ReflectionProperty(ArchiMateImportService::class, $prop))->setValue($service, $value); @@ -136,7 +137,7 @@ function (array $objects) use (&$seen): array { ); $method = new \ReflectionMethod($service, 'saveSchemaGroups'); - $method->invoke($service, $this->schemaGroups(), $objectService, 1); + $method->invoke($service, $this->schemaGroups(), $objectService); // Before the first save nothing was saved, before the second the first group's three were. $this->assertSame([0, 3], $seen); @@ -164,7 +165,7 @@ function (array $objects): array { ); $method = new \ReflectionMethod($service, 'saveSchemaGroups'); - $result = $method->invoke($service, $this->schemaGroups(), $objectService, 1); + $result = $method->invoke($service, $this->schemaGroups(), $objectService); $this->assertTrue($service->wasCancelled()); $this->assertCount(3, $result['stats']['saved']); @@ -206,7 +207,7 @@ public function testAnOperationIdOutsideThePatternIsIgnored(): void { $objectService->expects($this->exactly(2))->method('saveObjects')->willReturn( ['saved' => [], 'updated' => [], 'unchanged' => [], 'invalid' => []] ); - (new \ReflectionMethod($service, 'saveSchemaGroups'))->invoke($service, $this->schemaGroups(), $objectService, 1); + (new \ReflectionMethod($service, 'saveSchemaGroups'))->invoke($service, $this->schemaGroups(), $objectService); $this->assertFalse($service->wasCancelled()); }//end testAnOperationIdOutsideThePatternIsIgnored() }//end class diff --git a/tests/Unit/Service/golden/archiMateImport.json b/tests/Unit/Service/golden/archiMateImport.json index 0bfcaee31..cd2711641 100644 --- a/tests/Unit/Service/golden/archiMateImport.json +++ b/tests/Unit/Service/golden/archiMateImport.json @@ -789,7 +789,7 @@ "success": true, "file_info": { "name": "archimate_golden.xml", - "size": 5157 + "size": 5163 }, "performance_metrics": { "total_time_seconds": "", @@ -998,7 +998,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1009,8 +1009,8 @@ "GEMMA type property processed", { "object_id": "id-el-1", - "property_name": "GEMMA type", - "camel_case_name": "gemmaType", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -1070,8 +1070,8 @@ "def_ref": "propid-2" }, { - "original": "GEMMA type", - "camelCase": "gemmaType", + "original": "Referentie soort", + "camelCase": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -1088,7 +1088,7 @@ "objectId", "_propertyMapping", "businessUnit", - "gemmaType" + "referentieSoort" ] } ], @@ -1112,7 +1112,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1175,7 +1175,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1228,7 +1228,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1306,7 +1306,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1473,7 +1473,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1543,7 +1543,7 @@ "Objects before save", { "total_objects_to_save": 16, - "elements_with_gemmaType": 1 + "elements_with_gemmaType": 0 } ], [ @@ -1555,8 +1555,8 @@ "log.debug", "GEMMA Type property found", { - "property_name": "gemmaType", - "value": "Referentiecomponent", + "property_name": "type", + "value": "ApplicationComponent", "object_id": "id-el-1" } ], @@ -1567,13 +1567,13 @@ "total_elements": 5, "elements_with_gemma_type": 5, "gemma_type_variations": { - "Referentiecomponent": 1, + "ApplicationComponent": 1, "Capability": 1, "BusinessActor": 1, "DataObject": 1, "Grouping": 1 }, - "referentiecomponenten_count": 1, + "referentiecomponenten_count": 0, "standaarden_count": 0, "standaardversies_count": 0, "processed_relationships": 0, @@ -1585,7 +1585,7 @@ "GEMMA Referentiecomponent-Standaard processing completed", { "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "total_relationships_processed": 0 } ], @@ -1603,7 +1603,7 @@ "GEMMA ReferentieComponent-StandaardVersies processing completed", { "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "standaard_to_versies_mappings": 0 } ], @@ -1665,7 +1665,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -1690,7 +1690,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" }, @@ -1822,10 +1822,10 @@ "_propertyMapping": { "objectId": "Object ID", "businessUnit": "Business Unit", - "gemmaType": "GEMMA type" + "referentieSoort": "Referentie soort" }, "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, { "@self": { @@ -2291,11 +2291,11 @@ ":type": "string" }, "name": { - "_value": "GEMMA type" + "_value": "Referentie soort" }, "_essential_data": true }, - "name": "GEMMA type" + "name": "Referentie soort" }, { "@self": { @@ -2663,7 +2663,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -2682,10 +2682,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -2795,7 +2794,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -2814,10 +2813,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -2978,7 +2976,7 @@ "success": true, "file_info": { "name": "archimate_golden.xml", - "size": 5157, + "size": 5163, "mime_type": "text/xml" }, "processing_times": "", @@ -3174,7 +3172,7 @@ "property_mapping": { "Object ID": "objectId", "Business Unit": "businessUnit", - "GEMMA type": "gemmaType", + "Referentie soort": "referentieSoort", "Remark": "remark", "Gemma Online URL": "gemmaOnlineUrl" } @@ -3591,7 +3589,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -3617,7 +3615,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -3750,12 +3748,12 @@ "_propertyMapping": { "objectId": "Object ID", "businessUnit": "Business Unit", - "gemmaType": "GEMMA type", + "referentieSoort": "Referentie soort", "remark": "Remark" }, "_slug": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent", + "referentieSoort": "Referentiecomponent", "remark": null }, { @@ -4673,11 +4671,11 @@ ":type": "string" }, "name": { - "_value": "GEMMA type" + "_value": "Referentie soort" }, "_essential_data": true }, - "name": "GEMMA type" + "name": "Referentie soort" }, { "@self": { @@ -4849,7 +4847,7 @@ "success": true, "file_info": { "name": "archimate_golden.xml", - "size": 5157 + "size": 5163 }, "performance_metrics": { "total_time_seconds": "", @@ -5090,7 +5088,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5101,8 +5099,8 @@ "GEMMA type property processed", { "object_id": "id-el-1", - "property_name": "GEMMA type", - "camel_case_name": "gemmaType", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -5162,8 +5160,8 @@ "def_ref": "propid-2" }, { - "original": "GEMMA type", - "camelCase": "gemmaType", + "original": "Referentie soort", + "camelCase": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -5180,7 +5178,7 @@ "objectId", "_propertyMapping", "businessUnit", - "gemmaType" + "referentieSoort" ] } ], @@ -5204,7 +5202,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5267,7 +5265,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5320,7 +5318,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5398,7 +5396,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5565,7 +5563,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5640,7 +5638,7 @@ "Objects before save", { "total_objects_to_save": 16, - "elements_with_gemmaType": 1 + "elements_with_gemmaType": 0 } ], [ @@ -5652,8 +5650,8 @@ "log.debug", "GEMMA Type property found", { - "property_name": "gemmaType", - "value": "Referentiecomponent", + "property_name": "type", + "value": "ApplicationComponent", "object_id": "id-el-1" } ], @@ -5664,13 +5662,13 @@ "total_elements": 5, "elements_with_gemma_type": 5, "gemma_type_variations": { - "Referentiecomponent": 1, + "ApplicationComponent": 1, "Capability": 1, "BusinessActor": 1, "DataObject": 1, "Grouping": 1 }, - "referentiecomponenten_count": 1, + "referentiecomponenten_count": 0, "standaarden_count": 0, "standaardversies_count": 0, "processed_relationships": 0, @@ -5682,7 +5680,7 @@ "GEMMA Referentiecomponent-Standaard processing completed", { "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "total_relationships_processed": 0 } ], @@ -5700,7 +5698,7 @@ "GEMMA ReferentieComponent-StandaardVersies processing completed", { "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "standaard_to_versies_mappings": 0 } ], @@ -5777,7 +5775,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -5802,7 +5800,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" }, @@ -5947,10 +5945,10 @@ "_propertyMapping": { "objectId": "Object ID", "businessUnit": "Business Unit", - "gemmaType": "GEMMA type" + "referentieSoort": "Referentie soort" }, "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, { "@self": { @@ -6455,11 +6453,11 @@ ":type": "string" }, "name": { - "_value": "GEMMA type" + "_value": "Referentie soort" }, "_essential_data": true }, - "name": "GEMMA type" + "name": "Referentie soort" }, { "@self": { @@ -6840,7 +6838,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -6859,10 +6857,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -6972,7 +6969,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -6991,10 +6988,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -7351,7 +7347,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -7362,8 +7358,8 @@ "GEMMA type property processed", { "object_id": "id-el-1", - "property_name": "GEMMA type", - "camel_case_name": "gemmaType", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -7423,8 +7419,8 @@ "def_ref": "propid-2" }, { - "original": "GEMMA type", - "camelCase": "gemmaType", + "original": "Referentie soort", + "camelCase": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -7441,7 +7437,7 @@ "objectId", "_propertyMapping", "businessUnit", - "gemmaType" + "referentieSoort" ] } ], @@ -7465,7 +7461,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -7528,7 +7524,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -7581,7 +7577,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -7659,7 +7655,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -7826,7 +7822,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -7901,7 +7897,7 @@ "Objects before save", { "total_objects_to_save": 16, - "elements_with_gemmaType": 1 + "elements_with_gemmaType": 0 } ], [ @@ -7913,8 +7909,8 @@ "log.debug", "GEMMA Type property found", { - "property_name": "gemmaType", - "value": "Referentiecomponent", + "property_name": "type", + "value": "ApplicationComponent", "object_id": "id-el-1" } ], @@ -7925,13 +7921,13 @@ "total_elements": 5, "elements_with_gemma_type": 5, "gemma_type_variations": { - "Referentiecomponent": 1, + "ApplicationComponent": 1, "Capability": 1, "BusinessActor": 1, "DataObject": 1, "Grouping": 1 }, - "referentiecomponenten_count": 1, + "referentiecomponenten_count": 0, "standaarden_count": 0, "standaardversies_count": 0, "processed_relationships": 0, @@ -7943,7 +7939,7 @@ "GEMMA Referentiecomponent-Standaard processing completed", { "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "total_relationships_processed": 0 } ], @@ -7961,7 +7957,7 @@ "GEMMA ReferentieComponent-StandaardVersies processing completed", { "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "standaard_to_versies_mappings": 0 } ], @@ -8038,7 +8034,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8063,7 +8059,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" }, @@ -8128,7 +8124,7 @@ "success": true, "file_info": { "name": "archimate_golden.xml", - "size": 5157 + "size": 5163 }, "performance_metrics": { "total_time_seconds": "", @@ -8337,7 +8333,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8348,8 +8344,8 @@ "GEMMA type property processed", { "object_id": "id-el-1", - "property_name": "GEMMA type", - "camel_case_name": "gemmaType", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -8409,8 +8405,8 @@ "def_ref": "propid-2" }, { - "original": "GEMMA type", - "camelCase": "gemmaType", + "original": "Referentie soort", + "camelCase": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -8427,7 +8423,7 @@ "objectId", "_propertyMapping", "businessUnit", - "gemmaType" + "referentieSoort" ] } ], @@ -8451,7 +8447,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8514,7 +8510,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8567,7 +8563,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8645,7 +8641,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8812,7 +8808,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -8882,7 +8878,7 @@ "Objects before save", { "total_objects_to_save": 16, - "elements_with_gemmaType": 1 + "elements_with_gemmaType": 0 } ], [ @@ -8894,8 +8890,8 @@ "log.debug", "GEMMA Type property found", { - "property_name": "gemmaType", - "value": "Referentiecomponent", + "property_name": "type", + "value": "ApplicationComponent", "object_id": "id-el-1" } ], @@ -8906,13 +8902,13 @@ "total_elements": 5, "elements_with_gemma_type": 5, "gemma_type_variations": { - "Referentiecomponent": 1, + "ApplicationComponent": 1, "Capability": 1, "BusinessActor": 1, "DataObject": 1, "Grouping": 1 }, - "referentiecomponenten_count": 1, + "referentiecomponenten_count": 0, "standaarden_count": 0, "standaardversies_count": 0, "processed_relationships": 0, @@ -8924,7 +8920,7 @@ "GEMMA Referentiecomponent-Standaard processing completed", { "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "total_relationships_processed": 0 } ], @@ -8942,7 +8938,7 @@ "GEMMA ReferentieComponent-StandaardVersies processing completed", { "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "standaard_to_versies_mappings": 0 } ], @@ -9004,7 +9000,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -9029,7 +9025,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" }, @@ -9161,10 +9157,10 @@ "_propertyMapping": { "objectId": "Object ID", "businessUnit": "Business Unit", - "gemmaType": "GEMMA type" + "referentieSoort": "Referentie soort" }, "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, { "@self": { @@ -9629,11 +9625,11 @@ ":type": "string" }, "name": { - "_value": "GEMMA type" + "_value": "Referentie soort" }, "_essential_data": true }, - "name": "GEMMA type" + "name": "Referentie soort" }, { "@self": { @@ -10001,7 +9997,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -10020,10 +10016,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -10133,7 +10128,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -10152,10 +10147,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -10316,7 +10310,7 @@ "success": true, "file_info": { "name": "archimate_golden.xml", - "size": 5157 + "size": 5163 }, "performance_metrics": { "total_time_seconds": "", @@ -10535,7 +10529,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -10546,8 +10540,8 @@ "GEMMA type property processed", { "object_id": "id-el-1", - "property_name": "GEMMA type", - "camel_case_name": "gemmaType", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -10607,8 +10601,8 @@ "def_ref": "propid-2" }, { - "original": "GEMMA type", - "camelCase": "gemmaType", + "original": "Referentie soort", + "camelCase": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -10625,7 +10619,7 @@ "objectId", "_propertyMapping", "businessUnit", - "gemmaType" + "referentieSoort" ] } ], @@ -10654,7 +10648,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -10727,7 +10721,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -10785,7 +10779,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -10868,7 +10862,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -11075,7 +11069,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -11150,7 +11144,7 @@ "Objects before save", { "total_objects_to_save": 16, - "elements_with_gemmaType": 1 + "elements_with_gemmaType": 0 } ], [ @@ -11162,8 +11156,8 @@ "log.debug", "GEMMA Type property found", { - "property_name": "gemmaType", - "value": "Referentiecomponent", + "property_name": "type", + "value": "ApplicationComponent", "object_id": "id-el-1" } ], @@ -11174,13 +11168,13 @@ "total_elements": 5, "elements_with_gemma_type": 5, "gemma_type_variations": { - "Referentiecomponent": 1, + "ApplicationComponent": 1, "Capability": 1, "BusinessActor": 1, "DataObject": 1, "Grouping": 1 }, - "referentiecomponenten_count": 1, + "referentiecomponenten_count": 0, "standaarden_count": 0, "standaardversies_count": 0, "processed_relationships": 0, @@ -11192,7 +11186,7 @@ "GEMMA Referentiecomponent-Standaard processing completed", { "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "total_relationships_processed": 0 } ], @@ -11210,7 +11204,7 @@ "GEMMA ReferentieComponent-StandaardVersies processing completed", { "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 1, + "total_referentiecomponenten": 0, "standaard_to_versies_mappings": 0 } ], @@ -11272,7 +11266,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -11297,7 +11291,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" }, @@ -11429,10 +11423,10 @@ "_propertyMapping": { "objectId": "Object ID", "businessUnit": "Business Unit", - "gemmaType": "GEMMA type" + "referentieSoort": "Referentie soort" }, "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, { "@self": { @@ -11898,11 +11892,11 @@ ":type": "string" }, "name": { - "_value": "GEMMA type" + "_value": "Referentie soort" }, "_essential_data": true }, - "name": "GEMMA type" + "name": "Referentie soort" }, { "@self": { @@ -12270,7 +12264,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -12289,10 +12283,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -12402,7 +12395,7 @@ "height": 55, "parent": null, "name": "Zaaksysteem", - "type": "referentiecomponent", + "type": "element", "color": "rgb(255, 255, 181)", "borderColor": "rgb(92, 92, 92)", "font": { @@ -12421,10 +12414,9 @@ "type": "ApplicationComponent", "objectId": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent" + "referentieSoort": "Referentiecomponent" }, "objectId": "uuid-el-1", - "gemmaType": "Referentiecomponent", "elementSection": "element" }, { @@ -12585,7 +12577,7 @@ "success": true, "file_info": { "name": "archimate_golden.xml", - "size": 5157, + "size": 5163, "mime_type": "text/xml" }, "processing_times": "", @@ -12781,7 +12773,7 @@ "property_mapping": { "Object ID": "objectId", "Business Unit": "businessUnit", - "GEMMA type": "gemmaType", + "Referentie soort": "referentieSoort", "Remark": "remark", "Gemma Online URL": "gemmaOnlineUrl" } @@ -13198,7 +13190,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -13224,7 +13216,7 @@ "propertyDefinitionMap": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -13357,12 +13349,12 @@ "_propertyMapping": { "objectId": "Object ID", "businessUnit": "Business Unit", - "gemmaType": "GEMMA type", + "referentieSoort": "Referentie soort", "remark": "Remark" }, "_slug": "uuid-el-1", "businessUnit": "Backoffice", - "gemmaType": "Referentiecomponent", + "referentieSoort": "Referentiecomponent", "remark": null }, { @@ -14280,11 +14272,11 @@ ":type": "string" }, "name": { - "_value": "GEMMA type" + "_value": "Referentie soort" }, "_essential_data": true }, - "name": "GEMMA type" + "name": "Referentie soort" }, { "@self": { @@ -14591,7 +14583,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -14602,8 +14594,8 @@ "GEMMA type property processed", { "object_id": "id-el-1", - "property_name": "GEMMA type", - "camel_case_name": "gemmaType", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -14663,8 +14655,8 @@ "def_ref": "propid-2" }, { - "original": "GEMMA type", - "camelCase": "gemmaType", + "original": "Referentie soort", + "camelCase": "referentieSoort", "value": "Referentiecomponent", "def_ref": "propid-3" } @@ -14681,7 +14673,7 @@ "objectId", "_propertyMapping", "businessUnit", - "gemmaType" + "referentieSoort" ] } ], @@ -14705,7 +14697,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -14768,7 +14760,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -14821,7 +14813,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } @@ -14899,7 +14891,7 @@ "sample_property_definitions": { "propid-1": "Object ID", "propid-2": "Business Unit", - "propid-3": "GEMMA type", + "propid-3": "Referentie soort", "propid-4": "Remark", "propid-5": "Gemma Online URL" } diff --git a/tests/data/archimate_golden.xml b/tests/data/archimate_golden.xml index bc713a923..c63324c1b 100644 --- a/tests/data/archimate_golden.xml +++ b/tests/data/archimate_golden.xml @@ -96,7 +96,7 @@ Business Unit - GEMMA type + Referentie soort Remark From 78f68569afdebe0f4958f758c6432aac2177072d Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Tue, 3 Nov 2026 14:45:10 +0100 Subject: [PATCH 3/4] test(archimate): the import golden masks the checkout path and lists the import scope Assisted-by: ClaudeCode:claude-opus-5-5 --- .../Service/ArchiMateImportGoldenTest.php | 8 ++++- .../Unit/Service/golden/archiMateImport.json | 34 +++++++++---------- 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/tests/Unit/Service/ArchiMateImportGoldenTest.php b/tests/Unit/Service/ArchiMateImportGoldenTest.php index 401593599..4a66fab39 100644 --- a/tests/Unit/Service/ArchiMateImportGoldenTest.php +++ b/tests/Unit/Service/ArchiMateImportGoldenTest.php @@ -6,7 +6,8 @@ * Runs both import entry points over ArchiMate fixtures with recording doubles * and records, per case, every object service, progress tracker, database and * logger call plus the import result. Values that depend on the clock or the - * memory of the run are masked. Recorded with RECORD_GOLDEN=1. + * memory of the run are masked, and the checkout path reads . + * Recorded with RECORD_GOLDEN=1. * * @category Test * @package OCA\Stackiq\Tests\Unit\Service @@ -43,6 +44,7 @@ * Golden cases for the ArchiMate import. * * @covers \OCA\Stackiq\Service\ArchiMateImportService + * @uses \OCA\Stackiq\Service\ArchiMate\ArchiMateImportScope * * @spec openspec/specs/archimate-import/spec.md */ @@ -414,6 +416,10 @@ public function log($level, string|\Stringable $message, array $context = []): v * @return mixed */ private static function mask(mixed $value): mixed { + if (is_string($value) === true) { + return str_replace(dirname(__DIR__, 3), '', $value); + } + if (is_array($value) === false) { return $value; } diff --git a/tests/Unit/Service/golden/archiMateImport.json b/tests/Unit/Service/golden/archiMateImport.json index cd2711641..877b3c94f 100644 --- a/tests/Unit/Service/golden/archiMateImport.json +++ b/tests/Unit/Service/golden/archiMateImport.json @@ -83,7 +83,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/sample_archimate.xml", + "file_path": "/tests/Unit/Service/../../data/sample_archimate.xml", "fileName": "sample_archimate.xml" } ], @@ -685,7 +685,7 @@ "log.info", "Step 1: Parsing XML to array for complete data capture", { - "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/sample_archimate.xml" + "filePath": "/tests/Unit/Service/../../data/sample_archimate.xml" } ], [ @@ -868,7 +868,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", "fileName": "archimate_golden.xml" } ], @@ -3079,7 +3079,7 @@ "log.info", "Step 1: Parsing XML to array for complete data capture", { - "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml" + "filePath": "/tests/Unit/Service/../../data/archimate_golden.xml" } ], [ @@ -4926,7 +4926,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", "fileName": "archimate_golden.xml", "operationId": "archimate_import_golden01" } @@ -7185,7 +7185,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", "fileName": "archimate_golden.xml", "operationId": "archimate_import_golden02" } @@ -8203,7 +8203,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", "fileName": "archimate_golden.xml" } ], @@ -10389,7 +10389,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", "fileName": "archimate_golden.xml" } ], @@ -12680,7 +12680,7 @@ "log.info", "Step 1: Parsing XML to array for complete data capture", { - "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml" + "filePath": "/tests/Unit/Service/../../data/archimate_golden.xml" } ], [ @@ -14453,7 +14453,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml", + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", "fileName": "archimate_golden.xml" } ], @@ -15043,7 +15043,7 @@ "OPTIMIZED ArchiMate import failed", { "error": "Schema ID for section 'view' is not configured. Expected object type: 'view'", - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../data/archimate_golden.xml" + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml" } ] ] @@ -15132,7 +15132,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big1.xml", + "file_path": "/tests/Unit/Service/../../fixtures/archimate/big1.xml", "fileName": "big1.xml" } ], @@ -17796,7 +17796,7 @@ "log.info", "Step 1: Parsing XML to array for complete data capture", { - "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big1.xml" + "filePath": "/tests/Unit/Service/../../fixtures/archimate/big1.xml" } ], [ @@ -20676,7 +20676,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big2.xml", + "file_path": "/tests/Unit/Service/../../fixtures/archimate/big2.xml", "fileName": "big2.xml" } ], @@ -23162,7 +23162,7 @@ "log.info", "Step 1: Parsing XML to array for complete data capture", { - "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/big2.xml" + "filePath": "/tests/Unit/Service/../../fixtures/archimate/big2.xml" } ], [ @@ -25892,7 +25892,7 @@ "log.info", "GEMMA IMPORT DEBUG: Starting optimized import", { - "file_path": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/noorg.xml", + "file_path": "/tests/Unit/Service/../../fixtures/archimate/noorg.xml", "fileName": "noorg.xml" } ], @@ -26420,7 +26420,7 @@ "log.info", "Step 1: Parsing XML to array for complete data capture", { - "filePath": "/home/rubenlinde/sig-lanes/sq3/stackiq/tests/Unit/Service/../../fixtures/archimate/noorg.xml" + "filePath": "/tests/Unit/Service/../../fixtures/archimate/noorg.xml" } ], [ From c7559f46515ee0fc816ad6c0276333e837aa78e4 Mon Sep 17 00:00:00 2001 From: Ruben van der Linde Date: Tue, 3 Nov 2026 14:48:05 +0100 Subject: [PATCH 4/4] fix(archimate): the classic import reads a one-item section and reports its unchanged count A section holding a single element (or relationship, ...) was flattened into that element's values, so extractIdentifier() got a string and the import died with a TypeError that its catch (Exception) did not stop. The result also read a total_objects_skipped count the statistics never have (a warning and a null); it now reports total_objects_unchanged, the key the settings page reads. Assisted-by: ClaudeCode:claude-opus-5-5 --- lib/Service/ArchiMateImportService.php | 6 +- .../Unit/Service/golden/archiMateImport.json | 9502 +++++++++-------- 2 files changed, 5320 insertions(+), 4188 deletions(-) diff --git a/lib/Service/ArchiMateImportService.php b/lib/Service/ArchiMateImportService.php index 89098b22c..41c02ccfe 100644 --- a/lib/Service/ArchiMateImportService.php +++ b/lib/Service/ArchiMateImportService.php @@ -581,7 +581,7 @@ public function importArchiMateFileFromPath(array $options = []): array { 'total_objects_created' => $statistics['omschrijving']['total_objects_created'], 'total_objects_updated' => $statistics['omschrijving']['total_objects_updated'], 'total_objects_deleted' => $statistics['omschrijving']['total_objects_deleted'], - 'total_objects_skipped' => $statistics['omschrijving']['total_objects_skipped'], + 'total_objects_unchanged' => $statistics['omschrijving']['total_objects_unchanged'], 'total_errors' => $statistics['omschrijving']['total_errors'], ], 'performance_metrics' => [ @@ -2355,8 +2355,8 @@ private function findItemsInSection(array $sectionData, string $sectionName): ar $items = [$sectionData]; } - // Ensure items is always an array. - if (is_array($items) === false) { + // Ensure items is always an array; a section with one item holds that item, not a list. + if (is_array($items) === false || isset($items['_attributes']) === true) { $items = [$items]; } diff --git a/tests/Unit/Service/golden/archiMateImport.json b/tests/Unit/Service/golden/archiMateImport.json index 877b3c94f..1c7cde5f9 100644 --- a/tests/Unit/Service/golden/archiMateImport.json +++ b/tests/Unit/Service/golden/archiMateImport.json @@ -642,8 +642,71 @@ }, "classic sample_archimate.xml []": { "result": { - "escaped": "TypeError", - "message": "OCA\\Stackiq\\Service\\ArchiMateImportService::extractIdentifier(): Argument #1 ($item) must be of type array, string given," + "success": true, + "file_info": { + "name": "sample_archimate.xml", + "size": 1111, + "mime_type": "text/xml" + }, + "processing_times": "", + "memory_usage": "", + "statistics": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 5, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 5, + "total_errors": 0 + } + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 5, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } }, "calls": [ [ @@ -781,164 +844,66 @@ "has_name": true, "has_documentation": false } - ] - ] - }, - "optimized archimate_golden.xml []": { - "result": { - "success": true, - "file_info": { - "name": "archimate_golden.xml", - "size": 5163 - }, - "performance_metrics": { - "total_time_seconds": "", - "items_per_second": "", - "objects_processed": 16, - "timing_breakdown": { - "cache_initialization_seconds": "", - "xml_parsing_seconds": "", - "memory_cleanup_seconds": "", - "model_identifier_extraction_seconds": "", - "data_transformation_seconds": "", - "database_save_seconds": "" - }, - "save_operation_breakdown": { - "total_save_seconds": "", - "service_init_seconds": "", - "gemma_processing_seconds": "", - "batch_processing_seconds": "", - "objects_saved": 16, - "save_rate_objects_per_second": "" - }, - "memory_usage": "", - "processing_rates": { - "xml_parse_objects_per_second": "", - "transform_objects_per_second": "", - "save_objects_per_second": "" - } - }, - "statistics": { - "elements": { - "created": 4, - "updated": 2, - "unchanged": 0, - "errors": [] - }, - "relationships": { - "created": 1, - "updated": 1, - "unchanged": 0, - "errors": [] - }, - "organizations": { - "created": 0, - "updated": 1, - "unchanged": 0, - "errors": [] - }, - "views": { - "created": 1, - "updated": 1, - "unchanged": 0, - "errors": [] - }, - "property_definitions": { - "created": 4, - "updated": 1, - "unchanged": 0, - "errors": [] - }, - "omschrijving": { - "total_objects_created": 10, - "total_objects_updated": 6, - "total_objects_deleted": 0, - "total_objects_unchanged": 0, - "total_errors": 0 - } - }, - "detailed_errors": { - "total_count": 0, - "by_section": [], - "omschrijving": [] - } - }, - "calls": [ + ], [ "log.info", - "GEMMA IMPORT DEBUG: Starting optimized import", + "Data normalization completed", { - "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", - "fileName": "archimate_golden.xml" + "model_identifier": "test-model", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" } ], [ "log.info", - "Getting AMEF configuration", + "Step 4: Converting to OpenRegister objects with @self structure", [] ], [ "log.info", - "Getting AMEF configuration", - [] + "Converting to OpenRegister objects with @self structure", + { + "model_identifier": "test-model" + } ], [ - "log.info", - "Getting AMEF configuration", + "log.debug", + "Creating model object from metadata", [] ], [ "log.info", - "Getting AMEF configuration", + "Getting default organisation from OrganisationService", [] ], [ "log.info", - "Getting AMEF configuration", + "Got default organisation UUID: org-default", [] ], [ - "log.info", - "Getting AMEF configuration", - [] + "settings.getSchemaIdForObjectType", + "element" ], [ "log.info", - "Getting AMEF configuration", + "Getting default organisation from OrganisationService", [] ], [ - "log.debug", - "Garbage collection completed", - { - "cycles_collected": "" - } - ], - [ - "log.debug", - "Extracting model identifier from XML data", - { - "xml_keys": [ - "_identifier", - "_attributes", - "___identifier", - "name", - "documentation", - "properties", - "elements", - "relationships", - "organizations", - "propertyDefinitions", - "views" - ] - } + "log.info", + "Got default organisation UUID: org-default", + [] ], [ - "log.info", - "Found model identifier in root attributes", - { - "identifier": "id-model-golden" - } + "settings.getSchemaIdForObjectType", + "element" ], [ "log.info", @@ -951,32 +916,22 @@ [] ], [ - "log.debug", - "Built elements lookup for view processing", - { - "total_elements": 1, - "sample_identifiers": [ - "id-model-golden" - ] - } + "settings.getSchemaIdForObjectType", + "relationship" ], [ "log.info", - "Pre-built all lookups", - { - "cache_build_time": "", - "elements_count": 5, - "relationships_count": 2, - "organizations_count": 0, - "memory_usage_mb": "" - } + "Getting default organisation from OrganisationService", + [] ], [ - "log.debug", - "SPEED: Bulk processing elements", - { - "item_count": 5 - } + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" ], [ "log.info", @@ -990,424 +945,605 @@ ], [ "log.debug", - "Flattening properties for object", + "Sections processed", { - "object_id": "id-el-1", - "properties_count": 6, - "property_definition_map_size": 5, - "sample_property_definitions": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } + "elements": 2, + "relationships": 1, + "organizations": 0, + "views": 1, + "property_definitions": 0 } ], [ "log.info", - "GEMMA type property processed", - { - "object_id": "id-el-1", - "property_name": "Referentie soort", - "camel_case_name": "referentieSoort", - "value": "Referentiecomponent", - "def_ref": "propid-3" - } - ], - [ - "log.warning", - "Property definition not found in map", - { - "object_id": "id-el-1", - "property_def_ref": "propid-99", - "available_refs": [ - "propid-1", - "propid-2", - "propid-3", - "propid-4", - "propid-5" - ] - } - ], - [ - "log.warning", - "Property missing propertyDefinitionRef", + "Conversion to OpenRegister objects completed", { - "object_id": "id-el-1", - "property_index": 4, - "property_structure": [ - "value" + "model_identifier": "test-model", + "total_objects": 5, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" ] } ], [ - "log.warning", - "Property value is null", - { - "object_id": "id-el-1", - "property_def_ref": "propid-4", - "value": null - } + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] ], [ "log.debug", - "Property flattening completed", + "Objects before save", { - "object_id": "id-el-1", - "processed_count": 3, - "processed_properties": [ - { - "original": "Object ID", - "camelCase": "objectId", - "value": "uuid-el-1", - "def_ref": "propid-1" - }, - { - "original": "Business Unit", - "camelCase": "businessUnit", - "value": "Backoffice", - "def_ref": "propid-2" - }, - { - "original": "Referentie soort", - "camelCase": "referentieSoort", - "value": "Referentiecomponent", - "def_ref": "propid-3" - } - ], - "object_keys_after_flattening": [ - "@self", - "identifier", - "section", - "model_identifier", - "xml", - "name", - "omschrijving", - "type", - "objectId", - "_propertyMapping", - "businessUnit", - "referentieSoort" - ] + "total_objects_to_save": 5, + "elements_with_gemmaType": 0 } ], [ "log.info", - "Getting default organisation from OrganisationService", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", [] ], [ "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "log.debug", - "Flattening properties for object", + "GEMMA objects processing complete", { - "object_id": "id-el-2", - "properties_count": 1, - "property_definition_map_size": 5, - "sample_property_definitions": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 } ], [ - "log.debug", - "Property flattening completed", + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", { - "object_id": "id-el-2", - "processed_count": 1, - "processed_properties": [ - { - "original": "Remark", - "camelCase": "remark", - "value": "single", - "def_ref": "propid-4" - } - ], - "object_keys_after_flattening": [ - "@self", - "identifier", - "section", - "model_identifier", - "xml", - "name", - "type", - "remark", - "_propertyMapping" - ] + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 } ], [ "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } ], [ "log.info", - "Getting default organisation from OrganisationService", - [] + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } ], [ "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "log.debug", - "Flattening properties for object", + "ArchiMate import: Grouped objects by schema for magic mapping", { - "object_id": "id-el-4", - "properties_count": 1, - "property_definition_map_size": 5, - "sample_property_definitions": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" + "schemaCount": 4, + "schemas": { + "10": 1, + "11": 2, + "12": 1, + "13": 1 } } ], [ - "log.debug", - "Property flattening completed", + "objects.saveObjects", { - "object_id": "id-el-4", - "processed_count": 1, - "processed_properties": [ + "objects": [ { - "original": "Object ID", - "camelCase": "objectId", - "value": "uuid-el-4", - "def_ref": "propid-1" + "@self": { + "register": 7, + "schema": 10, + "id": "test-model", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "test-model", + "section": "model", + "model_identifier": "test-model", + "xml": { + "name": "Test ArchiMate Model", + "propertyDefinitionMap": [] + }, + "name": "Test ArchiMate Model", + ":identifier": "test-model", + ":name": "Test ArchiMate Model", + "propertyDefinitionMap": [] } ], - "object_keys_after_flattening": [ - "@self", - "identifier", - "section", - "model_identifier", - "xml", - "name", - "type", - "objectId", - "_propertyMapping" - ] + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } ], [ - "log.debug", - "Flattening properties for object", + "objects.saveObjects", { - "object_id": "id-el-5", - "properties_count": 2, - "property_definition_map_size": 5, - "sample_property_definitions": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "test-element-1", + "slug": "test-element-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "test-element-1", + "section": "elements", + "model_identifier": "test-model", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "test-element-1", + ":identifier": "test-element-1", + "xsi:type": "archimate:BusinessActor" + }, + "name": { + "_value": "Test Business Actor" + }, + "properties": { + "property": { + "_identifier": "test-prop-1", + "_attributes": { + "identifier": "test-prop-1", + ":identifier": "test-prop-1" + }, + "___identifier": "test-prop-1", + "value": { + "_value": "Test Property Value" + } + } + }, + "_essential_data": true + }, + "type": "archimate:BusinessActor", + "name": "Test Business Actor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "test-element-2", + "slug": "test-element-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "test-element-2", + "section": "elements", + "model_identifier": "test-model", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "test-element-2", + ":identifier": "test-element-2", + "xsi:type": "archimate:BusinessRole" + }, + "name": { + "_value": "Test Business Role" + }, + "_essential_data": true + }, + "type": "archimate:BusinessRole", + "name": "Test Business Role" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ - "log.info", - "GEMMA type property processed", + "log.debug", + "Schema group saved for magic mapping", { - "object_id": "id-el-5", - "property_name": "Gemma Online URL", - "camel_case_name": "gemmaOnlineUrl", - "value": "Gemma waarde", - "def_ref": "propid-5" + "schemaId": 11, + "objectCount": 2, + "saved": 1, + "updated": 1 } ], [ - "log.debug", - "Property flattening completed", + "objects.saveObjects", { - "object_id": "id-el-5", - "processed_count": 2, - "processed_properties": [ - { - "original": "Gemma Online URL", - "camelCase": "gemmaOnlineUrl", - "value": "Gemma waarde", - "def_ref": "propid-5" - }, + "objects": [ { - "original": "Business Unit", - "camelCase": "businessUnit", - "value": "Second unit", - "def_ref": "propid-2" + "@self": { + "register": 7, + "schema": 12, + "id": "test-rel-1", + "slug": "test-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "test-rel-1", + "section": "relationships", + "model_identifier": "test-model", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "test-rel-1", + ":identifier": "test-rel-1", + "xsi:type": "archimate:AssignmentRelationship" + }, + "name": { + "_value": "Test Assignment" + }, + "source": { + "element": { + "_ref": "test-element-1", + "_attributes": { + "ref": "test-element-1", + ":ref": "test-element-1" + }, + "___ref": "test-element-1" + } + }, + "target": { + "element": { + "_ref": "test-element-2", + "_attributes": { + "ref": "test-element-2", + ":ref": "test-element-2" + }, + "___ref": "test-element-2" + } + }, + "_essential_data": true + }, + "type": "archimate:AssignmentRelationship", + "name": "Test Assignment" } ], - "object_keys_after_flattening": [ - "@self", - "identifier", - "section", - "model_identifier", - "xml", - "name", - "type", - "gemmaOnlineUrl", - "_propertyMapping", - "businessUnit" - ] + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ "log.debug", - "SPEED: Bulk processing relationships", + "Schema group saved for magic mapping", { - "item_count": 2 + "schemaId": 12, + "objectCount": 1, + "saved": 0, + "updated": 1 } ], [ - "log.info", - "Getting default organisation from OrganisationService", - [] + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "test-view-1", + "slug": "test-view-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "test-view-1", + "section": "views", + "model_identifier": "test-model", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "test-view-1", + ":identifier": "test-view-1", + "xsi:type": "archimate:ArchimateDiagramModel" + }, + "name": { + "_value": "Test View" + }, + "_essential_data": true + }, + "type": "archimate:ArchimateDiagramModel", + "name": "Test View" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } ], [ - "log.info", - "Got default organisation UUID: org-default", - [] + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 13, + "objectCount": 1, + "saved": 0, + "updated": 1 + } ], [ - "log.debug", - "Flattening properties for object", + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", { - "object_id": "id-rel-1", - "properties_count": 1, - "property_definition_map_size": 5, - "sample_property_definitions": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } + "standaard_count": 0 } ], [ - "log.debug", - "Property flattening completed", + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "log.info", + "[ArchiMate] Using lastSaveResult for statistics", { - "object_id": "id-rel-1", - "processed_count": 1, - "processed_properties": [ - { - "original": "Object ID", - "camelCase": "objectId", - "value": "uuid-rel-1", - "def_ref": "propid-1" - } - ], - "object_keys_after_flattening": [ - "@self", - "identifier", - "section", - "model_identifier", - "xml", - "name", - "omschrijving", - "type", - "source", - "target", - "objectId", - "_propertyMapping" + "saved_count": 1, + "updated_count": 4, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" ] } ], [ "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] + "[ArchiMate] Statistics summary calculated", + { + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 5, + "total_errors": 0 + }, + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 5, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } + } ], [ "log.info", - "Getting default organisation from OrganisationService", - [] - ], + "ArchiMate XML import completed successfully", + { + "model_identifier": "test-model", + "model_exists": false, + "imported_objects": 0, + "round_trip_fidelity": "enabled" + } + ] + ] + }, + "optimized archimate_golden.xml []": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5163 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 16, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 16, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 4, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 1, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 4, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 10, + "total_objects_updated": 6, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ [ "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "log.debug", - "SPEED: Bulk processing property_definitions", + "GEMMA IMPORT DEBUG: Starting optimized import", { - "item_count": 5 + "file_path": "/tests/Unit/Service/../../data/archimate_golden.xml", + "fileName": "archimate_golden.xml" } ], [ "log.info", - "Getting default organisation from OrganisationService", + "Getting AMEF configuration", [] ], [ "log.info", - "Got default organisation UUID: org-default", + "Getting AMEF configuration", [] ], [ "log.info", - "Getting default organisation from OrganisationService", + "Getting AMEF configuration", [] ], [ "log.info", - "Got default organisation UUID: org-default", + "Getting AMEF configuration", [] ], [ "log.info", - "Getting default organisation from OrganisationService", + "Getting AMEF configuration", [] ], [ "log.info", - "Got default organisation UUID: org-default", + "Getting AMEF configuration", [] ], [ "log.info", - "Getting default organisation from OrganisationService", + "Getting AMEF configuration", [] ], + [ + "log.debug", + "Garbage collection completed", + { + "cycles_collected": "" + } + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], [ "log.info", - "Got default organisation UUID: org-default", - [] + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } ], [ "log.info", @@ -1421,38 +1557,32 @@ ], [ "log.debug", - "Built SPEED elements lookup from raw data", + "Built elements lookup for view processing", { - "total_elements": 5, + "total_elements": 1, "sample_identifiers": [ - "id-el-1", - "id-el-2", - "el-3", - "id-el-4", - "id-el-5" + "id-model-golden" ] } ], [ "log.info", - "SPEED MODE: Processing views with maximum optimizations", + "Pre-built all lookups", { - "elements_available": 5 + "cache_build_time": "", + "elements_count": 5, + "relationships_count": 2, + "organizations_count": 0, + "memory_usage_mb": "" } ], [ "log.debug", - "SPEED: Optimized element references", + "SPEED: Bulk processing elements", { - "total_elements": 5, - "referenced_elements": 2, - "memory_savings_percent": "" + "item_count": 5 } ], - [ - "settings.getSchemaIdForObjectType", - "view" - ], [ "log.info", "Getting default organisation from OrganisationService", @@ -1467,8 +1597,8 @@ "log.debug", "Flattening properties for object", { - "object_id": "id-view-1", - "properties_count": 1, + "object_id": "id-el-1", + "properties_count": 6, "property_definition_map_size": 5, "sample_property_definitions": { "propid-1": "Object ID", @@ -1479,18 +1609,76 @@ } } ], + [ + "log.info", + "GEMMA type property processed", + { + "object_id": "id-el-1", + "property_name": "Referentie soort", + "camel_case_name": "referentieSoort", + "value": "Referentiecomponent", + "def_ref": "propid-3" + } + ], + [ + "log.warning", + "Property definition not found in map", + { + "object_id": "id-el-1", + "property_def_ref": "propid-99", + "available_refs": [ + "propid-1", + "propid-2", + "propid-3", + "propid-4", + "propid-5" + ] + } + ], + [ + "log.warning", + "Property missing propertyDefinitionRef", + { + "object_id": "id-el-1", + "property_index": 4, + "property_structure": [ + "value" + ] + } + ], + [ + "log.warning", + "Property value is null", + { + "object_id": "id-el-1", + "property_def_ref": "propid-4", + "value": null + } + ], [ "log.debug", "Property flattening completed", { - "object_id": "id-view-1", - "processed_count": 1, + "object_id": "id-el-1", + "processed_count": 3, "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-1", + "def_ref": "propid-1" + }, { "original": "Business Unit", "camelCase": "businessUnit", - "value": "View unit", + "value": "Backoffice", "def_ref": "propid-2" + }, + { + "original": "Referentie soort", + "camelCase": "referentieSoort", + "value": "Referentiecomponent", + "def_ref": "propid-3" } ], "object_keys_after_flattening": [ @@ -1502,15 +1690,13 @@ "name", "omschrijving", "type", + "objectId", + "_propertyMapping", "businessUnit", - "_propertyMapping" + "referentieSoort" ] } ], - [ - "settings.getSchemaIdForObjectType", - "view" - ], [ "log.info", "Getting default organisation from OrganisationService", @@ -1522,852 +1708,523 @@ [] ], [ - "log.info", - "Memory cleanup before database operations", + "log.debug", + "Flattening properties for object", { - "memory_freed_mb": "", - "gc_cycles_collected": "", - "memory_before_mb": "", - "memory_after_mb": "" + "object_id": "id-el-2", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } } ], [ - "log.info", - "GEMMA IMPORT DEBUG: About to save objects to database", + "log.debug", + "Property flattening completed", { - "object_count": 16 + "object_id": "id-el-2", + "processed_count": 1, + "processed_properties": [ + { + "original": "Remark", + "camelCase": "remark", + "value": "single", + "def_ref": "propid-4" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "remark", + "_propertyMapping" + ] } ], [ - "log.debug", - "Objects before save", - { - "total_objects_to_save": 16, - "elements_with_gemmaType": 0 - } + "log.info", + "Getting default organisation from OrganisationService", + [] ], [ "log.info", - "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + "Got default organisation UUID: org-default", [] ], [ - "log.debug", - "GEMMA Type property found", - { - "property_name": "type", - "value": "ApplicationComponent", - "object_id": "id-el-1" - } + "log.info", + "Getting default organisation from OrganisationService", + [] ], [ "log.info", - "GEMMA objects processing complete", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", { - "total_elements": 5, - "elements_with_gemma_type": 5, - "gemma_type_variations": { - "ApplicationComponent": 1, - "Capability": 1, - "BusinessActor": 1, - "DataObject": 1, - "Grouping": 1 - }, - "referentiecomponenten_count": 0, - "standaarden_count": 0, - "standaardversies_count": 0, - "processed_relationships": 0, - "standaardversie_relationships": 0 + "object_id": "id-el-4", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } } ], [ - "log.info", - "GEMMA Referentiecomponent-Standaard processing completed", + "log.debug", + "Property flattening completed", { - "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 0, - "total_relationships_processed": 0 + "object_id": "id-el-4", + "processed_count": 1, + "processed_properties": [ + { + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-el-4", + "def_ref": "propid-1" + } + ], + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "objectId", + "_propertyMapping" + ] } ], [ "log.info", - "GEMMA StandaardVersie-Standaard processing completed", - { - "standaardversies_enhanced": 0, - "total_standaardversies": 0, - "total_versie_relationships": 0 - } + "Getting default organisation from OrganisationService", + [] ], [ "log.info", - "GEMMA ReferentieComponent-StandaardVersies processing completed", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", { - "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 0, - "standaard_to_versies_mappings": 0 + "object_id": "id-el-5", + "properties_count": 2, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } } ], [ "log.info", - "ArchiMate import: Grouped objects by schema for magic mapping", + "GEMMA type property processed", { - "schemaCount": 6, - "schemas": { - "10": 1, - "11": 5, - "12": 2, - "14": 1, - "15": 5, - "13": 2 - } + "object_id": "id-el-5", + "property_name": "Gemma Online URL", + "camel_case_name": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" } ], [ - "objects.saveObjects", + "log.debug", + "Property flattening completed", { - "objects": [ + "object_id": "id-el-5", + "processed_count": 2, + "processed_properties": [ { - "@self": { - "register": 7, - "schema": 10, - "id": "id-model-golden", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "id-model-golden", - "section": "model", - "model_identifier": "id-model-golden", - "xml": { - "name": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Golden model" - }, - "documentation": { - "_value": "Model used to pin the import output" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" - }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_value": "Model unit" - } - } - }, - "propertyDefinitionMap": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } - }, - "name": "Golden model", - "documentation": { - "_value": "Model used to pin the import output" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" - }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_value": "Model unit" - } - } - }, - "propertyDefinitionMap": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - }, - ":identifier": "id-model-golden" + "original": "Gemma Online URL", + "camelCase": "gemmaOnlineUrl", + "value": "Gemma waarde", + "def_ref": "propid-5" + }, + { + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "Second unit", + "def_ref": "propid-2" } ], - "register": 7, - "schema": 10, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "type", + "gemmaOnlineUrl", + "_propertyMapping", + "businessUnit" + ] } ], [ "log.debug", - "Schema group saved for magic mapping", + "SPEED: Bulk processing relationships", { - "schemaId": 10, - "objectCount": 1, - "saved": 0, - "updated": 1 + "item_count": 2 } ], [ - "objects.saveObjects", + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 11, - "id": "uuid-el-1", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "id-el-1" - }, - "identifier": "id-el-1", - "section": "element", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "id-el-1", - ":identifier": "id-el-1", - "xsi:type": "ApplicationComponent" - }, - "name": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Zaaksysteem" - }, - "documentation": { - "_value": "Handles cases" - }, - "properties": { - "property": [ - { - "_propertyDefinitionRef": "propid-1", - "_attributes": { - "propertyDefinitionRef": "propid-1", - ":propertyDefinitionRef": "propid-1" - }, - "___propertyDefinitionRef": "propid-1", - "value": { - "_value": "uuid-el-1" - } - }, - { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" - }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Backoffice" - } - }, - { - "_propertyDefinitionRef": "propid-3", - "_attributes": { - "propertyDefinitionRef": "propid-3", - ":propertyDefinitionRef": "propid-3" - }, - "___propertyDefinitionRef": "propid-3", - "value": { - "_value": "Referentiecomponent" - } - }, - { - "_propertyDefinitionRef": "propid-99", - "_attributes": { - "propertyDefinitionRef": "propid-99", - ":propertyDefinitionRef": "propid-99" - }, - "___propertyDefinitionRef": "propid-99", - "value": { - "_value": "Unknown definition" - } - }, - { - "value": { - "_value": "No definition ref" - } - }, - { - "_propertyDefinitionRef": "propid-4", - "_attributes": { - "propertyDefinitionRef": "propid-4", - ":propertyDefinitionRef": "propid-4" - }, - "___propertyDefinitionRef": "propid-4" - } - ] - }, - "_essential_data": true - }, - "name": "Zaaksysteem", - "omschrijving": "Handles cases", - "type": "ApplicationComponent", - "objectId": "uuid-el-1", - "_propertyMapping": { - "objectId": "Object ID", - "businessUnit": "Business Unit", - "referentieSoort": "Referentie soort" - }, - "businessUnit": "Backoffice", - "referentieSoort": "Referentiecomponent" - }, + "object_id": "id-rel-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-rel-1", + "processed_count": 1, + "processed_properties": [ { - "@self": { - "register": 7, - "schema": 11, - "id": "id-el-2", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "el-2" - }, - "identifier": "id-el-2", - "section": "element", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "id-el-2", - ":identifier": "id-el-2", - "xsi:type": "Capability" - }, - "name": { - "_value": "Zaakgericht werken" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-4", - "_attributes": { - "propertyDefinitionRef": "propid-4", - ":propertyDefinitionRef": "propid-4" - }, - "___propertyDefinitionRef": "propid-4", - "value": { - "_value": "single" - } - } - }, - "_essential_data": true - }, - "name": "Zaakgericht werken", - "type": "Capability", - "remark": "single", - "_propertyMapping": { - "remark": "Remark" - } - }, - { - "@self": { - "register": 7, - "schema": 11, - "id": "el-3", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "el-3" - }, - "identifier": "el-3", - "section": "element", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "el-3", - ":identifier": "el-3", - "xsi:type": "BusinessActor" - }, - "name": [], - "documentation": [], - "_essential_data": true - }, - "name": "", - "omschrijving": "", - "type": "BusinessActor" - }, - { - "@self": { - "register": 7, - "schema": 11, - "id": "uuid-el-4", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "id-el-4" - }, - "identifier": "id-el-4", - "section": "element", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "id-el-4", - ":identifier": "id-el-4", - "xsi:type": "DataObject" - }, - "name": { - "_value": "Zaakdossier" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-1", - "_attributes": { - "propertyDefinitionRef": "propid-1", - ":propertyDefinitionRef": "propid-1" - }, - "___propertyDefinitionRef": "propid-1", - "value": { - "_value": "uuid-el-4" - } - } - }, - "_essential_data": true - }, - "name": "Zaakdossier", - "type": "DataObject", - "objectId": "uuid-el-4", - "_propertyMapping": { - "objectId": "Object ID" - } - }, - { - "@self": { - "register": 7, - "schema": 11, - "id": "id-el-5", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "el-5" - }, - "identifier": "id-el-5", - "section": "element", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "id-el-5", - ":identifier": "id-el-5", - "xsi:type": "Grouping" - }, - "name": { - "_value": "Standaard groep" - }, - "properties": { - "property": [ - { - "_propertyDefinitionRef": "propid-5", - "_attributes": { - "propertyDefinitionRef": "propid-5", - ":propertyDefinitionRef": "propid-5" - }, - "___propertyDefinitionRef": "propid-5", - "value": { - "_value": "Gemma waarde" - } - }, - { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" - }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_value": "Second unit" - } - } - ] - }, - "_essential_data": true - }, - "name": "Standaard groep", - "type": "Grouping", - "gemmaOnlineUrl": "Gemma waarde", - "_propertyMapping": { - "gemmaOnlineUrl": "Gemma Online URL", - "businessUnit": "Business Unit" - }, - "businessUnit": "Second unit" + "original": "Object ID", + "camelCase": "objectId", + "value": "uuid-rel-1", + "def_ref": "propid-1" } ], - "register": 7, - "schema": 11, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "source", + "target", + "objectId", + "_propertyMapping" + ] } ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], [ "log.debug", - "Schema group saved for magic mapping", + "SPEED: Bulk processing property_definitions", { - "schemaId": 11, - "objectCount": 5, - "saved": 4, - "updated": 1 + "item_count": 5 } ], [ - "objects.saveObjects", - { - "objects": [ - { - "@self": { - "register": 7, - "schema": 12, - "id": "uuid-rel-1", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "id-rel-1" - }, - "identifier": "id-rel-1", - "section": "relationship", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "id-rel-1", - "source": "id-el-1", - "target": "id-el-2", - ":identifier": "id-rel-1", - ":source": "id-el-1", - ":target": "id-el-2", - "xsi:type": "Serving" - }, - "name": { - "_value": "serves" - }, - "documentation": { - "_value": "Serving relation" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-1", - "_attributes": { - "propertyDefinitionRef": "propid-1", - ":propertyDefinitionRef": "propid-1" - }, - "___propertyDefinitionRef": "propid-1", - "value": { - "_value": "uuid-rel-1" - } - } - }, - "_essential_data": true - }, - "name": "serves", - "omschrijving": "Serving relation", - "type": "Serving", - "source": "id-el-1", - "target": "id-el-2", - "objectId": "uuid-rel-1", - "_propertyMapping": { - "objectId": "Object ID" - } - }, - { - "@self": { - "register": 7, - "schema": 12, - "id": "rel-2", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "rel-2" - }, - "identifier": "rel-2", - "section": "relationship", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "rel-2", - "source": "el-3", - "target": "id-el-4", - ":identifier": "rel-2", - ":source": "el-3", - ":target": "id-el-4", - "xsi:type": "Association" - }, - "_essential_data": true - }, - "type": "Association", - "source": "el-3", - "target": "id-el-4" - } - ], - "register": 7, - "schema": 12, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false - } + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] ], [ "log.debug", - "Schema group saved for magic mapping", + "Built SPEED elements lookup from raw data", { - "schemaId": 12, - "objectCount": 2, - "saved": 1, - "updated": 1 + "total_elements": 5, + "sample_identifiers": [ + "id-el-1", + "id-el-2", + "el-3", + "id-el-4", + "id-el-5" + ] } ], [ - "objects.saveObjects", + "log.info", + "SPEED MODE: Processing views with maximum optimizations", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 14, - "id": "org-model-golden", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "org-model-golden", - "section": "organization", - "model_identifier": "id-model-golden", - "name": "Organizations", - "xml": { - "item": [ - { - "label": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Business" - }, - "item": [ - { - "_identifierRef": "id-el-1", - "_attributes": { - "identifierRef": "id-el-1", - ":identifierRef": "id-el-1" - }, - "___identifierRef": "id-el-1" - }, - { - "label": { - "_value": "Nested" - }, - "item": { - "_identifierRef": "id-el-2", - "_attributes": { - "identifierRef": "id-el-2", - ":identifierRef": "id-el-2" - }, - "___identifierRef": "id-el-2" - } - } - ] - }, - { - "label": { - "_value": "Relations" - }, - "item": { - "_identifierRef": "id-rel-1", - "_attributes": { - "identifierRef": "id-rel-1", - ":identifierRef": "id-rel-1" - }, - "___identifierRef": "id-rel-1" - } - } - ] - } - } - ], - "register": 7, - "schema": 14, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "elements_available": 5 } ], [ "log.debug", - "Schema group saved for magic mapping", + "SPEED: Optimized element references", { - "schemaId": 14, - "objectCount": 1, - "saved": 0, - "updated": 1 + "total_elements": 5, + "referenced_elements": 2, + "memory_savings_percent": "" } ], [ - "objects.saveObjects", + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Flattening properties for object", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 15, - "id": "propid-1", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "propid-1" - }, - "identifier": "propid-1", - "section": "property_definition", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "propid-1", - "type": "string", - ":identifier": "propid-1", - ":type": "string" - }, - "name": { - "_value": "Object ID" - }, - "_essential_data": true - }, - "name": "Object ID" - }, + "object_id": "id-view-1", + "properties_count": 1, + "property_definition_map_size": 5, + "sample_property_definitions": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + [ + "log.debug", + "Property flattening completed", + { + "object_id": "id-view-1", + "processed_count": 1, + "processed_properties": [ { - "@self": { - "register": 7, - "schema": 15, - "id": "propid-2", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "propid-2" - }, - "identifier": "propid-2", - "section": "property_definition", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "propid-2", - "type": "string", - ":identifier": "propid-2", - ":type": "string" - }, - "name": { - "_value": "Business Unit" - }, - "_essential_data": true - }, - "name": "Business Unit" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "propid-3", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "propid-3" - }, - "identifier": "propid-3", - "section": "property_definition", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "propid-3", - "type": "string", - ":identifier": "propid-3", - ":type": "string" - }, - "name": { - "_value": "Referentie soort" - }, - "_essential_data": true - }, - "name": "Referentie soort" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "propid-4", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "propid-4" - }, - "identifier": "propid-4", - "section": "property_definition", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "propid-4", - "type": "string", - ":identifier": "propid-4", - ":type": "string" - }, - "name": { - "_value": "Remark" - }, - "_essential_data": true - }, - "name": "Remark" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "propid-5", - "owner": "importer", - "organisation": "org-default", - "published": "", - "slug": "propid-5" - }, - "identifier": "propid-5", - "section": "property_definition", - "model_identifier": "id-model-golden", - "xml": { - "_attributes": { - "identifier": "propid-5", - "type": "string", - ":identifier": "propid-5", - ":type": "string" - }, - "name": { - "_value": "Gemma Online URL" - }, - "_essential_data": true - }, - "name": "Gemma Online URL" + "original": "Business Unit", + "camelCase": "businessUnit", + "value": "View unit", + "def_ref": "propid-2" } ], - "register": 7, - "schema": 15, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "object_keys_after_flattening": [ + "@self", + "identifier", + "section", + "model_identifier", + "xml", + "name", + "omschrijving", + "type", + "businessUnit", + "_propertyMapping" + ] + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 16 } ], [ "log.debug", - "Schema group saved for magic mapping", + "Objects before save", { - "schemaId": 15, - "objectCount": 5, - "saved": 4, - "updated": 1 + "total_objects_to_save": 16, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.debug", + "GEMMA Type property found", + { + "property_name": "type", + "value": "ApplicationComponent", + "object_id": "id-el-1" + } + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 5, + "elements_with_gemma_type": 5, + "gemma_type_variations": { + "ApplicationComponent": 1, + "Capability": 1, + "BusinessActor": 1, + "DataObject": 1, + "Grouping": 1 + }, + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "15": 5, + "13": 2 + } } ], [ @@ -2377,29 +2234,25 @@ { "@self": { "register": 7, - "schema": 13, - "id": "id-view-1", + "schema": 10, + "id": "id-model-golden", "owner": "importer", "organisation": "org-default", - "published": "", - "slug": "id-view-1" + "published": "" }, - "identifier": "id-view-1", - "section": "view", + "identifier": "id-model-golden", + "section": "model", "model_identifier": "id-model-golden", "xml": { - "_attributes": { - "identifier": "id-view-1", - "viewpoint": "Layered", - ":identifier": "id-view-1", - ":viewpoint": "Layered", - "xsi:type": "Diagram" - }, "name": { - "_value": "Overview" + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" }, "documentation": { - "_value": "Main view" + "_value": "Model used to pin the import output" }, "properties": { "property": { @@ -2410,1141 +2263,717 @@ }, "___propertyDefinitionRef": "propid-2", "value": { - "_value": "View unit" + "_value": "Model unit" } } }, - "node": [ - { - "_identifier": "id-node-1", - "_elementRef": "id-el-1", - "_x": "10", - "_y": "20", - "_w": "120", - "_h": "55", - "_attributes": { - "identifier": "id-node-1", - "elementRef": "id-el-1", - "x": "10", - "y": "20", - "w": "120", - "h": "55", - ":identifier": "id-node-1", - ":elementRef": "id-el-1", - ":x": "10", - ":y": "20", - ":w": "120", - ":h": "55", - "xsi:type": "Element" + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + }, + ":identifier": "id-model-golden" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-1" + }, + "identifier": "id-el-1", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } }, - "___identifier": "id-node-1", - "___elementRef": "id-el-1", - "___x": "10", - "___y": "20", - "___w": "120", - "___h": "55", - "_xsi__type": "Element", - "style": { - "fillColor": { - "_r": "255", - "_g": "255", - "_b": "181", - "_a": "100", - "_attributes": { - "r": "255", - "g": "255", - "b": "181", - "a": "100", - ":r": "255", - ":g": "255", - ":b": "181", - ":a": "100" - }, - "___r": "255", - "___g": "255", - "___b": "181", - "___a": "100" + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" }, - "lineColor": { - "_r": "92", - "_g": "92", - "_b": "92", + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", "_attributes": { - "r": "92", - "g": "92", - "b": "92", - ":r": "92", - ":g": "92", - ":b": "92" + "xml:lang": "nl" }, - "___r": "92", - "___g": "92", - "___b": "92" + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" }, - "font": { - "_name": "Segoe UI", - "_size": "9", - "_attributes": { - "name": "Segoe UI", - "size": "9", - ":name": "Segoe UI", - ":size": "9" - }, - "___name": "Segoe UI", - "___size": "9", - "color": { - "_r": "0", - "_g": "0", - "_b": "0", - "_attributes": { - "r": "0", - "g": "0", - "b": "0", - ":r": "0", - ":g": "0", - ":b": "0" - }, - "___r": "0", - "___g": "0", - "___b": "0" - } + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" } }, - "node": { - "_identifier": "id-node-2", - "_elementRef": "id-el-2", - "_x": "20", - "_y": "30", - "_w": "60", - "_h": "40", + { + "_propertyDefinitionRef": "propid-99", "_attributes": { - "identifier": "id-node-2", - "elementRef": "id-el-2", - "x": "20", - "y": "30", - "w": "60", - "h": "40", - ":identifier": "id-node-2", - ":elementRef": "id-el-2", - ":x": "20", - ":y": "30", - ":w": "60", - ":h": "40", - "xsi:type": "Element" + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" }, - "___identifier": "id-node-2", - "___elementRef": "id-el-2", - "___x": "20", - "___y": "30", - "___w": "60", - "___h": "40", - "_xsi__type": "Element" - } - }, - { - "_identifier": "id-node-3", - "_x": "200", - "_y": "20", - "_w": "100", - "_h": "30", - "_attributes": { - "identifier": "id-node-3", - "x": "200", - "y": "20", - "w": "100", - "h": "30", - ":identifier": "id-node-3", - ":x": "200", - ":y": "20", - ":w": "100", - ":h": "30", - "xsi:type": "Label" + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } }, - "___identifier": "id-node-3", - "___x": "200", - "___y": "20", - "___w": "100", - "___h": "30", - "_xsi__type": "Label", - "label": { - "_value": "A note" - } - }, - { - "_identifier": "id-node-4", - "_elementRef": "id-el-missing", - "_x": "300", - "_y": "20", - "_w": "100", - "_h": "30", - "_attributes": { - "identifier": "id-node-4", - "elementRef": "id-el-missing", - "x": "300", - "y": "20", - "w": "100", - "h": "30", - ":identifier": "id-node-4", - ":elementRef": "id-el-missing", - ":x": "300", - ":y": "20", - ":w": "100", - ":h": "30", - "xsi:type": "Element" + { + "value": { + "_value": "No definition ref" + } }, - "___identifier": "id-node-4", - "___elementRef": "id-el-missing", - "___x": "300", - "___y": "20", - "___w": "100", - "___h": "30", - "_xsi__type": "Element" - } - ], - "connection": { - "_identifier": "id-conn-1", - "_relationshipRef": "id-rel-1", - "_source": "id-node-1", - "_target": "id-node-2", - "_attributes": { - "identifier": "id-conn-1", - "relationshipRef": "id-rel-1", - "source": "id-node-1", - "target": "id-node-2", - ":identifier": "id-conn-1", - ":relationshipRef": "id-rel-1", - ":source": "id-node-1", - ":target": "id-node-2", - "xsi:type": "Relationship" - }, - "___identifier": "id-conn-1", - "___relationshipRef": "id-rel-1", - "___source": "id-node-1", - "___target": "id-node-2", - "_xsi__type": "Relationship", - "style": { - "lineColor": { - "_r": "0", - "_g": "0", - "_b": "0", + { + "_propertyDefinitionRef": "propid-4", "_attributes": { - "r": "0", - "g": "0", - "b": "0", - ":r": "0", - ":g": "0", - ":b": "0" + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" }, - "___r": "0", - "___g": "0", - "___b": "0" + "___propertyDefinitionRef": "propid-4" } - }, - "bendpoint": { - "_x": "50", - "_y": "60", - "_attributes": { - "x": "50", - "y": "60", - ":x": "50", - ":y": "60" - }, - "___x": "50", - "___y": "60" - } + ] }, - "viewNodes": [ - { - "modelNodeId": "id-el-1", - "viewNodeId": "id-node-1", - "x": 10, - "y": 20, - "width": 120, - "height": 55, - "parent": null, - "name": "Zaaksysteem", - "type": "element", - "color": "rgb(255, 255, 181)", - "borderColor": "rgb(92, 92, 92)", - "font": { - "name": "Segoe UI", - "size": 9, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": "Handles cases", - "elementRef": "id-el-1", - "elementProperties": { - "identifier": "id-el-1", - "name": "Zaaksysteem", - "omschrijving": "Handles cases", - "section": "element", - "type": "ApplicationComponent", - "objectId": "uuid-el-1", - "businessUnit": "Backoffice", - "referentieSoort": "Referentiecomponent" - }, - "objectId": "uuid-el-1", - "elementSection": "element" - }, - { - "modelNodeId": "id-el-2", - "viewNodeId": "id-node-2", - "x": 20, - "y": 30, - "width": 60, - "height": 40, - "parent": "id-node-1", - "name": "Zaakgericht werken", - "type": "element", - "color": "rgb(255, 255, 255)", - "borderColor": "rgb(0, 0, 0)", - "font": { - "name": "Segoe UI, Arial", - "size": 12, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": null, - "elementRef": "id-el-2", - "elementProperties": { - "identifier": "id-el-2", - "name": "Zaakgericht werken", - "section": "element", - "type": "Capability", - "remark": "single" - }, - "elementSection": "element" - }, - { - "modelNodeId": null, - "viewNodeId": "id-node-3", - "x": 200, - "y": 20, - "width": 100, - "height": 30, - "parent": null, - "name": "A note", - "type": "label", - "color": "rgb(255, 255, 255)", - "borderColor": "rgb(0, 0, 0)", - "font": { - "name": "Segoe UI, Arial", - "size": 12, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": null, - "elementRef": null - }, - { - "modelNodeId": "id-el-missing", - "viewNodeId": "id-node-4", - "x": 300, - "y": 20, - "width": 100, - "height": 30, - "parent": null, - "name": null, - "type": "element", - "color": "rgb(255, 255, 255)", - "borderColor": "rgb(0, 0, 0)", - "font": { - "name": "Segoe UI, Arial", - "size": 12, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": null, - "elementRef": "id-el-missing" - } - ], - "viewRelationships": [ - { - "modelRelationshipId": "id-rel-1", - "sourceId": "id-node-1", - "targetId": "id-node-2", - "viewRelationshipId": "id-conn-1", - "type": "", - "bendpoints": [ - { - "x": 50, - "y": 60 - } - ], - "label": [] - } - ], "_essential_data": true }, - "name": "Overview", - "omschrijving": "Main view", - "type": "Diagram", - "businessUnit": "View unit", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", "_propertyMapping": { - "businessUnit": "Business Unit" + "objectId": "Object ID", + "businessUnit": "Business Unit", + "referentieSoort": "Referentie soort" }, - "viewNodes": [ - { - "modelNodeId": "id-el-1", - "viewNodeId": "id-node-1", - "x": 10, - "y": 20, - "width": 120, - "height": 55, - "parent": null, - "name": "Zaaksysteem", - "type": "element", - "color": "rgb(255, 255, 181)", - "borderColor": "rgb(92, 92, 92)", - "font": { - "name": "Segoe UI", - "size": 9, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": "Handles cases", - "elementRef": "id-el-1", - "elementProperties": { - "identifier": "id-el-1", - "name": "Zaaksysteem", - "omschrijving": "Handles cases", - "section": "element", - "type": "ApplicationComponent", - "objectId": "uuid-el-1", - "businessUnit": "Backoffice", - "referentieSoort": "Referentiecomponent" - }, - "objectId": "uuid-el-1", - "elementSection": "element" - }, - { - "modelNodeId": "id-el-2", - "viewNodeId": "id-node-2", - "x": 20, - "y": 30, - "width": 60, - "height": 40, - "parent": "id-node-1", - "name": "Zaakgericht werken", - "type": "element", - "color": "rgb(255, 255, 255)", - "borderColor": "rgb(0, 0, 0)", - "font": { - "name": "Segoe UI, Arial", - "size": 12, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": null, - "elementRef": "id-el-2", - "elementProperties": { - "identifier": "id-el-2", - "name": "Zaakgericht werken", - "section": "element", - "type": "Capability", - "remark": "single" - }, - "elementSection": "element" + "businessUnit": "Backoffice", + "referentieSoort": "Referentiecomponent" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-2" + }, + "identifier": "id-el-2", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" }, - { - "modelNodeId": null, - "viewNodeId": "id-node-3", - "x": 200, - "y": 20, - "width": 100, - "height": 30, - "parent": null, - "name": "A note", - "type": "label", - "color": "rgb(255, 255, 255)", - "borderColor": "rgb(0, 0, 0)", - "font": { - "name": "Segoe UI, Arial", - "size": 12, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": null, - "elementRef": null + "name": { + "_value": "Zaakgericht werken" }, - { - "modelNodeId": "id-el-missing", - "viewNodeId": "id-node-4", - "x": 300, - "y": 20, - "width": 100, - "height": 30, - "parent": null, - "name": null, - "type": "element", - "color": "rgb(255, 255, 255)", - "borderColor": "rgb(0, 0, 0)", - "font": { - "name": "Segoe UI, Arial", - "size": 12, - "style": "normal", - "color": "rgb(0, 0, 0)" - }, - "description": null, - "elementRef": "id-el-missing" - } - ], - "viewRelationships": [ - { - "modelRelationshipId": "id-rel-1", - "sourceId": "id-node-1", - "targetId": "id-node-2", - "viewRelationshipId": "id-conn-1", - "type": "", - "bendpoints": [ - { - "x": 50, - "y": 60 + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" } - ], - "label": [] - } - ] + } + }, + "_essential_data": true + }, + "name": "Zaakgericht werken", + "type": "Capability", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } }, { "@self": { "register": 7, - "schema": 13, - "id": "view-2", + "schema": 11, + "id": "el-3", "owner": "importer", "organisation": "org-default", "published": "", - "slug": "view-2" + "slug": "el-3" }, - "identifier": "view-2", - "section": "view", + "identifier": "el-3", + "section": "element", "model_identifier": "id-model-golden", "xml": { "_attributes": { - "identifier": "view-2", - ":identifier": "view-2", - "xsi:type": "Diagram" + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "name": "", + "omschrijving": "", + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-el-4" + }, + "identifier": "id-el-4", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" }, "name": { - "_value": "Empty view" + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } }, "_essential_data": true }, - "name": "Empty view", - "type": "Diagram" - } - ], - "register": 7, - "schema": 13, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false - } - ], - [ - "log.debug", - "Schema group saved for magic mapping", - { - "schemaId": 13, - "objectCount": 2, - "saved": 1, - "updated": 1 - } - ], - [ - "db.executeQuery", - "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" - ], - [ - "log.info", - "fixStandaardVersieUuids: Built identifier->uuid mapping", - { - "standaard_count": 0 - } - ], - [ - "log.warning", - "fixStandaardVersieUuids: No Standaarden found to map", - [] - ] - ] - }, - "classic archimate_golden.xml []": { - "result": { - "success": true, - "file_info": { - "name": "archimate_golden.xml", - "size": 5163, - "mime_type": "text/xml" - }, - "processing_times": "", - "memory_usage": "", - "statistics": { - "elements": { - "created": 0, - "updated": 0, - "unchanged": 16, - "errors": [] - }, - "organizations": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": [] - }, - "relationships": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": [] - }, - "views": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": [] - }, - "property_definitions": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": [] - }, - "omschrijving": { - "total_objects_created": 0, - "total_objects_updated": 0, - "total_objects_deleted": 0, - "total_objects_unchanged": 16, - "total_errors": 0 - } - }, - "omschrijving": { - "total_objects_created": 0, - "total_objects_updated": 0, - "total_objects_deleted": 0, - "total_objects_skipped": null, - "total_errors": 0 - }, - "performance_metrics": { - "items_per_second": "", - "processing_method": "synchronous_batch_processing", - "batch_size_used": 100, - "dataset_size": 0 - }, - "detailed_errors": { - "total_count": 0, - "by_section": [], - "omschrijving": [] - } - }, - "calls": [ - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Step 1: Parsing XML to array for complete data capture", - { - "filePath": "/tests/Unit/Service/../../data/archimate_golden.xml" - } - ], - [ - "log.info", - "Step 2: Extracting model identifier and checking for existing model", - [] - ], - [ - "log.debug", - "Extracting model identifier from XML data", - { - "xml_keys": [ - "_identifier", - "_attributes", - "___identifier", - "name", - "documentation", - "properties", - "elements", - "relationships", - "organizations", - "propertyDefinitions", - "views" - ] - } - ], - [ - "log.info", - "Found model identifier in root attributes", - { - "identifier": "id-model-golden" + "name": "Zaakdossier", + "type": "DataObject", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "el-5" + }, + "identifier": "id-el-5", + "section": "element", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "name": "Standaard groep", + "type": "Grouping", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ "log.debug", - "Checking if model already exists", - { - "model_identifier": "id-model-golden" - } - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "objects.searchObjects", - { - "@self": { - "register": 7, - "schema": 10 - }, - "archimate_id": "id-model-golden", - "_limit": 1 - } - ], - [ - "log.info", - "Model existence check completed", + "Schema group saved for magic mapping", { - "model_identifier": "id-model-golden", - "exists": false, - "found_count": 0, - "registerId": 7, - "schemaId": 10 + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 } ], [ - "log.info", - "Step 3: Normalizing data structure for JSON blob storage", - [] - ], - [ - "log.info", - "Normalizing ArchiMate data structure for JSON blob storage", + "objects.saveObjects", { - "model_identifier": "id-model-golden" - } - ], - [ - "log.info", - "Property definitions extracted and mapped", - { - "total_properties": 5, - "property_mapping": { - "Object ID": "objectId", - "Business Unit": "businessUnit", - "Referentie soort": "referentieSoort", - "Remark": "remark", - "Gemma Online URL": "gemmaOnlineUrl" - } + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "id-rel-1" + }, + "identifier": "id-rel-1", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "name": "serves", + "omschrijving": "Serving relation", + "type": "Serving", + "source": "id-el-1", + "target": "id-el-2", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + } + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "rel-2" + }, + "identifier": "rel-2", + "section": "relationship", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association", + "source": "el-3", + "target": "id-el-4" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ "log.debug", - "Extracted model metadata", + "Schema group saved for magic mapping", { - "metadata_keys": [ - "identifier", - ":identifier", - "name", - "documentation", - "properties", - "propertyDefinitionMap" - ], - "has_name": true, - "has_documentation": true + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 } ], [ - "log.info", - "Data normalization completed", + "objects.saveObjects", { - "model_identifier": "id-model-golden", - "sections_processed": [ - "elements", - "relationships", - "organizations", - "views", - "property_definitions" + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } ], - "round_trip_fidelity": "enabled" + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ - "log.info", - "Step 4: Converting to OpenRegister objects with @self structure", - [] - ], - [ - "log.info", - "Converting to OpenRegister objects with @self structure", + "log.debug", + "Schema group saved for magic mapping", { - "model_identifier": "id-model-golden" + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 } ], [ - "log.debug", - "Creating model object from metadata", - [] - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "element" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "element" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "element" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "element" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "element" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "relationship" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "relationship" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "organization" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "view" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-1", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-1" + }, + "identifier": "propid-1", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-1", + "type": "string", + ":identifier": "propid-1", + ":type": "string" + }, + "name": { + "_value": "Object ID" + }, + "_essential_data": true + }, + "name": "Object ID" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-2", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-2" + }, + "identifier": "propid-2", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-2", + "type": "string", + ":identifier": "propid-2", + ":type": "string" + }, + "name": { + "_value": "Business Unit" + }, + "_essential_data": true + }, + "name": "Business Unit" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-3", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-3" + }, + "identifier": "propid-3", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-3", + "type": "string", + ":identifier": "propid-3", + ":type": "string" + }, + "name": { + "_value": "Referentie soort" + }, + "_essential_data": true + }, + "name": "Referentie soort" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-4", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-4" + }, + "identifier": "propid-4", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-4", + "type": "string", + ":identifier": "propid-4", + ":type": "string" + }, + "name": { + "_value": "Remark" + }, + "_essential_data": true + }, + "name": "Remark" + }, + { + "@self": { + "register": 7, + "schema": 15, + "id": "propid-5", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "propid-5" + }, + "identifier": "propid-5", + "section": "property_definition", + "model_identifier": "id-model-golden", + "xml": { + "_attributes": { + "identifier": "propid-5", + "type": "string", + ":identifier": "propid-5", + ":type": "string" + }, + "name": { + "_value": "Gemma Online URL" + }, + "_essential_data": true + }, + "name": "Gemma Online URL" + } + ], + "register": 7, + "schema": 15, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } ], [ - "settings.getSchemaIdForObjectType", - "view" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "property_definition" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "property_definition" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "property_definition" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "property_definition" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "settings.getSchemaIdForObjectType", - "property_definition" - ], - [ - "log.info", - "Getting default organisation from OrganisationService", - [] - ], - [ - "log.info", - "Got default organisation UUID: org-default", - [] - ], - [ - "log.debug", - "Sections processed", - { - "elements": 5, - "relationships": 2, - "organizations": 1, - "views": 2, - "property_definitions": 5 - } - ], - [ - "log.info", - "Conversion to OpenRegister objects completed", - { - "model_identifier": "id-model-golden", - "total_objects": 16, - "sections_processed": [ - "elements", - "relationships", - "organizations", - "views", - "property_definitions" - ] - } - ], - [ - "log.info", - "Step 5: Saving objects to database using ObjectService::saveObjects", - [] - ], - [ - "log.debug", - "Objects before save", - { - "total_objects_to_save": 16, - "elements_with_gemmaType": 0 - } - ], - [ - "log.info", - "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", - [] - ], - [ - "log.info", - "GEMMA objects processing complete", - { - "total_elements": 0, - "elements_with_gemma_type": 0, - "gemma_type_variations": [], - "referentiecomponenten_count": 0, - "standaarden_count": 0, - "standaardversies_count": 0, - "processed_relationships": 0, - "standaardversie_relationships": 0 - } - ], - [ - "log.info", - "GEMMA Referentiecomponent-Standaard processing completed", - { - "referentiecomponenten_enhanced": 0, - "total_referentiecomponenten": 0, - "total_relationships_processed": 0 - } - ], - [ - "log.info", - "GEMMA StandaardVersie-Standaard processing completed", - { - "standaardversies_enhanced": 0, - "total_standaardversies": 0, - "total_versie_relationships": 0 - } - ], - [ - "log.info", - "GEMMA ReferentieComponent-StandaardVersies processing completed", - { - "referentiecomponenten_with_versies": 0, - "total_referentiecomponenten": 0, - "standaard_to_versies_mappings": 0 - } - ], - [ - "log.info", - "ArchiMate import: Grouped objects by schema for magic mapping", - { - "schemaCount": 6, - "schemas": { - "10": 1, - "11": 5, - "12": 2, - "14": 1, - "13": 2, - "15": 5 - } - } + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 5, + "saved": 4, + "updated": 1 + } ], [ "objects.saveObjects", @@ -3553,25 +2982,29 @@ { "@self": { "register": 7, - "schema": 10, - "id": "id-model-golden", + "schema": 13, + "id": "id-view-1", "owner": "importer", "organisation": "org-default", - "published": "" + "published": "", + "slug": "id-view-1" }, - "identifier": "id-model-golden", - "section": "model", + "identifier": "id-view-1", + "section": "view", "model_identifier": "id-model-golden", "xml": { + "_attributes": { + "identifier": "id-view-1", + "viewpoint": "Layered", + ":identifier": "id-view-1", + ":viewpoint": "Layered", + "xsi:type": "Diagram" + }, "name": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Golden model" + "_value": "Overview" }, "documentation": { - "_value": "Model used to pin the import output" + "_value": "Main view" }, "properties": { "property": { @@ -3582,360 +3015,533 @@ }, "___propertyDefinitionRef": "propid-2", "value": { - "_value": "Model unit" + "_value": "View unit" } } }, - "propertyDefinitionMap": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } - }, - ":identifier": "id-model-golden", - "name": "Golden model", - "documentation": { - "_value": "Model used to pin the import output" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" - }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_value": "Model unit" - } - } - }, - "propertyDefinitionMap": { - "propid-1": "Object ID", - "propid-2": "Business Unit", - "propid-3": "Referentie soort", - "propid-4": "Remark", - "propid-5": "Gemma Online URL" - } - } - ], - "register": 7, - "schema": 10, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false - } - ], - [ - "log.debug", - "Schema group saved for magic mapping", - { - "schemaId": 10, - "objectCount": 1, - "saved": 0, - "updated": 1 - } - ], - [ - "objects.saveObjects", - { - "objects": [ - { - "@self": { - "register": 7, - "schema": 11, - "id": "uuid-el-1", - "slug": "id-el-1", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "id-el-1", - "section": "elements", - "model_identifier": "id-model-golden", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "id-el-1", - ":identifier": "id-el-1", - "xsi:type": "ApplicationComponent" - }, - "name": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Zaaksysteem" - }, - "documentation": { - "_value": "Handles cases" - }, - "properties": { - "property": [ - { - "_propertyDefinitionRef": "propid-1", - "_attributes": { - "propertyDefinitionRef": "propid-1", - ":propertyDefinitionRef": "propid-1" - }, - "___propertyDefinitionRef": "propid-1", - "value": { - "_value": "uuid-el-1" - } + "node": [ + { + "_identifier": "id-node-1", + "_elementRef": "id-el-1", + "_x": "10", + "_y": "20", + "_w": "120", + "_h": "55", + "_attributes": { + "identifier": "id-node-1", + "elementRef": "id-el-1", + "x": "10", + "y": "20", + "w": "120", + "h": "55", + ":identifier": "id-node-1", + ":elementRef": "id-el-1", + ":x": "10", + ":y": "20", + ":w": "120", + ":h": "55", + "xsi:type": "Element" }, - { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" + "___identifier": "id-node-1", + "___elementRef": "id-el-1", + "___x": "10", + "___y": "20", + "___w": "120", + "___h": "55", + "_xsi__type": "Element", + "style": { + "fillColor": { + "_r": "255", + "_g": "255", + "_b": "181", + "_a": "100", + "_attributes": { + "r": "255", + "g": "255", + "b": "181", + "a": "100", + ":r": "255", + ":g": "255", + ":b": "181", + ":a": "100" + }, + "___r": "255", + "___g": "255", + "___b": "181", + "___a": "100" }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_xml__lang": "nl", + "lineColor": { + "_r": "92", + "_g": "92", + "_b": "92", "_attributes": { - "xml:lang": "nl" + "r": "92", + "g": "92", + "b": "92", + ":r": "92", + ":g": "92", + ":b": "92" }, - "_value": "Backoffice" - } - }, - { - "_propertyDefinitionRef": "propid-3", - "_attributes": { - "propertyDefinitionRef": "propid-3", - ":propertyDefinitionRef": "propid-3" + "___r": "92", + "___g": "92", + "___b": "92" }, - "___propertyDefinitionRef": "propid-3", - "value": { - "_value": "Referentiecomponent" + "font": { + "_name": "Segoe UI", + "_size": "9", + "_attributes": { + "name": "Segoe UI", + "size": "9", + ":name": "Segoe UI", + ":size": "9" + }, + "___name": "Segoe UI", + "___size": "9", + "color": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" + } } }, - { - "_propertyDefinitionRef": "propid-99", + "node": { + "_identifier": "id-node-2", + "_elementRef": "id-el-2", + "_x": "20", + "_y": "30", + "_w": "60", + "_h": "40", "_attributes": { - "propertyDefinitionRef": "propid-99", - ":propertyDefinitionRef": "propid-99" + "identifier": "id-node-2", + "elementRef": "id-el-2", + "x": "20", + "y": "30", + "w": "60", + "h": "40", + ":identifier": "id-node-2", + ":elementRef": "id-el-2", + ":x": "20", + ":y": "30", + ":w": "60", + ":h": "40", + "xsi:type": "Element" }, - "___propertyDefinitionRef": "propid-99", - "value": { - "_value": "Unknown definition" - } - }, - { - "value": { - "_value": "No definition ref" - } + "___identifier": "id-node-2", + "___elementRef": "id-el-2", + "___x": "20", + "___y": "30", + "___w": "60", + "___h": "40", + "_xsi__type": "Element" + } + }, + { + "_identifier": "id-node-3", + "_x": "200", + "_y": "20", + "_w": "100", + "_h": "30", + "_attributes": { + "identifier": "id-node-3", + "x": "200", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-3", + ":x": "200", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Label" }, - { - "_propertyDefinitionRef": "propid-4", - "_attributes": { - "propertyDefinitionRef": "propid-4", - ":propertyDefinitionRef": "propid-4" - }, - "___propertyDefinitionRef": "propid-4" + "___identifier": "id-node-3", + "___x": "200", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Label", + "label": { + "_value": "A note" } - ] - }, - "_essential_data": true - }, - "type": "ApplicationComponent", - "name": "Zaaksysteem", - "omschrijving": "Handles cases", - "documentation": "Handles cases", - "objectId": "uuid-el-1", - "_propertyMapping": { - "objectId": "Object ID", - "businessUnit": "Business Unit", - "referentieSoort": "Referentie soort", - "remark": "Remark" - }, - "_slug": "uuid-el-1", - "businessUnit": "Backoffice", - "referentieSoort": "Referentiecomponent", - "remark": null - }, - { - "@self": { - "register": 7, - "schema": 11, - "id": "id-el-2", - "slug": "el-2", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "id-el-2", - "section": "elements", - "model_identifier": "id-model-golden", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "id-el-2", - ":identifier": "id-el-2", - "xsi:type": "Capability" - }, - "name": { - "_value": "Zaakgericht werken" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-4", + }, + { + "_identifier": "id-node-4", + "_elementRef": "id-el-missing", + "_x": "300", + "_y": "20", + "_w": "100", + "_h": "30", "_attributes": { - "propertyDefinitionRef": "propid-4", - ":propertyDefinitionRef": "propid-4" + "identifier": "id-node-4", + "elementRef": "id-el-missing", + "x": "300", + "y": "20", + "w": "100", + "h": "30", + ":identifier": "id-node-4", + ":elementRef": "id-el-missing", + ":x": "300", + ":y": "20", + ":w": "100", + ":h": "30", + "xsi:type": "Element" }, - "___propertyDefinitionRef": "propid-4", - "value": { - "_value": "single" + "___identifier": "id-node-4", + "___elementRef": "id-el-missing", + "___x": "300", + "___y": "20", + "___w": "100", + "___h": "30", + "_xsi__type": "Element" + } + ], + "connection": { + "_identifier": "id-conn-1", + "_relationshipRef": "id-rel-1", + "_source": "id-node-1", + "_target": "id-node-2", + "_attributes": { + "identifier": "id-conn-1", + "relationshipRef": "id-rel-1", + "source": "id-node-1", + "target": "id-node-2", + ":identifier": "id-conn-1", + ":relationshipRef": "id-rel-1", + ":source": "id-node-1", + ":target": "id-node-2", + "xsi:type": "Relationship" + }, + "___identifier": "id-conn-1", + "___relationshipRef": "id-rel-1", + "___source": "id-node-1", + "___target": "id-node-2", + "_xsi__type": "Relationship", + "style": { + "lineColor": { + "_r": "0", + "_g": "0", + "_b": "0", + "_attributes": { + "r": "0", + "g": "0", + "b": "0", + ":r": "0", + ":g": "0", + ":b": "0" + }, + "___r": "0", + "___g": "0", + "___b": "0" } + }, + "bendpoint": { + "_x": "50", + "_y": "60", + "_attributes": { + "x": "50", + "y": "60", + ":x": "50", + ":y": "60" + }, + "___x": "50", + "___y": "60" } }, + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "element", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "referentieSoort": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "elementSection": "element" + }, + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" + }, + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null + }, + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 + } + ], + "label": [] + } + ], "_essential_data": true }, - "type": "Capability", - "name": "Zaakgericht werken", - "remark": "single", + "name": "Overview", + "omschrijving": "Main view", + "type": "Diagram", + "businessUnit": "View unit", "_propertyMapping": { - "remark": "Remark" - } - }, - { - "@self": { - "register": 7, - "schema": 11, - "id": "el-3", - "slug": "el-3", - "owner": "importer", - "organisation": "org-default", - "published": "" + "businessUnit": "Business Unit" }, - "identifier": "el-3", - "section": "elements", - "model_identifier": "id-model-golden", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "el-3", - ":identifier": "el-3", - "xsi:type": "BusinessActor" + "viewNodes": [ + { + "modelNodeId": "id-el-1", + "viewNodeId": "id-node-1", + "x": 10, + "y": 20, + "width": 120, + "height": 55, + "parent": null, + "name": "Zaaksysteem", + "type": "element", + "color": "rgb(255, 255, 181)", + "borderColor": "rgb(92, 92, 92)", + "font": { + "name": "Segoe UI", + "size": 9, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": "Handles cases", + "elementRef": "id-el-1", + "elementProperties": { + "identifier": "id-el-1", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "section": "element", + "type": "ApplicationComponent", + "objectId": "uuid-el-1", + "businessUnit": "Backoffice", + "referentieSoort": "Referentiecomponent" + }, + "objectId": "uuid-el-1", + "elementSection": "element" }, - "name": [], - "documentation": [], - "_essential_data": true - }, - "type": "BusinessActor" - }, - { - "@self": { - "register": 7, - "schema": 11, - "id": "uuid-el-4", - "slug": "id-el-4", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "id-el-4", - "section": "elements", - "model_identifier": "id-model-golden", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "id-el-4", - ":identifier": "id-el-4", - "xsi:type": "DataObject" + { + "modelNodeId": "id-el-2", + "viewNodeId": "id-node-2", + "x": 20, + "y": 30, + "width": 60, + "height": 40, + "parent": "id-node-1", + "name": "Zaakgericht werken", + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-2", + "elementProperties": { + "identifier": "id-el-2", + "name": "Zaakgericht werken", + "section": "element", + "type": "Capability", + "remark": "single" + }, + "elementSection": "element" }, - "name": { - "_value": "Zaakdossier" + { + "modelNodeId": null, + "viewNodeId": "id-node-3", + "x": 200, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": "A note", + "type": "label", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": null }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-1", - "_attributes": { - "propertyDefinitionRef": "propid-1", - ":propertyDefinitionRef": "propid-1" - }, - "___propertyDefinitionRef": "propid-1", - "value": { - "_value": "uuid-el-4" + { + "modelNodeId": "id-el-missing", + "viewNodeId": "id-node-4", + "x": 300, + "y": 20, + "width": 100, + "height": 30, + "parent": null, + "name": null, + "type": "element", + "color": "rgb(255, 255, 255)", + "borderColor": "rgb(0, 0, 0)", + "font": { + "name": "Segoe UI, Arial", + "size": 12, + "style": "normal", + "color": "rgb(0, 0, 0)" + }, + "description": null, + "elementRef": "id-el-missing" + } + ], + "viewRelationships": [ + { + "modelRelationshipId": "id-rel-1", + "sourceId": "id-node-1", + "targetId": "id-node-2", + "viewRelationshipId": "id-conn-1", + "type": "", + "bendpoints": [ + { + "x": 50, + "y": 60 } - } - }, - "_essential_data": true - }, - "type": "DataObject", - "name": "Zaakdossier", - "objectId": "uuid-el-4", - "_propertyMapping": { - "objectId": "Object ID" - }, - "_slug": "uuid-el-4" + ], + "label": [] + } + ] }, { "@self": { "register": 7, - "schema": 11, - "id": "id-el-5", - "slug": "el-5", + "schema": 13, + "id": "view-2", "owner": "importer", "organisation": "org-default", - "published": "" + "published": "", + "slug": "view-2" }, - "identifier": "id-el-5", - "section": "elements", + "identifier": "view-2", + "section": "view", "model_identifier": "id-model-golden", - "extracted_at": "", "xml": { "_attributes": { - "identifier": "id-el-5", - ":identifier": "id-el-5", - "xsi:type": "Grouping" + "identifier": "view-2", + ":identifier": "view-2", + "xsi:type": "Diagram" }, "name": { - "_value": "Standaard groep" - }, - "properties": { - "property": [ - { - "_propertyDefinitionRef": "propid-5", - "_attributes": { - "propertyDefinitionRef": "propid-5", - ":propertyDefinitionRef": "propid-5" - }, - "___propertyDefinitionRef": "propid-5", - "value": { - "_value": "Gemma waarde" - } - }, - { - "_propertyDefinitionRef": "propid-2", - "_attributes": { - "propertyDefinitionRef": "propid-2", - ":propertyDefinitionRef": "propid-2" - }, - "___propertyDefinitionRef": "propid-2", - "value": { - "_value": "Second unit" - } - } - ] + "_value": "Empty view" }, "_essential_data": true }, - "type": "Grouping", - "name": "Standaard groep", - "gemmaOnlineUrl": "Gemma waarde", - "_propertyMapping": { - "gemmaOnlineUrl": "Gemma Online URL", - "businessUnit": "Business Unit" - }, - "businessUnit": "Second unit" + "name": "Empty view", + "type": "Diagram" } ], "register": 7, - "schema": 11, + "schema": 13, "_rbac": false, "_multitenancy": false, "validation": false, @@ -3946,211 +3552,1210 @@ "log.debug", "Schema group saved for magic mapping", { - "schemaId": 11, - "objectCount": 5, - "saved": 4, + "schemaId": 13, + "objectCount": 2, + "saved": 1, "updated": 1 } ], [ - "objects.saveObjects", + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 12, - "id": "uuid-rel-1", - "slug": "id-rel-1", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "id-rel-1", - "section": "relationships", - "model_identifier": "id-model-golden", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "id-rel-1", - "source": "id-el-1", - "target": "id-el-2", - ":identifier": "id-rel-1", - ":source": "id-el-1", - ":target": "id-el-2", - "xsi:type": "Serving" - }, - "name": { - "_value": "serves" - }, - "documentation": { - "_value": "Serving relation" - }, - "properties": { - "property": { - "_propertyDefinitionRef": "propid-1", - "_attributes": { - "propertyDefinitionRef": "propid-1", - ":propertyDefinitionRef": "propid-1" - }, - "___propertyDefinitionRef": "propid-1", - "value": { - "_value": "uuid-rel-1" - } - } - }, - "_essential_data": true - }, - "type": "Serving", - "name": "serves", - "omschrijving": "Serving relation", - "documentation": "Serving relation", - "objectId": "uuid-rel-1", - "_propertyMapping": { - "objectId": "Object ID" - }, - "_slug": "uuid-rel-1" - }, - { - "@self": { - "register": 7, - "schema": 12, - "id": "rel-2", - "slug": "rel-2", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "rel-2", - "section": "relationships", - "model_identifier": "id-model-golden", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "rel-2", - "source": "el-3", - "target": "id-el-4", - ":identifier": "rel-2", - ":source": "el-3", - ":target": "id-el-4", - "xsi:type": "Association" - }, - "_essential_data": true - }, - "type": "Association" - } - ], - "register": 7, - "schema": 12, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "standaard_count": 0 } ], [ - "log.debug", - "Schema group saved for magic mapping", - { - "schemaId": 12, - "objectCount": 2, - "saved": 1, - "updated": 1 + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ] + ] + }, + "classic archimate_golden.xml []": { + "result": { + "success": true, + "file_info": { + "name": "archimate_golden.xml", + "size": 5163, + "mime_type": "text/xml" + }, + "processing_times": "", + "memory_usage": "", + "statistics": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 16, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 16, + "total_errors": 0 } + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 16, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "Getting AMEF configuration", + [] ], [ - "objects.saveObjects", - { - "objects": [ - { - "@self": { - "register": 7, - "schema": 14, - "id": "org-model-golden", - "slug": "org-model-golden", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "org-model-golden", - "section": "organization", - "model_identifier": "id-model-golden", - "name": "Organizations", - "xml": { - "item": [ - { - "label": { - "_xml__lang": "nl", - "_attributes": { - "xml:lang": "nl" - }, - "_value": "Business" - }, - "item": [ - { - "_identifierRef": "id-el-1", - "_attributes": { - "identifierRef": "id-el-1", - ":identifierRef": "id-el-1" - }, - "___identifierRef": "id-el-1" - }, - { - "label": { - "_value": "Nested" - }, - "item": { - "_identifierRef": "id-el-2", - "_attributes": { - "identifierRef": "id-el-2", - ":identifierRef": "id-el-2" - }, - "___identifierRef": "id-el-2" - } - } - ] - }, - { - "label": { - "_value": "Relations" - }, - "item": { - "_identifierRef": "id-rel-1", - "_attributes": { - "identifierRef": "id-rel-1", - ":identifierRef": "id-rel-1" - }, - "___identifierRef": "id-rel-1" - } - } - ] - } - } - ], - "register": 7, - "schema": 14, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false - } + "log.info", + "Getting AMEF configuration", + [] ], [ - "log.debug", - "Schema group saved for magic mapping", - { - "schemaId": 14, - "objectCount": 1, - "saved": 0, - "updated": 1 - } + "log.info", + "Getting AMEF configuration", + [] ], [ - "objects.saveObjects", - { - "objects": [ - { - "@self": { + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Step 1: Parsing XML to array for complete data capture", + { + "filePath": "/tests/Unit/Service/../../data/archimate_golden.xml" + } + ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], + [ + "log.debug", + "Extracting model identifier from XML data", + { + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "name", + "documentation", + "properties", + "elements", + "relationships", + "organizations", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "id-model-golden" + } + ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "objects.searchObjects", + { + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "id-model-golden", + "_limit": 1 + } + ], + [ + "log.info", + "Model existence check completed", + { + "model_identifier": "id-model-golden", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 5, + "property_mapping": { + "Object ID": "objectId", + "Business Unit": "businessUnit", + "Referentie soort": "referentieSoort", + "Remark": "remark", + "Gemma Online URL": "gemmaOnlineUrl" + } + } + ], + [ + "log.debug", + "Extracted model metadata", + { + "metadata_keys": [ + "identifier", + ":identifier", + "name", + "documentation", + "properties", + "propertyDefinitionMap" + ], + "has_name": true, + "has_documentation": true + } + ], + [ + "log.info", + "Data normalization completed", + { + "model_identifier": "id-model-golden", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" + } + ], + [ + "log.info", + "Step 4: Converting to OpenRegister objects with @self structure", + [] + ], + [ + "log.info", + "Converting to OpenRegister objects with @self structure", + { + "model_identifier": "id-model-golden" + } + ], + [ + "log.debug", + "Creating model object from metadata", + [] + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "element" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "relationship" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "organization" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Sections processed", + { + "elements": 5, + "relationships": 2, + "organizations": 1, + "views": 2, + "property_definitions": 5 + } + ], + [ + "log.info", + "Conversion to OpenRegister objects completed", + { + "model_identifier": "id-model-golden", + "total_objects": 16, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ] + } + ], + [ + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 16, + "elements_with_gemmaType": 0 + } + ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], + [ + "log.info", + "GEMMA objects processing complete", + { + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 6, + "schemas": { + "10": 1, + "11": 5, + "12": 2, + "14": 1, + "13": 2, + "15": 5 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 10, + "id": "id-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-model-golden", + "section": "model", + "model_identifier": "id-model-golden", + "xml": { + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Golden model" + }, + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + }, + ":identifier": "id-model-golden", + "name": "Golden model", + "documentation": { + "_value": "Model used to pin the import output" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Model unit" + } + } + }, + "propertyDefinitionMap": { + "propid-1": "Object ID", + "propid-2": "Business Unit", + "propid-3": "Referentie soort", + "propid-4": "Remark", + "propid-5": "Gemma Online URL" + } + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-1", + "slug": "id-el-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-1", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-1", + ":identifier": "id-el-1", + "xsi:type": "ApplicationComponent" + }, + "name": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Zaaksysteem" + }, + "documentation": { + "_value": "Handles cases" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-1" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Backoffice" + } + }, + { + "_propertyDefinitionRef": "propid-3", + "_attributes": { + "propertyDefinitionRef": "propid-3", + ":propertyDefinitionRef": "propid-3" + }, + "___propertyDefinitionRef": "propid-3", + "value": { + "_value": "Referentiecomponent" + } + }, + { + "_propertyDefinitionRef": "propid-99", + "_attributes": { + "propertyDefinitionRef": "propid-99", + ":propertyDefinitionRef": "propid-99" + }, + "___propertyDefinitionRef": "propid-99", + "value": { + "_value": "Unknown definition" + } + }, + { + "value": { + "_value": "No definition ref" + } + }, + { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4" + } + ] + }, + "_essential_data": true + }, + "type": "ApplicationComponent", + "name": "Zaaksysteem", + "omschrijving": "Handles cases", + "documentation": "Handles cases", + "objectId": "uuid-el-1", + "_propertyMapping": { + "objectId": "Object ID", + "businessUnit": "Business Unit", + "referentieSoort": "Referentie soort", + "remark": "Remark" + }, + "_slug": "uuid-el-1", + "businessUnit": "Backoffice", + "referentieSoort": "Referentiecomponent", + "remark": null + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-2", + "slug": "el-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-2", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-2", + ":identifier": "id-el-2", + "xsi:type": "Capability" + }, + "name": { + "_value": "Zaakgericht werken" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-4", + "_attributes": { + "propertyDefinitionRef": "propid-4", + ":propertyDefinitionRef": "propid-4" + }, + "___propertyDefinitionRef": "propid-4", + "value": { + "_value": "single" + } + } + }, + "_essential_data": true + }, + "type": "Capability", + "name": "Zaakgericht werken", + "remark": "single", + "_propertyMapping": { + "remark": "Remark" + } + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-3", + "slug": "el-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-3", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-3", + ":identifier": "el-3", + "xsi:type": "BusinessActor" + }, + "name": [], + "documentation": [], + "_essential_data": true + }, + "type": "BusinessActor" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "uuid-el-4", + "slug": "id-el-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-4", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-4", + ":identifier": "id-el-4", + "xsi:type": "DataObject" + }, + "name": { + "_value": "Zaakdossier" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-el-4" + } + } + }, + "_essential_data": true + }, + "type": "DataObject", + "name": "Zaakdossier", + "objectId": "uuid-el-4", + "_propertyMapping": { + "objectId": "Object ID" + }, + "_slug": "uuid-el-4" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "id-el-5", + "slug": "el-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-el-5", + "section": "elements", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-el-5", + ":identifier": "id-el-5", + "xsi:type": "Grouping" + }, + "name": { + "_value": "Standaard groep" + }, + "properties": { + "property": [ + { + "_propertyDefinitionRef": "propid-5", + "_attributes": { + "propertyDefinitionRef": "propid-5", + ":propertyDefinitionRef": "propid-5" + }, + "___propertyDefinitionRef": "propid-5", + "value": { + "_value": "Gemma waarde" + } + }, + { + "_propertyDefinitionRef": "propid-2", + "_attributes": { + "propertyDefinitionRef": "propid-2", + ":propertyDefinitionRef": "propid-2" + }, + "___propertyDefinitionRef": "propid-2", + "value": { + "_value": "Second unit" + } + } + ] + }, + "_essential_data": true + }, + "type": "Grouping", + "name": "Standaard groep", + "gemmaOnlineUrl": "Gemma waarde", + "_propertyMapping": { + "gemmaOnlineUrl": "Gemma Online URL", + "businessUnit": "Business Unit" + }, + "businessUnit": "Second unit" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 5, + "saved": 4, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 12, + "id": "uuid-rel-1", + "slug": "id-rel-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-rel-1", + "section": "relationships", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "id-rel-1", + "source": "id-el-1", + "target": "id-el-2", + ":identifier": "id-rel-1", + ":source": "id-el-1", + ":target": "id-el-2", + "xsi:type": "Serving" + }, + "name": { + "_value": "serves" + }, + "documentation": { + "_value": "Serving relation" + }, + "properties": { + "property": { + "_propertyDefinitionRef": "propid-1", + "_attributes": { + "propertyDefinitionRef": "propid-1", + ":propertyDefinitionRef": "propid-1" + }, + "___propertyDefinitionRef": "propid-1", + "value": { + "_value": "uuid-rel-1" + } + } + }, + "_essential_data": true + }, + "type": "Serving", + "name": "serves", + "omschrijving": "Serving relation", + "documentation": "Serving relation", + "objectId": "uuid-rel-1", + "_propertyMapping": { + "objectId": "Object ID" + }, + "_slug": "uuid-rel-1" + }, + { + "@self": { + "register": 7, + "schema": 12, + "id": "rel-2", + "slug": "rel-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "rel-2", + "section": "relationships", + "model_identifier": "id-model-golden", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "rel-2", + "source": "el-3", + "target": "id-el-4", + ":identifier": "rel-2", + ":source": "el-3", + ":target": "id-el-4", + "xsi:type": "Association" + }, + "_essential_data": true + }, + "type": "Association" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 2, + "saved": 1, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 14, + "id": "org-model-golden", + "slug": "org-model-golden", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "org-model-golden", + "section": "organization", + "model_identifier": "id-model-golden", + "name": "Organizations", + "xml": { + "item": [ + { + "label": { + "_xml__lang": "nl", + "_attributes": { + "xml:lang": "nl" + }, + "_value": "Business" + }, + "item": [ + { + "_identifierRef": "id-el-1", + "_attributes": { + "identifierRef": "id-el-1", + ":identifierRef": "id-el-1" + }, + "___identifierRef": "id-el-1" + }, + { + "label": { + "_value": "Nested" + }, + "item": { + "_identifierRef": "id-el-2", + "_attributes": { + "identifierRef": "id-el-2", + ":identifierRef": "id-el-2" + }, + "___identifierRef": "id-el-2" + } + } + ] + }, + { + "label": { + "_value": "Relations" + }, + "item": { + "_identifierRef": "id-rel-1", + "_attributes": { + "identifierRef": "id-rel-1", + ":identifierRef": "id-rel-1" + }, + "___identifierRef": "id-rel-1" + } + } + ] + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { "register": 7, "schema": 13, "id": "id-view-1", @@ -12625,7 +13230,7 @@ "total_objects_created": 0, "total_objects_updated": 0, "total_objects_deleted": 0, - "total_objects_skipped": null, + "total_objects_unchanged": 16, "total_errors": 0 }, "performance_metrics": { @@ -17741,7 +18346,7 @@ "total_objects_created": 0, "total_objects_updated": 0, "total_objects_deleted": 0, - "total_objects_skipped": null, + "total_objects_unchanged": 54, "total_errors": 0 }, "performance_metrics": { @@ -23107,7 +23712,7 @@ "total_objects_created": 0, "total_objects_updated": 0, "total_objects_deleted": 0, - "total_objects_skipped": null, + "total_objects_unchanged": 51, "total_errors": 0 }, "performance_metrics": { @@ -24125,46 +24730,629 @@ { "@self": { "register": 7, - "schema": 10, - "id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "schema": 10, + "id": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "section": "model", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "xml": { + "propertyDefinitionMap": { + "pd-0": "Renamed 0", + "pd-1": "Prop 1", + "pd-2": "Renamed 2", + "pd-3": "Prop 3", + "pd-4": "Renamed 4", + "pd-5": "Prop 5", + "pd-6": "Renamed 6", + "pd-7": "Prop 7", + "pd-8": "Renamed 8", + "pd-extra": "Extra" + } + }, + ":identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "propertyDefinitionMap": { + "pd-0": "Renamed 0", + "pd-1": "Prop 1", + "pd-2": "Renamed 2", + "pd-3": "Prop 3", + "pd-4": "Renamed 4", + "pd-5": "Prop 5", + "pd-6": "Renamed 6", + "pd-7": "Prop 7", + "pd-8": "Renamed 8", + "pd-extra": "Extra" + } + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-07", + "slug": "el-07", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-07", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-07", + ":identifier": "el-07", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-07" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-07" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-08", + "slug": "el-08", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-08", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-08", + ":identifier": "el-08", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-08" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-08" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-09", + "slug": "el-09", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-09", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-09", + ":identifier": "el-09", + "xsi:type": "Role" + }, + "name": { + "_value": "el-09" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-09" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-10", + "slug": "el-10", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-10", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-10", + ":identifier": "el-10", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-10" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-10" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-11", + "slug": "el-11", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-11", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-11", + ":identifier": "el-11", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-11" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-11" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-12", + "slug": "el-12", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-12", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-12", + ":identifier": "el-12", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-12" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-12" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-13", + "slug": "el-13", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-13", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-13", + ":identifier": "el-13", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-13" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-13" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-14", + "slug": "el-14", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-14", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-14", + ":identifier": "el-14", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-14" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-14" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-15", + "slug": "el-15", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-15", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-15", + ":identifier": "el-15", + "xsi:type": "Role" + }, + "name": { + "_value": "el-15" + }, + "_essential_data": true + }, + "type": "Role", + "name": "el-15" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-16", + "slug": "el-16", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-16", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-16", + ":identifier": "el-16", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-16" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-16" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-17", + "slug": "el-17", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-17", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-17", + ":identifier": "el-17", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-17" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-17" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-18", + "slug": "el-18", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-18", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-18", + ":identifier": "el-18", + "xsi:type": "Changed" + }, + "name": { + "_value": "el-18" + }, + "_essential_data": true + }, + "type": "Changed", + "name": "el-18" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "el-19", + "slug": "el-19", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "el-19", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "el-19", + ":identifier": "el-19", + "xsi:type": "Actor" + }, + "name": { + "_value": "el-19" + }, + "_essential_data": true + }, + "type": "Actor", + "name": "el-19" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-0", + "slug": "new-0", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "section": "model", + "identifier": "new-0", + "section": "elements", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", "xml": { - "propertyDefinitionMap": { - "pd-0": "Renamed 0", - "pd-1": "Prop 1", - "pd-2": "Renamed 2", - "pd-3": "Prop 3", - "pd-4": "Renamed 4", - "pd-5": "Prop 5", - "pd-6": "Renamed 6", - "pd-7": "Prop 7", - "pd-8": "Renamed 8", - "pd-extra": "Extra" - } + "_attributes": { + "identifier": "new-0", + ":identifier": "new-0", + "xsi:type": "Node" + }, + "name": { + "_value": "new-0" + }, + "_essential_data": true }, - ":identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "propertyDefinitionMap": { - "pd-0": "Renamed 0", - "pd-1": "Prop 1", - "pd-2": "Renamed 2", - "pd-3": "Prop 3", - "pd-4": "Renamed 4", - "pd-5": "Prop 5", - "pd-6": "Renamed 6", - "pd-7": "Prop 7", - "pd-8": "Renamed 8", - "pd-extra": "Extra" - } + "type": "Node", + "name": "new-0" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-1", + "slug": "new-1", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-1", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-1", + ":identifier": "new-1", + "xsi:type": "Node" + }, + "name": { + "_value": "new-1" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-1" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-2", + "slug": "new-2", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-2", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-2", + ":identifier": "new-2", + "xsi:type": "Node" + }, + "name": { + "_value": "new-2" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-2" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-3", + "slug": "new-3", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-3", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-3", + ":identifier": "new-3", + "xsi:type": "Node" + }, + "name": { + "_value": "new-3" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-3" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-4", + "slug": "new-4", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-4", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-4", + ":identifier": "new-4", + "xsi:type": "Node" + }, + "name": { + "_value": "new-4" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-4" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "new-5", + "slug": "new-5", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "new-5", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "new-5", + ":identifier": "new-5", + "xsi:type": "Node" + }, + "name": { + "_value": "new-5" + }, + "_essential_data": true + }, + "type": "Node", + "name": "new-5" + }, + { + "@self": { + "register": 7, + "schema": 11, + "id": "dup", + "slug": "dup", + "owner": "importer", + "organisation": "org-default", + "published": "" + }, + "identifier": "dup", + "section": "elements", + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "extracted_at": "", + "xml": { + "_attributes": { + "identifier": "dup", + ":identifier": "dup", + "xsi:type": "Second" + }, + "name": { + "_value": "dup" + }, + "_essential_data": true + }, + "type": "Second", + "name": "dup" } ], "register": 7, - "schema": 10, + "schema": 11, "_rbac": false, "_multitenancy": false, "validation": false, @@ -24175,9 +25363,9 @@ "log.debug", "Schema group saved for magic mapping", { - "schemaId": 10, - "objectCount": 1, - "saved": 0, + "schemaId": 11, + "objectCount": 20, + "saved": 19, "updated": 1 } ], @@ -24188,566 +25376,654 @@ { "@self": { "register": 7, - "schema": 11, - "id": "el-07", - "slug": "el-07", + "schema": 12, + "id": "rel-01", + "slug": "rel-01", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-07", - "section": "elements", + "identifier": "rel-01", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-07", - ":identifier": "el-07", - "xsi:type": "Actor" - }, - "name": { - "_value": "el-07" + "identifier": "rel-01", + "source": "el-01", + "target": "el-02", + ":identifier": "rel-01", + ":source": "el-01", + ":target": "el-02", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Actor", - "name": "el-07" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-08", - "slug": "el-08", + "schema": 12, + "id": "rel-02", + "slug": "rel-02", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-08", - "section": "elements", + "identifier": "rel-02", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-08", - ":identifier": "el-08", - "xsi:type": "Changed" - }, - "name": { - "_value": "el-08" + "identifier": "rel-02", + "source": "el-02", + "target": "el-03", + ":identifier": "rel-02", + ":source": "el-02", + ":target": "el-03", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Changed", - "name": "el-08" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-09", - "slug": "el-09", + "schema": 12, + "id": "rel-03", + "slug": "rel-03", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-09", - "section": "elements", + "identifier": "rel-03", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-09", - ":identifier": "el-09", - "xsi:type": "Role" - }, - "name": { - "_value": "el-09" + "identifier": "rel-03", + "source": "el-03", + "target": "el-05", + ":identifier": "rel-03", + ":source": "el-03", + ":target": "el-05", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Role", - "name": "el-09" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-10", - "slug": "el-10", + "schema": 12, + "id": "rel-04", + "slug": "rel-04", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-10", - "section": "elements", + "identifier": "rel-04", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-10", - ":identifier": "el-10", - "xsi:type": "Changed" - }, - "name": { - "_value": "el-10" + "identifier": "rel-04", + "source": "el-04", + "target": "el-05", + ":identifier": "rel-04", + ":source": "el-04", + ":target": "el-05", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Changed", - "name": "el-10" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-11", - "slug": "el-11", + "schema": 12, + "id": "rel-05", + "slug": "rel-05", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-11", - "section": "elements", + "identifier": "rel-05", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-11", - ":identifier": "el-11", - "xsi:type": "Actor" - }, - "name": { - "_value": "el-11" + "identifier": "rel-05", + "source": "el-05", + "target": "el-06", + ":identifier": "rel-05", + ":source": "el-05", + ":target": "el-06", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Actor", - "name": "el-11" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-12", - "slug": "el-12", + "schema": 12, + "id": "rel-06", + "slug": "rel-06", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-12", - "section": "elements", + "identifier": "rel-06", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-12", - ":identifier": "el-12", - "xsi:type": "Changed" - }, - "name": { - "_value": "el-12" + "identifier": "rel-06", + "source": "el-06", + "target": "el-08", + ":identifier": "rel-06", + ":source": "el-06", + ":target": "el-08", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Changed", - "name": "el-12" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-13", - "slug": "el-13", + "schema": 12, + "id": "rel-07", + "slug": "rel-07", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-13", - "section": "elements", + "identifier": "rel-07", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-13", - ":identifier": "el-13", - "xsi:type": "Actor" - }, - "name": { - "_value": "el-13" + "identifier": "rel-07", + "source": "el-07", + "target": "el-08", + ":identifier": "rel-07", + ":source": "el-07", + ":target": "el-08", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Actor", - "name": "el-13" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-14", - "slug": "el-14", + "schema": 12, + "id": "rel-08", + "slug": "rel-08", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-14", - "section": "elements", + "identifier": "rel-08", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-14", - ":identifier": "el-14", - "xsi:type": "Changed" - }, - "name": { - "_value": "el-14" + "identifier": "rel-08", + "source": "el-08", + "target": "el-09", + ":identifier": "rel-08", + ":source": "el-08", + ":target": "el-09", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Changed", - "name": "el-14" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-15", - "slug": "el-15", + "schema": 12, + "id": "rel-09", + "slug": "rel-09", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-15", - "section": "elements", + "identifier": "rel-09", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-15", - ":identifier": "el-15", - "xsi:type": "Role" - }, - "name": { - "_value": "el-15" + "identifier": "rel-09", + "source": "el-09", + "target": "el-11", + ":identifier": "rel-09", + ":source": "el-09", + ":target": "el-11", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Role", - "name": "el-15" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-16", - "slug": "el-16", + "schema": 12, + "id": "rel-10", + "slug": "rel-10", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-16", - "section": "elements", + "identifier": "rel-10", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-16", - ":identifier": "el-16", - "xsi:type": "Changed" - }, - "name": { - "_value": "el-16" + "identifier": "rel-10", + "source": "el-10", + "target": "el-11", + ":identifier": "rel-10", + ":source": "el-10", + ":target": "el-11", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Changed", - "name": "el-16" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-17", - "slug": "el-17", + "schema": 12, + "id": "rel-11", + "slug": "rel-11", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-17", - "section": "elements", + "identifier": "rel-11", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-17", - ":identifier": "el-17", - "xsi:type": "Actor" - }, - "name": { - "_value": "el-17" + "identifier": "rel-11", + "source": "el-11", + "target": "el-12", + ":identifier": "rel-11", + ":source": "el-11", + ":target": "el-12", + "xsi:type": "Serving" }, "_essential_data": true }, - "type": "Actor", - "name": "el-17" + "type": "Serving" }, { "@self": { "register": 7, - "schema": 11, - "id": "el-18", - "slug": "el-18", + "schema": 12, + "id": "rel-new", + "slug": "rel-new", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-18", - "section": "elements", + "identifier": "rel-new", + "section": "relationships", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "el-18", - ":identifier": "el-18", - "xsi:type": "Changed" - }, - "name": { - "_value": "el-18" + "identifier": "rel-new", + "source": "x", + "target": "y", + ":identifier": "rel-new", + ":source": "x", + ":target": "y", + "xsi:type": "Access" }, "_essential_data": true }, - "type": "Changed", - "name": "el-18" - }, + "type": "Access" + } + ], + "register": 7, + "schema": 12, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 12, + "objectCount": 12, + "saved": 11, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ { "@self": { "register": 7, - "schema": 11, - "id": "el-19", - "slug": "el-19", + "schema": 14, + "id": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "slug": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "el-19", - "section": "elements", + "identifier": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "section": "organization", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", + "name": "Organizations", "xml": { - "_attributes": { - "identifier": "el-19", - ":identifier": "el-19", - "xsi:type": "Actor" - }, - "name": { - "_value": "el-19" - }, - "_essential_data": true - }, - "type": "Actor", - "name": "el-19" - }, + "item": { + "label": { + "_value": "Root" + }, + "item": [ + { + "_identifierRef": "el-03", + "_attributes": { + "identifierRef": "el-03", + ":identifierRef": "el-03" + }, + "___identifierRef": "el-03" + }, + { + "_identifierRef": "el-04", + "_attributes": { + "identifierRef": "el-04", + ":identifierRef": "el-04" + }, + "___identifierRef": "el-04" + }, + { + "_identifierRef": "el-05", + "_attributes": { + "identifierRef": "el-05", + ":identifierRef": "el-05" + }, + "___identifierRef": "el-05" + }, + { + "_identifierRef": "el-06", + "_attributes": { + "identifierRef": "el-06", + ":identifierRef": "el-06" + }, + "___identifierRef": "el-06" + }, + { + "_identifierRef": "el-07", + "_attributes": { + "identifierRef": "el-07", + ":identifierRef": "el-07" + }, + "___identifierRef": "el-07" + }, + { + "_identifierRef": "el-08", + "_attributes": { + "identifierRef": "el-08", + ":identifierRef": "el-08" + }, + "___identifierRef": "el-08" + }, + { + "_identifierRef": "el-09", + "_attributes": { + "identifierRef": "el-09", + ":identifierRef": "el-09" + }, + "___identifierRef": "el-09" + }, + { + "_identifierRef": "new-0", + "_attributes": { + "identifierRef": "new-0", + ":identifierRef": "new-0" + }, + "___identifierRef": "new-0" + } + ] + } + } + } + ], + "register": 7, + "schema": 14, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 14, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ { "@self": { "register": 7, - "schema": 11, - "id": "new-0", - "slug": "new-0", + "schema": 13, + "id": "view-2", + "slug": "view-2", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "new-0", - "section": "elements", + "identifier": "view-2", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "new-0", - ":identifier": "new-0", - "xsi:type": "Node" + "identifier": "view-2", + ":identifier": "view-2" }, "name": { - "_value": "new-0" + "_value": "View 2" }, "_essential_data": true }, - "type": "Node", - "name": "new-0" + "name": "View 2" }, { "@self": { "register": 7, - "schema": 11, - "id": "new-1", - "slug": "new-1", + "schema": 13, + "id": "view-3", + "slug": "view-3", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "new-1", - "section": "elements", + "identifier": "view-3", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "new-1", - ":identifier": "new-1", - "xsi:type": "Node" + "identifier": "view-3", + ":identifier": "view-3" }, "name": { - "_value": "new-1" + "_value": "View 3" }, "_essential_data": true }, - "type": "Node", - "name": "new-1" + "name": "View 3" }, { "@self": { "register": 7, - "schema": 11, - "id": "new-2", - "slug": "new-2", + "schema": 13, + "id": "view-4", + "slug": "view-4", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "new-2", - "section": "elements", + "identifier": "view-4", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "new-2", - ":identifier": "new-2", - "xsi:type": "Node" + "identifier": "view-4", + ":identifier": "view-4" }, "name": { - "_value": "new-2" + "_value": "View 4" }, "_essential_data": true }, - "type": "Node", - "name": "new-2" + "name": "View 4" }, { "@self": { "register": 7, - "schema": 11, - "id": "new-3", - "slug": "new-3", + "schema": 13, + "id": "view-5", + "slug": "view-5", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "new-3", - "section": "elements", + "identifier": "view-5", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "new-3", - ":identifier": "new-3", - "xsi:type": "Node" + "identifier": "view-5", + ":identifier": "view-5" }, "name": { - "_value": "new-3" + "_value": "View 5" }, "_essential_data": true }, - "type": "Node", - "name": "new-3" + "name": "View 5" }, { "@self": { "register": 7, - "schema": 11, - "id": "new-4", - "slug": "new-4", + "schema": 13, + "id": "view-6", + "slug": "view-6", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "new-4", - "section": "elements", + "identifier": "view-6", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "new-4", - ":identifier": "new-4", - "xsi:type": "Node" + "identifier": "view-6", + ":identifier": "view-6" }, "name": { - "_value": "new-4" + "_value": "View 6" }, "_essential_data": true }, - "type": "Node", - "name": "new-4" + "name": "View 6" }, { "@self": { "register": 7, - "schema": 11, - "id": "new-5", - "slug": "new-5", + "schema": 13, + "id": "view-7", + "slug": "view-7", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "new-5", - "section": "elements", + "identifier": "view-7", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "new-5", - ":identifier": "new-5", - "xsi:type": "Node" + "identifier": "view-7", + ":identifier": "view-7" }, "name": { - "_value": "new-5" + "_value": "View 7" }, "_essential_data": true }, - "type": "Node", - "name": "new-5" + "name": "View 7" }, { "@self": { "register": 7, - "schema": 11, - "id": "dup", - "slug": "dup", + "schema": 13, + "id": "view-noname", + "slug": "view-noname", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "dup", - "section": "elements", + "identifier": "view-noname", + "section": "views", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "dup", - ":identifier": "dup", - "xsi:type": "Second" - }, - "name": { - "_value": "dup" + "identifier": "view-noname", + ":identifier": "view-noname" }, "_essential_data": true - }, - "type": "Second", - "name": "dup" + } } ], "register": 7, - "schema": 11, + "schema": 13, "_rbac": false, "_multitenancy": false, "validation": false, @@ -24758,9 +26034,9 @@ "log.debug", "Schema group saved for magic mapping", { - "schemaId": 11, - "objectCount": 20, - "saved": 19, + "schemaId": 13, + "objectCount": 7, + "saved": 6, "updated": 1 } ], @@ -24771,342 +26047,266 @@ { "@self": { "register": 7, - "schema": 12, - "id": "rel-01", - "slug": "rel-01", + "schema": 15, + "id": "pd-0", + "slug": "pd-0", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-01", - "section": "relationships", + "identifier": "pd-0", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-01", - "source": "el-01", - "target": "el-02", - ":identifier": "rel-01", - ":source": "el-01", - ":target": "el-02", - "xsi:type": "Serving" + "identifier": "pd-0", + ":identifier": "pd-0" }, - "_essential_data": true - }, - "type": "Serving" - }, - { - "@self": { - "register": 7, - "schema": 12, - "id": "rel-02", - "slug": "rel-02", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "rel-02", - "section": "relationships", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "rel-02", - "source": "el-02", - "target": "el-03", - ":identifier": "rel-02", - ":source": "el-02", - ":target": "el-03", - "xsi:type": "Serving" + "name": { + "_value": "Renamed 0" }, "_essential_data": true }, - "type": "Serving" + "name": "Renamed 0" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-03", - "slug": "rel-03", + "schema": 15, + "id": "pd-1", + "slug": "pd-1", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-03", - "section": "relationships", + "identifier": "pd-1", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-03", - "source": "el-03", - "target": "el-05", - ":identifier": "rel-03", - ":source": "el-03", - ":target": "el-05", - "xsi:type": "Serving" + "identifier": "pd-1", + ":identifier": "pd-1" }, - "_essential_data": true - }, - "type": "Serving" - }, - { - "@self": { - "register": 7, - "schema": 12, - "id": "rel-04", - "slug": "rel-04", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "rel-04", - "section": "relationships", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "rel-04", - "source": "el-04", - "target": "el-05", - ":identifier": "rel-04", - ":source": "el-04", - ":target": "el-05", - "xsi:type": "Serving" + "name": { + "_value": "Prop 1" }, "_essential_data": true }, - "type": "Serving" + "name": "Prop 1" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-05", - "slug": "rel-05", + "schema": 15, + "id": "pd-2", + "slug": "pd-2", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-05", - "section": "relationships", + "identifier": "pd-2", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-05", - "source": "el-05", - "target": "el-06", - ":identifier": "rel-05", - ":source": "el-05", - ":target": "el-06", - "xsi:type": "Serving" + "identifier": "pd-2", + ":identifier": "pd-2" + }, + "name": { + "_value": "Renamed 2" }, "_essential_data": true }, - "type": "Serving" + "name": "Renamed 2" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-06", - "slug": "rel-06", + "schema": 15, + "id": "pd-3", + "slug": "pd-3", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-06", - "section": "relationships", + "identifier": "pd-3", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-06", - "source": "el-06", - "target": "el-08", - ":identifier": "rel-06", - ":source": "el-06", - ":target": "el-08", - "xsi:type": "Serving" + "identifier": "pd-3", + ":identifier": "pd-3" + }, + "name": { + "_value": "Prop 3" }, "_essential_data": true }, - "type": "Serving" + "name": "Prop 3" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-07", - "slug": "rel-07", + "schema": 15, + "id": "pd-4", + "slug": "pd-4", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-07", - "section": "relationships", + "identifier": "pd-4", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-07", - "source": "el-07", - "target": "el-08", - ":identifier": "rel-07", - ":source": "el-07", - ":target": "el-08", - "xsi:type": "Serving" + "identifier": "pd-4", + ":identifier": "pd-4" + }, + "name": { + "_value": "Renamed 4" }, "_essential_data": true }, - "type": "Serving" + "name": "Renamed 4" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-08", - "slug": "rel-08", + "schema": 15, + "id": "pd-5", + "slug": "pd-5", "owner": "importer", "organisation": "org-default", "published": "" - }, - "identifier": "rel-08", - "section": "relationships", + }, + "identifier": "pd-5", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-08", - "source": "el-08", - "target": "el-09", - ":identifier": "rel-08", - ":source": "el-08", - ":target": "el-09", - "xsi:type": "Serving" + "identifier": "pd-5", + ":identifier": "pd-5" + }, + "name": { + "_value": "Prop 5" }, "_essential_data": true }, - "type": "Serving" + "name": "Prop 5" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-09", - "slug": "rel-09", + "schema": 15, + "id": "pd-6", + "slug": "pd-6", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-09", - "section": "relationships", + "identifier": "pd-6", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-09", - "source": "el-09", - "target": "el-11", - ":identifier": "rel-09", - ":source": "el-09", - ":target": "el-11", - "xsi:type": "Serving" + "identifier": "pd-6", + ":identifier": "pd-6" + }, + "name": { + "_value": "Renamed 6" }, "_essential_data": true }, - "type": "Serving" + "name": "Renamed 6" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-10", - "slug": "rel-10", + "schema": 15, + "id": "pd-7", + "slug": "pd-7", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-10", - "section": "relationships", + "identifier": "pd-7", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-10", - "source": "el-10", - "target": "el-11", - ":identifier": "rel-10", - ":source": "el-10", - ":target": "el-11", - "xsi:type": "Serving" + "identifier": "pd-7", + ":identifier": "pd-7" + }, + "name": { + "_value": "Prop 7" }, "_essential_data": true }, - "type": "Serving" + "name": "Prop 7" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-11", - "slug": "rel-11", + "schema": 15, + "id": "pd-8", + "slug": "pd-8", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-11", - "section": "relationships", + "identifier": "pd-8", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-11", - "source": "el-11", - "target": "el-12", - ":identifier": "rel-11", - ":source": "el-11", - ":target": "el-12", - "xsi:type": "Serving" + "identifier": "pd-8", + ":identifier": "pd-8" + }, + "name": { + "_value": "Renamed 8" }, "_essential_data": true }, - "type": "Serving" + "name": "Renamed 8" }, { "@self": { "register": 7, - "schema": 12, - "id": "rel-new", - "slug": "rel-new", + "schema": 15, + "id": "pd-extra", + "slug": "pd-extra", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "rel-new", - "section": "relationships", + "identifier": "pd-extra", + "section": "property_definitions", "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", "extracted_at": "", "xml": { "_attributes": { - "identifier": "rel-new", - "source": "x", - "target": "y", - ":identifier": "rel-new", - ":source": "x", - ":target": "y", - "xsi:type": "Access" + "identifier": "pd-extra", + ":identifier": "pd-extra" + }, + "name": { + "_value": "Extra" }, "_essential_data": true }, - "type": "Access" + "name": "Extra" } ], "register": 7, - "schema": 12, + "schema": 15, "_rbac": false, "_multitenancy": false, "validation": false, @@ -25115,589 +26315,585 @@ ], [ "log.debug", - "Schema group saved for magic mapping", + "Schema group saved for magic mapping", + { + "schemaId": 15, + "objectCount": 10, + "saved": 9, + "updated": 1 + } + ], + [ + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" + ], + [ + "log.info", + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 + } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] + ], + [ + "log.info", + "[ArchiMate] Using lastSaveResult for statistics", + { + "saved_count": 45, + "updated_count": 6, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" + ] + } + ], + [ + "log.info", + "[ArchiMate] Statistics summary calculated", + { + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 51, + "total_errors": 0 + }, + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 51, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } + } + ], + [ + "log.info", + "ArchiMate XML import completed successfully", + { + "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", + "model_exists": false, + "imported_objects": 0, + "round_trip_fidelity": "enabled" + } + ] + ] + }, + "optimized noorg.xml []": { + "result": { + "success": true, + "file_info": { + "name": "noorg.xml", + "size": 563 + }, + "performance_metrics": { + "total_time_seconds": "", + "items_per_second": "", + "objects_processed": 4, + "timing_breakdown": { + "cache_initialization_seconds": "", + "xml_parsing_seconds": "", + "memory_cleanup_seconds": "", + "model_identifier_extraction_seconds": "", + "data_transformation_seconds": "", + "database_save_seconds": "" + }, + "save_operation_breakdown": { + "total_save_seconds": "", + "service_init_seconds": "", + "gemma_processing_seconds": "", + "batch_processing_seconds": "", + "objects_saved": 4, + "save_rate_objects_per_second": "" + }, + "memory_usage": "", + "processing_rates": { + "xml_parse_objects_per_second": "", + "transform_objects_per_second": "", + "save_objects_per_second": "" + } + }, + "statistics": { + "elements": { + "created": 0, + "updated": 2, + "unchanged": 0, + "errors": [] + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": [] + }, + "views": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "property_definitions": { + "created": 0, + "updated": 1, + "unchanged": 0, + "errors": [] + }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 4, + "total_objects_deleted": 0, + "total_objects_unchanged": 0, + "total_errors": 0 + } + }, + "detailed_errors": { + "total_count": 0, + "by_section": [], + "omschrijving": [] + } + }, + "calls": [ + [ + "log.info", + "GEMMA IMPORT DEBUG: Starting optimized import", + { + "file_path": "/tests/Unit/Service/../../fixtures/archimate/noorg.xml", + "fileName": "noorg.xml" + } + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.info", + "Getting AMEF configuration", + [] + ], + [ + "log.debug", + "Garbage collection completed", { - "schemaId": 12, - "objectCount": 12, - "saved": 11, - "updated": 1 + "cycles_collected": "" } ], [ - "objects.saveObjects", + "log.debug", + "Extracting model identifier from XML data", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 14, - "id": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "slug": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "org-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "section": "organization", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "name": "Organizations", - "xml": { - "item": { - "label": { - "_value": "Root" - }, - "item": [ - { - "_identifierRef": "el-03", - "_attributes": { - "identifierRef": "el-03", - ":identifierRef": "el-03" - }, - "___identifierRef": "el-03" - }, - { - "_identifierRef": "el-04", - "_attributes": { - "identifierRef": "el-04", - ":identifierRef": "el-04" - }, - "___identifierRef": "el-04" - }, - { - "_identifierRef": "el-05", - "_attributes": { - "identifierRef": "el-05", - ":identifierRef": "el-05" - }, - "___identifierRef": "el-05" - }, - { - "_identifierRef": "el-06", - "_attributes": { - "identifierRef": "el-06", - ":identifierRef": "el-06" - }, - "___identifierRef": "el-06" - }, - { - "_identifierRef": "el-07", - "_attributes": { - "identifierRef": "el-07", - ":identifierRef": "el-07" - }, - "___identifierRef": "el-07" - }, - { - "_identifierRef": "el-08", - "_attributes": { - "identifierRef": "el-08", - ":identifierRef": "el-08" - }, - "___identifierRef": "el-08" - }, - { - "_identifierRef": "el-09", - "_attributes": { - "identifierRef": "el-09", - ":identifierRef": "el-09" - }, - "___identifierRef": "el-09" - }, - { - "_identifierRef": "new-0", - "_attributes": { - "identifierRef": "new-0", - ":identifierRef": "new-0" - }, - "___identifierRef": "new-0" - } - ] - } - } - } - ], - "register": 7, - "schema": 14, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "xml_keys": [ + "_identifier", + "_attributes", + "___identifier", + "elements", + "relationships", + "propertyDefinitions", + "views" + ] + } + ], + [ + "log.info", + "Found model identifier in root attributes", + { + "identifier": "big" + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Built elements lookup for view processing", + { + "total_elements": 1, + "sample_identifiers": [ + "big" + ] + } + ], + [ + "log.info", + "Pre-built all lookups", + { + "cache_build_time": "", + "elements_count": 1, + "relationships_count": 0, + "organizations_count": 0, + "memory_usage_mb": "" + } + ], + [ + "log.debug", + "SPEED: Bulk processing elements", + { + "item_count": 1 + } + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "SPEED: Bulk processing property_definitions", + { + "item_count": 1 } ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], [ "log.debug", - "Schema group saved for magic mapping", + "Built SPEED elements lookup from raw data", { - "schemaId": 14, - "objectCount": 1, - "saved": 0, - "updated": 1 + "total_elements": 1, + "sample_identifiers": [ + "el-00" + ] } ], [ - "objects.saveObjects", + "log.info", + "SPEED MODE: Processing views with maximum optimizations", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-2", - "slug": "view-2", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-2", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-2", - ":identifier": "view-2" - }, - "name": { - "_value": "View 2" - }, - "_essential_data": true - }, - "name": "View 2" - }, - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-3", - "slug": "view-3", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-3", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-3", - ":identifier": "view-3" - }, - "name": { - "_value": "View 3" - }, - "_essential_data": true - }, - "name": "View 3" - }, - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-4", - "slug": "view-4", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-4", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-4", - ":identifier": "view-4" - }, - "name": { - "_value": "View 4" - }, - "_essential_data": true - }, - "name": "View 4" - }, - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-5", - "slug": "view-5", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-5", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-5", - ":identifier": "view-5" - }, - "name": { - "_value": "View 5" - }, - "_essential_data": true - }, - "name": "View 5" - }, - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-6", - "slug": "view-6", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-6", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-6", - ":identifier": "view-6" - }, - "name": { - "_value": "View 6" - }, - "_essential_data": true - }, - "name": "View 6" - }, - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-7", - "slug": "view-7", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-7", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-7", - ":identifier": "view-7" - }, - "name": { - "_value": "View 7" - }, - "_essential_data": true - }, - "name": "View 7" - }, - { - "@self": { - "register": 7, - "schema": 13, - "id": "view-noname", - "slug": "view-noname", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "view-noname", - "section": "views", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "view-noname", - ":identifier": "view-noname" - }, - "_essential_data": true - } - } - ], - "register": 7, - "schema": 13, - "_rbac": false, - "_multitenancy": false, - "validation": false, - "events": false + "elements_available": 1 + } + ], + [ + "log.debug", + "SPEED: Optimized element references", + { + "total_elements": 1, + "referenced_elements": 0, + "memory_savings_percent": "" + } + ], + [ + "settings.getSchemaIdForObjectType", + "view" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], + [ + "log.info", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.info", + "Memory cleanup before database operations", + { + "memory_freed_mb": "", + "gc_cycles_collected": "", + "memory_before_mb": "", + "memory_after_mb": "" + } + ], + [ + "log.info", + "GEMMA IMPORT DEBUG: About to save objects to database", + { + "object_count": 4 + } + ], + [ + "log.debug", + "Objects before save", + { + "total_objects_to_save": 4, + "elements_with_gemmaType": 0 } ], + [ + "log.info", + "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", + [] + ], [ "log.debug", - "Schema group saved for magic mapping", + "GEMMA Type property found", { - "schemaId": 13, - "objectCount": 7, - "saved": 6, - "updated": 1 + "property_name": "type", + "value": "Role", + "object_id": "el-00" } ], [ - "objects.saveObjects", + "log.info", + "GEMMA objects processing complete", { - "objects": [ - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-0", - "slug": "pd-0", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-0", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-0", - ":identifier": "pd-0" - }, - "name": { - "_value": "Renamed 0" - }, - "_essential_data": true - }, - "name": "Renamed 0" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-1", - "slug": "pd-1", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-1", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-1", - ":identifier": "pd-1" - }, - "name": { - "_value": "Prop 1" - }, - "_essential_data": true - }, - "name": "Prop 1" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-2", - "slug": "pd-2", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-2", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-2", - ":identifier": "pd-2" - }, - "name": { - "_value": "Renamed 2" - }, - "_essential_data": true - }, - "name": "Renamed 2" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-3", - "slug": "pd-3", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-3", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-3", - ":identifier": "pd-3" - }, - "name": { - "_value": "Prop 3" - }, - "_essential_data": true - }, - "name": "Prop 3" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-4", - "slug": "pd-4", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-4", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-4", - ":identifier": "pd-4" - }, - "name": { - "_value": "Renamed 4" - }, - "_essential_data": true - }, - "name": "Renamed 4" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-5", - "slug": "pd-5", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-5", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-5", - ":identifier": "pd-5" - }, - "name": { - "_value": "Prop 5" - }, - "_essential_data": true - }, - "name": "Prop 5" - }, - { - "@self": { - "register": 7, - "schema": 15, - "id": "pd-6", - "slug": "pd-6", - "owner": "importer", - "organisation": "org-default", - "published": "" - }, - "identifier": "pd-6", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", - "xml": { - "_attributes": { - "identifier": "pd-6", - ":identifier": "pd-6" - }, - "name": { - "_value": "Renamed 6" - }, - "_essential_data": true - }, - "name": "Renamed 6" - }, + "total_elements": 1, + "elements_with_gemma_type": 1, + "gemma_type_variations": { + "Role": 1 + }, + "referentiecomponenten_count": 0, + "standaarden_count": 0, + "standaardversies_count": 0, + "processed_relationships": 0, + "standaardversie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA Referentiecomponent-Standaard processing completed", + { + "referentiecomponenten_enhanced": 0, + "total_referentiecomponenten": 0, + "total_relationships_processed": 0 + } + ], + [ + "log.info", + "GEMMA StandaardVersie-Standaard processing completed", + { + "standaardversies_enhanced": 0, + "total_standaardversies": 0, + "total_versie_relationships": 0 + } + ], + [ + "log.info", + "GEMMA ReferentieComponent-StandaardVersies processing completed", + { + "referentiecomponenten_with_versies": 0, + "total_referentiecomponenten": 0, + "standaard_to_versies_mappings": 0 + } + ], + [ + "log.info", + "ArchiMate import: Grouped objects by schema for magic mapping", + { + "schemaCount": 4, + "schemas": { + "10": 1, + "11": 1, + "15": 1, + "13": 1 + } + } + ], + [ + "objects.saveObjects", + { + "objects": [ { "@self": { "register": 7, - "schema": 15, - "id": "pd-7", - "slug": "pd-7", + "schema": 10, + "id": "big", "owner": "importer", "organisation": "org-default", "published": "" }, - "identifier": "pd-7", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", + "identifier": "big", + "section": "model", + "model_identifier": "big", "xml": { - "_attributes": { - "identifier": "pd-7", - ":identifier": "pd-7" - }, - "name": { - "_value": "Prop 7" - }, - "_essential_data": true + "name": "", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Prop 0" + } }, - "name": "Prop 7" - }, + "name": "", + "documentation": "", + "properties": [], + "propertyDefinitionMap": { + "pd-0": "Prop 0" + }, + ":identifier": "big" + } + ], + "register": 7, + "schema": 10, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 10, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ { "@self": { "register": 7, - "schema": 15, - "id": "pd-8", - "slug": "pd-8", + "schema": 11, + "id": "el-00", "owner": "importer", "organisation": "org-default", - "published": "" + "published": "", + "slug": "el-00" }, - "identifier": "pd-8", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", + "identifier": "el-00", + "section": "element", + "model_identifier": "big", "xml": { "_attributes": { - "identifier": "pd-8", - ":identifier": "pd-8" + "identifier": "el-00", + ":identifier": "el-00", + "xsi:type": "Role" }, "name": { - "_value": "Renamed 8" + "_value": "el-00" }, "_essential_data": true }, - "name": "Renamed 8" - }, + "name": "el-00", + "type": "Role" + } + ], + "register": 7, + "schema": 11, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false + } + ], + [ + "log.debug", + "Schema group saved for magic mapping", + { + "schemaId": 11, + "objectCount": 1, + "saved": 0, + "updated": 1 + } + ], + [ + "objects.saveObjects", + { + "objects": [ { "@self": { "register": 7, "schema": 15, - "id": "pd-extra", - "slug": "pd-extra", + "id": "pd-0", "owner": "importer", "organisation": "org-default", - "published": "" + "published": "", + "slug": "pd-0" }, - "identifier": "pd-extra", - "section": "property_definitions", - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "extracted_at": "", + "identifier": "pd-0", + "section": "property_definition", + "model_identifier": "big", "xml": { "_attributes": { - "identifier": "pd-extra", - ":identifier": "pd-extra" + "identifier": "pd-0", + ":identifier": "pd-0" }, "name": { - "_value": "Extra" + "_value": "Prop 0" }, "_essential_data": true }, - "name": "Extra" + "name": "Prop 0" } ], "register": 7, @@ -25713,149 +26909,101 @@ "Schema group saved for magic mapping", { "schemaId": 15, - "objectCount": 10, - "saved": 9, + "objectCount": 1, + "saved": 0, "updated": 1 } ], [ - "db.executeQuery", - "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" - ], - [ - "log.info", - "fixStandaardVersieUuids: Built identifier->uuid mapping", + "objects.saveObjects", { - "standaard_count": 0 + "objects": [ + { + "@self": { + "register": 7, + "schema": 13, + "id": "view-0", + "owner": "importer", + "organisation": "org-default", + "published": "", + "slug": "view-0" + }, + "identifier": "view-0", + "section": "view", + "model_identifier": "big", + "xml": { + "_attributes": { + "identifier": "view-0", + ":identifier": "view-0" + }, + "name": { + "_value": "View 0" + }, + "_essential_data": true + }, + "name": "View 0" + } + ], + "register": 7, + "schema": 13, + "_rbac": false, + "_multitenancy": false, + "validation": false, + "events": false } ], [ - "log.warning", - "fixStandaardVersieUuids: No Standaarden found to map", - [] - ], - [ - "log.info", - "[ArchiMate] Using lastSaveResult for statistics", + "log.debug", + "Schema group saved for magic mapping", { - "saved_count": 45, - "updated_count": 6, - "unchanged_count": 0, - "invalid_count": 0, - "keys_present": [ - "saved", - "updated", - "unchanged", - "invalid", - "countsBySchema" - ] + "schemaId": 13, + "objectCount": 1, + "saved": 0, + "updated": 1 } ], [ - "log.info", - "[ArchiMate] Statistics summary calculated", - { - "omschrijving": { - "total_objects_created": 0, - "total_objects_updated": 0, - "total_objects_deleted": 0, - "total_objects_unchanged": 51, - "total_errors": 0 - }, - "section_counts": { - "elements": { - "created": 0, - "updated": 0, - "unchanged": 51, - "errors": 0 - }, - "organizations": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": 0 - }, - "relationships": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": 0 - }, - "views": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": 0 - }, - "property_definitions": { - "created": 0, - "updated": 0, - "unchanged": 0, - "errors": 0 - } - } - } + "db.executeQuery", + "SELECT _uuid, identifier FROM oc_openregister_table_7_11 WHERE gemma_type = 'Standaard' AND identifier IS NOT NULL" ], [ "log.info", - "ArchiMate XML import completed successfully", - { - "model_identifier": "id-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-export", - "model_exists": false, - "imported_objects": 0, - "round_trip_fidelity": "enabled" + "fixStandaardVersieUuids: Built identifier->uuid mapping", + { + "standaard_count": 0 } + ], + [ + "log.warning", + "fixStandaardVersieUuids: No Standaarden found to map", + [] ] ] }, - "optimized noorg.xml []": { + "classic noorg.xml []": { "result": { "success": true, "file_info": { "name": "noorg.xml", - "size": 563 - }, - "performance_metrics": { - "total_time_seconds": "", - "items_per_second": "", - "objects_processed": 4, - "timing_breakdown": { - "cache_initialization_seconds": "", - "xml_parsing_seconds": "", - "memory_cleanup_seconds": "", - "model_identifier_extraction_seconds": "", - "data_transformation_seconds": "", - "database_save_seconds": "" - }, - "save_operation_breakdown": { - "total_save_seconds": "", - "service_init_seconds": "", - "gemma_processing_seconds": "", - "batch_processing_seconds": "", - "objects_saved": 4, - "save_rate_objects_per_second": "" - }, - "memory_usage": "", - "processing_rates": { - "xml_parse_objects_per_second": "", - "transform_objects_per_second": "", - "save_objects_per_second": "" - } + "size": 563, + "mime_type": "text/xml" }, + "processing_times": "", + "memory_usage": "", "statistics": { "elements": { "created": 0, - "updated": 2, - "unchanged": 0, + "updated": 0, + "unchanged": 4, "errors": [] }, - "relationships": { + "organizations": { "created": 0, "updated": 0, "unchanged": 0, "errors": [] }, - "organizations": { + "relationships": { "created": 0, "updated": 0, "unchanged": 0, @@ -25863,24 +27011,37 @@ }, "views": { "created": 0, - "updated": 1, + "updated": 0, "unchanged": 0, "errors": [] }, "property_definitions": { "created": 0, - "updated": 1, + "updated": 0, "unchanged": 0, "errors": [] }, "omschrijving": { "total_objects_created": 0, - "total_objects_updated": 4, + "total_objects_updated": 0, "total_objects_deleted": 0, - "total_objects_unchanged": 0, + "total_objects_unchanged": 4, "total_errors": 0 } }, + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 4, + "total_errors": 0 + }, + "performance_metrics": { + "items_per_second": "", + "processing_method": "synchronous_batch_processing", + "batch_size_used": 100, + "dataset_size": 0 + }, "detailed_errors": { "total_count": 0, "by_section": [], @@ -25888,14 +27049,6 @@ } }, "calls": [ - [ - "log.info", - "GEMMA IMPORT DEBUG: Starting optimized import", - { - "file_path": "/tests/Unit/Service/../../fixtures/archimate/noorg.xml", - "fileName": "noorg.xml" - } - ], [ "log.info", "Getting AMEF configuration", @@ -25932,12 +27085,17 @@ [] ], [ - "log.debug", - "Garbage collection completed", + "log.info", + "Step 1: Parsing XML to array for complete data capture", { - "cycles_collected": "" + "filePath": "/tests/Unit/Service/../../fixtures/archimate/noorg.xml" } ], + [ + "log.info", + "Step 2: Extracting model identifier and checking for existing model", + [] + ], [ "log.debug", "Extracting model identifier from XML data", @@ -25960,61 +27118,112 @@ "identifier": "big" } ], + [ + "log.debug", + "Checking if model already exists", + { + "model_identifier": "big" + } + ], [ "log.info", - "Getting default organisation from OrganisationService", + "Getting AMEF configuration", [] ], [ "log.info", - "Got default organisation UUID: org-default", + "Getting AMEF configuration", [] ], [ - "log.debug", - "Built elements lookup for view processing", + "objects.searchObjects", { - "total_elements": 1, - "sample_identifiers": [ - "big" - ] + "@self": { + "register": 7, + "schema": 10 + }, + "archimate_id": "big", + "_limit": 1 } ], [ "log.info", - "Pre-built all lookups", + "Model existence check completed", { - "cache_build_time": "", - "elements_count": 1, - "relationships_count": 0, - "organizations_count": 0, - "memory_usage_mb": "" + "model_identifier": "big", + "exists": false, + "found_count": 0, + "registerId": 7, + "schemaId": 10 + } + ], + [ + "log.info", + "Step 3: Normalizing data structure for JSON blob storage", + [] + ], + [ + "log.info", + "Normalizing ArchiMate data structure for JSON blob storage", + { + "model_identifier": "big" + } + ], + [ + "log.info", + "Property definitions extracted and mapped", + { + "total_properties": 1, + "property_mapping": { + "Prop 0": "prop0" + } } ], [ "log.debug", - "SPEED: Bulk processing elements", + "Extracted model metadata", { - "item_count": 1 + "metadata_keys": [ + "identifier", + ":identifier", + "propertyDefinitionMap" + ], + "has_name": false, + "has_documentation": false } ], [ "log.info", - "Getting default organisation from OrganisationService", - [] + "Data normalization completed", + { + "model_identifier": "big", + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ], + "round_trip_fidelity": "enabled" + } ], [ "log.info", - "Got default organisation UUID: org-default", + "Step 4: Converting to OpenRegister objects with @self structure", [] ], [ - "log.debug", - "SPEED: Bulk processing property_definitions", + "log.info", + "Converting to OpenRegister objects with @self structure", { - "item_count": 1 + "model_identifier": "big" } ], + [ + "log.debug", + "Creating model object from metadata", + [] + ], [ "log.info", "Getting default organisation from OrganisationService", @@ -26026,30 +27235,18 @@ [] ], [ - "log.debug", - "Built SPEED elements lookup from raw data", - { - "total_elements": 1, - "sample_identifiers": [ - "el-00" - ] - } + "settings.getSchemaIdForObjectType", + "element" ], [ "log.info", - "SPEED MODE: Processing views with maximum optimizations", - { - "elements_available": 1 - } + "Getting default organisation from OrganisationService", + [] ], [ - "log.debug", - "SPEED: Optimized element references", - { - "total_elements": 1, - "referenced_elements": 0, - "memory_savings_percent": "" - } + "log.info", + "Got default organisation UUID: org-default", + [] ], [ "settings.getSchemaIdForObjectType", @@ -26065,23 +27262,51 @@ "Got default organisation UUID: org-default", [] ], + [ + "settings.getSchemaIdForObjectType", + "property_definition" + ], + [ + "log.info", + "Getting default organisation from OrganisationService", + [] + ], [ "log.info", - "Memory cleanup before database operations", + "Got default organisation UUID: org-default", + [] + ], + [ + "log.debug", + "Sections processed", { - "memory_freed_mb": "", - "gc_cycles_collected": "", - "memory_before_mb": "", - "memory_after_mb": "" + "elements": 1, + "relationships": 0, + "organizations": 0, + "views": 1, + "property_definitions": 1 } ], [ "log.info", - "GEMMA IMPORT DEBUG: About to save objects to database", + "Conversion to OpenRegister objects completed", { - "object_count": 4 + "model_identifier": "big", + "total_objects": 4, + "sections_processed": [ + "elements", + "relationships", + "organizations", + "views", + "property_definitions" + ] } ], + [ + "log.info", + "Step 5: Saving objects to database using ObjectService::saveObjects", + [] + ], [ "log.debug", "Objects before save", @@ -26095,24 +27320,13 @@ "Processing GEMMA Referentiecomponent-Standaard and StandaardVersie relationships", [] ], - [ - "log.debug", - "GEMMA Type property found", - { - "property_name": "type", - "value": "Role", - "object_id": "el-00" - } - ], [ "log.info", "GEMMA objects processing complete", { - "total_elements": 1, - "elements_with_gemma_type": 1, - "gemma_type_variations": { - "Role": 1 - }, + "total_elements": 0, + "elements_with_gemma_type": 0, + "gemma_type_variations": [], "referentiecomponenten_count": 0, "standaarden_count": 0, "standaardversies_count": 0, @@ -26155,8 +27369,8 @@ "schemas": { "10": 1, "11": 1, - "15": 1, - "13": 1 + "13": 1, + "15": 1 } } ], @@ -26177,20 +27391,14 @@ "section": "model", "model_identifier": "big", "xml": { - "name": "", - "documentation": "", - "properties": [], "propertyDefinitionMap": { "pd-0": "Prop 0" } }, - "name": "", - "documentation": "", - "properties": [], + ":identifier": "big", "propertyDefinitionMap": { "pd-0": "Prop 0" - }, - ":identifier": "big" + } } ], "register": 7, @@ -26220,14 +27428,15 @@ "register": 7, "schema": 11, "id": "el-00", + "slug": "el-00", "owner": "importer", "organisation": "org-default", - "published": "", - "slug": "el-00" + "published": "" }, "identifier": "el-00", - "section": "element", + "section": "elements", "model_identifier": "big", + "extracted_at": "", "xml": { "_attributes": { "identifier": "el-00", @@ -26239,8 +27448,8 @@ }, "_essential_data": true }, - "name": "el-00", - "type": "Role" + "type": "Role", + "name": "el-00" } ], "register": 7, @@ -26268,31 +27477,32 @@ { "@self": { "register": 7, - "schema": 15, - "id": "pd-0", + "schema": 13, + "id": "view-0", + "slug": "view-0", "owner": "importer", "organisation": "org-default", - "published": "", - "slug": "pd-0" + "published": "" }, - "identifier": "pd-0", - "section": "property_definition", + "identifier": "view-0", + "section": "views", "model_identifier": "big", + "extracted_at": "", "xml": { "_attributes": { - "identifier": "pd-0", - ":identifier": "pd-0" + "identifier": "view-0", + ":identifier": "view-0" }, "name": { - "_value": "Prop 0" + "_value": "View 0" }, "_essential_data": true }, - "name": "Prop 0" + "name": "View 0" } ], "register": 7, - "schema": 15, + "schema": 13, "_rbac": false, "_multitenancy": false, "validation": false, @@ -26303,7 +27513,7 @@ "log.debug", "Schema group saved for magic mapping", { - "schemaId": 15, + "schemaId": 13, "objectCount": 1, "saved": 0, "updated": 1 @@ -26316,31 +27526,32 @@ { "@self": { "register": 7, - "schema": 13, - "id": "view-0", + "schema": 15, + "id": "pd-0", + "slug": "pd-0", "owner": "importer", "organisation": "org-default", - "published": "", - "slug": "view-0" + "published": "" }, - "identifier": "view-0", - "section": "view", + "identifier": "pd-0", + "section": "property_definitions", "model_identifier": "big", + "extracted_at": "", "xml": { "_attributes": { - "identifier": "view-0", - ":identifier": "view-0" + "identifier": "pd-0", + ":identifier": "pd-0" }, "name": { - "_value": "View 0" + "_value": "Prop 0" }, "_essential_data": true }, - "name": "View 0" + "name": "Prop 0" } ], "register": 7, - "schema": 13, + "schema": 15, "_rbac": false, "_multitenancy": false, "validation": false, @@ -26351,7 +27562,7 @@ "log.debug", "Schema group saved for magic mapping", { - "schemaId": 13, + "schemaId": 15, "objectCount": 1, "saved": 0, "updated": 1 @@ -26372,156 +27583,77 @@ "log.warning", "fixStandaardVersieUuids: No Standaarden found to map", [] - ] - ] - }, - "classic noorg.xml []": { - "result": { - "escaped": "TypeError", - "message": "OCA\\Stackiq\\Service\\ArchiMateImportService::extractIdentifier(): Argument #1 ($item) must be of type array, string given," - }, - "calls": [ - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] ], [ "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Step 1: Parsing XML to array for complete data capture", - { - "filePath": "/tests/Unit/Service/../../fixtures/archimate/noorg.xml" - } - ], - [ - "log.info", - "Step 2: Extracting model identifier and checking for existing model", - [] - ], - [ - "log.debug", - "Extracting model identifier from XML data", + "[ArchiMate] Using lastSaveResult for statistics", { - "xml_keys": [ - "_identifier", - "_attributes", - "___identifier", - "elements", - "relationships", - "propertyDefinitions", - "views" + "saved_count": 0, + "updated_count": 4, + "unchanged_count": 0, + "invalid_count": 0, + "keys_present": [ + "saved", + "updated", + "unchanged", + "invalid", + "countsBySchema" ] } ], [ "log.info", - "Found model identifier in root attributes", - { - "identifier": "big" - } - ], - [ - "log.debug", - "Checking if model already exists", - { - "model_identifier": "big" - } - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "log.info", - "Getting AMEF configuration", - [] - ], - [ - "objects.searchObjects", + "[ArchiMate] Statistics summary calculated", { - "@self": { - "register": 7, - "schema": 10 + "omschrijving": { + "total_objects_created": 0, + "total_objects_updated": 0, + "total_objects_deleted": 0, + "total_objects_unchanged": 4, + "total_errors": 0 }, - "archimate_id": "big", - "_limit": 1 + "section_counts": { + "elements": { + "created": 0, + "updated": 0, + "unchanged": 4, + "errors": 0 + }, + "organizations": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "relationships": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "views": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + }, + "property_definitions": { + "created": 0, + "updated": 0, + "unchanged": 0, + "errors": 0 + } + } } ], [ "log.info", - "Model existence check completed", + "ArchiMate XML import completed successfully", { "model_identifier": "big", - "exists": false, - "found_count": 0, - "registerId": 7, - "schemaId": 10 - } - ], - [ - "log.info", - "Step 3: Normalizing data structure for JSON blob storage", - [] - ], - [ - "log.info", - "Normalizing ArchiMate data structure for JSON blob storage", - { - "model_identifier": "big" - } - ], - [ - "log.info", - "Property definitions extracted and mapped", - { - "total_properties": 1, - "property_mapping": { - "Prop 0": "prop0" - } - } - ], - [ - "log.debug", - "Extracted model metadata", - { - "metadata_keys": [ - "identifier", - ":identifier", - "propertyDefinitionMap" - ], - "has_name": false, - "has_documentation": false + "model_exists": false, + "imported_objects": 0, + "round_trip_fidelity": "enabled" } ] ]