LPS-43687 Create dl-repository-shared to include a new layer to easily create new repositories. Sharepoint hook, Google drive hook and any other implementation of external DL repositories will benefict of this.
LPS-43687 Interfaces and classes to use when creating a external repository. The new repository implementation will need to implement these interfaces. They have been coded using generics so it's easier when developing new repositories because it's type safe and it's easier for coding because the IDE will tell the expected type.
LPS-43687 The *Adapter classes are in charge of adapting the internal liferay interfaces (used for the implementation of internal entries (LiferayFileEntry, LiferayFolder...) and for core CMIS entries (CMISFileEntry, CMISFolder...) and the newly created interfaces (ExtRepositoryFileEntry, ExtRepositoryFolder).  The benefit of using the new interfaces with the adapters is that the new interfaces are simpler and they are focused to be used for external repositories that don't support CMIS (like sharepoint, google drive...)
LPS-43687 This class adapts the internal repository interface with the new external repository interface. In order to create a new external repository in a hook the repository needs to implement ExtRepository and extend ExtRepositoryAdapter.
LPS-43687 This method isn't needed, but will make it possible to work in master too
LPS-43687 Add @Override
LPS-43687 I always find ".api" weird since that would mean everything else is a ".impl", but sometimes we have a ".util" and I find that somethings are not easily categorizaable into one or another. Let's just leave it out for now.
LPS-43687 Fix Eclipse warnings
LPS-43687 Fix NPE
LPS-43687 I don't see what the exception messages add that are not already stated in the method name that throws the exception?
LPS-43687 Change entry to extRepositoryEntry to make it more specific
LPS-43687 Include mimeType and description and expose it in the API
LPS-43687 Include missing actions that can be called for file entries, folders and shortcuts.
LPS-43687 We need a method to obtain the mappedFileEntryId and the version from the mappedFileVersionId
LPS-43687 Fix issue with parent Folder
LPS-43687 Check for empty string too
LPS-43687 Improve FileVersionAdapter to return more useful info
LPS-43687 Format source
LPS-43687 Create root repository entry if it doesn't exist
LPS-43687 Do not implement search yet. It will be implemented in next commits.