diff --git a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-handlers/xwiki-platform-extension-handler-xar/src/main/java/org/xwiki/extension/xar/internal/repository/XarInstalledExtensionRepository.java b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-handlers/xwiki-platform-extension-handler-xar/src/main/java/org/xwiki/extension/xar/internal/repository/XarInstalledExtensionRepository.java index 7fdd077821cbc25cfb7af1aa6ef7299c4e1a4348..3c18224e612483f4014808e8cb355f21ccb63b1f 100644 --- a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-handlers/xwiki-platform-extension-handler-xar/src/main/java/org/xwiki/extension/xar/internal/repository/XarInstalledExtensionRepository.java +++ b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-handlers/xwiki-platform-extension-handler-xar/src/main/java/org/xwiki/extension/xar/internal/repository/XarInstalledExtensionRepository.java @@ -20,13 +20,10 @@ package org.xwiki.extension.xar.internal.repository; import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.regex.Pattern; import javax.inject.Inject; import javax.inject.Named; @@ -36,7 +33,6 @@ import org.xwiki.component.annotation.Component; import org.xwiki.component.phase.Initializable; import org.xwiki.component.phase.InitializationException; -import org.xwiki.extension.Extension; import org.xwiki.extension.ExtensionId; import org.xwiki.extension.InstallException; import org.xwiki.extension.InstalledExtension; @@ -48,13 +44,7 @@ import org.xwiki.extension.event.ExtensionUpgradedEvent; import org.xwiki.extension.repository.DefaultExtensionRepositoryDescriptor; import org.xwiki.extension.repository.InstalledExtensionRepository; -import org.xwiki.extension.repository.internal.AbstractCachedExtensionRepository; -import org.xwiki.extension.repository.internal.RepositoryUtils; -import org.xwiki.extension.repository.internal.installed.DefaultInstalledExtensionRepository; -import org.xwiki.extension.repository.result.CollectionIterableResult; -import org.xwiki.extension.repository.result.IterableResult; -import org.xwiki.extension.repository.search.ExtensionQuery; -import org.xwiki.extension.repository.search.SearchException; +import org.xwiki.extension.repository.internal.installed.AbstractInstalledExtensionRepository; import org.xwiki.extension.xar.internal.handler.XarExtensionHandler; import org.xwiki.observation.EventListener; import org.xwiki.observation.ObservationManager; @@ -70,8 +60,8 @@ @Component @Singleton @Named(XarExtensionHandler.TYPE) -public class XarInstalledExtensionRepository extends AbstractCachedExtensionRepository<XarInstalledExtension> implements - InstalledExtensionRepository, Initializable +public class XarInstalledExtensionRepository extends AbstractInstalledExtensionRepository<XarInstalledExtension> + implements InstalledExtensionRepository, Initializable { private static final List<Event> EVENTS = Arrays.<Event>asList(new ExtensionInstalledEvent(), new ExtensionUninstalledEvent(), new ExtensionUpgradedEvent()); @@ -169,38 +159,7 @@ private void loadExtensions() } } - // LocalExtensionRepository - - @Override - public int countExtensions() - { - return this.extensions.size(); - } - - @Override - public Collection<InstalledExtension> getInstalledExtensions(String namespace) - { - List<InstalledExtension> installedExtensions = new ArrayList<InstalledExtension>(extensions.size()); - for (InstalledExtension localExtension : this.extensions.values()) { - if (localExtension.isInstalled(namespace)) { - installedExtensions.add(localExtension); - } - } - - return installedExtensions; - } - - @Override - public Collection<InstalledExtension> getInstalledExtensions() - { - return (Collection) this.extensions.values(); - } - - @Override - public InstalledExtension getInstalledExtension(ExtensionId extensionId) - { - return this.extensions.get(extensionId); - } + // InstalledExtensionRepository @Override public InstalledExtension getInstalledExtension(String id, String namespace) @@ -218,13 +177,6 @@ public InstalledExtension getInstalledExtension(String id, String namespace) return extension; } - @Override - public InstalledExtension installExtension(LocalExtension extension, String namespace, boolean dependency) - throws InstallException - { - return installExtension(extension, namespace, dependency, Collections.<String, Object>emptyMap()); - } - @Override public InstalledExtension installExtension(LocalExtension extension, String namespace, boolean dependency, Map<String, Object> properties) throws InstallException @@ -256,40 +208,4 @@ public Map<String, Collection<InstalledExtension>> getBackwardDependencies(Exten return extension.getType().equals(XarExtensionHandler.TYPE) ? this.installedRepository .getBackwardDependencies(extensionId) : null; } - - @Override - public IterableResult<Extension> search(String pattern, int offset, int nb) throws SearchException - { - Pattern patternMatcher = RepositoryUtils.createPatternMatcher(pattern); - - List<Extension> result = new ArrayList<Extension>(); - - for (XarInstalledExtension extension : this.extensions.values()) { - if (patternMatcher == null || RepositoryUtils.matches(patternMatcher, extension)) { - result.add(extension); - } - } - - return new CollectionIterableResult<Extension>(this.extensions.size(), offset, result); - } - - @Override - public IterableResult<Extension> searchInstalledExtensions(String pattern, String namespace, int offset, int nb) - throws SearchException - { - ExtensionQuery query = new ExtensionQuery(pattern); - - query.setOffset(offset); - query.setLimit(nb); - - return search(query); - } - - @Override - public IterableResult<Extension> searchInstalledExtensions(String namespace, ExtensionQuery query) - throws SearchException - { - return DefaultInstalledExtensionRepository - .searchInstalledExtensions(namespace, query, this.extensions.values()); - } }