Task #27764

Introduce abstract storage adapter class

Added by Andreas Wolf over 8 years ago. Updated over 8 years ago.

Status:
Accepted
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2011-06-29
Due date:
% Done:

0%

Sprint:
Branch:
Tags:

Description

The storage adapters share a lot of functionality, which seems to be duplicated in each of them. Therefore, some common functionality should be moved to an abstract base class.


Related issues

Related to Semantic Web Integration (v4) - Task #27785: Move all storage-adapters to their own namespaces Accepted 2011-06-30

History

#1 Updated by Thomas Maroschik over 8 years ago

  • Status changed from New to Accepted

+1 for that

do you have any clue how to better integrate the 3 different backends, sqlgenerator, query backend, storage backend?

I would like to make packages out of the backends, so they get shipped in parallel with the erfurt distribution.

#2 Updated by Andreas Wolf over 8 years ago

You're right, there's more things that are storage-related, so we should try to unify all these in a common place. I suggest a structure like this:

  • \Erfurt\Storage\<StorageType, e.g. Typo3, >\
    • SqlGeneratorAdapter
    • EngineDbAdapter
    • StorageAdapter
    • AuthenticationProvider

What do you think? An open question for me is how the rest of Erfurt then gets the neccessary library - if we factor out everything into the storage packages and provide a tiny interface that is used by the rest, or if we still directly use all these adapters. I fear the latter will get us into trouble for e.g. non-SQL storages - so we might need a larger scale architectural overhaul.

Also available in: Atom PDF