All records which are not saved or useable are now skipped.
Some records were converted but could not be stored, e.g. because no
localization was configured for that table.
This should bring small performance improvement and also align import
log with actually imported (converted) records.
Logging is added as well, only debug level, to allow developer and
integrator to analyse why some records are skipped.
Ignore some errors which don't actually exist.
We already check type of entity, and logger is always injected.
Catch the exception and return null.
That is already a possible return type which should be handled by
callers.
Add test case with referenced 404 image.
- Removed individual converters for TYPO3.
Conversion is now handled in a single converter.
- The new converter will import necessary dependencies upfront, e.g.
town or organisation.
- Move import state into extra class.
Relates: #34
Use Symfony components to map incoming JSON onto objects.
Those provide a mapping. They can then be used to fetch the data in a
common way and insert it into the system.
- Handle languages within JsonDecode
(normalize incoming data based on language)
- Handle Single Value and List of Values within Entities. They will map
incoming Data to proper Objects. (We now generally transform during
serialization process if target is array but we got single entity)
- Add missing tests for existing data.
- Finish migration of all existing data, this includes next step
- Provide discriminator to ObjectNormalizer to auto detect target class
based on "type" property. (Done for now by own registry)
- Combine generated object with current structure for import -> generate
data array out of it.
- Resolve foreign references to existing entities,
(images, contentresponsible, etc.)
That's necessary as models grow.
Added features should be tested to not break with future changes.
The tests revealed an existing error in fallback which got fixed to make
new test pass.
Relates: #18
Sorry for fixing two things in one commit.
First fixed bug is single offer and / or single price.
Those lead to exception / fatal error and are now handled.
Second fixed bug is wrong multi language handling.
Instead of using supported languages from entity (which does not exist
and was miss interpreted) we use configured system languages.
Each record is inserted with default language.
Also tourist attractions are inserted for all other languages.
They are only inserted if they have a title for that language.
Allows to import entity of type TouristAttraction.
Right now only in German, as this is most important.
Add output of tourist attraction via custom content element.
Insertion is stored as integer in database.
Therefore cast boolean to integer.
Otherwise DataHandler might throw error as saved data type differs from
provided data type.
Still very simple, but can be improved in future updates.
E.g. add info regarding error, or deep link to single import log with
errors, etc.
To provide that, we need to add some more code, which is not necessary
yet.