@Test void getByAliasWhenNotInCacheButExists() throws Exception { when(this.cache.getFromId("wikiid")).thenReturn(null); XWikiDocument document = mock(XWikiDocument.class); when(this.descriptorDocumentHelper.findXWikiServerClassDocument("wikialias")).thenReturn(document); when(document.isNew()).thenReturn(false); List<BaseObject> baseObjects = Arrays.asList(mock(BaseObject.class)); when(document.getXObjects(any(EntityReference.class))).thenReturn(baseObjects); DefaultWikiDescriptor descriptor = new DefaultWikiDescriptor("wikiid", "wikialias"); when(this.wikiDescriptorBuilder.buildDescriptorObject(anyList(), any(XWikiDocument.class))) .thenReturn(descriptor); assertEquals(descriptor, this.descriptorManager.getByAlias("wikialias")); verify(this.cache).add(descriptor); }
@Override public WikiDescriptor getByAlias(String wikiAlias) throws WikiManagerException { WikiDescriptor descriptor = cache.getFromAlias(wikiAlias); if (descriptor == null) { XWikiDocument document = descriptorDocumentHelperProvider.get().findXWikiServerClassDocument(wikiAlias); if (document != null) { descriptor = buildDescriptorFromDocument(document); } if (descriptor == null) { cache.addFromAlias(wikiAlias, DefaultWikiDescriptor.VOID); } } return descriptor != DefaultWikiDescriptor.VOID && descriptor != null ? descriptor.clone() : null; }
DefaultWikiDescriptorManager implements WikiDescriptorManager { @Override public WikiDescriptor getByAlias(String wikiAlias) throws WikiManagerException { WikiDescriptor descriptor = cache.getFromAlias(wikiAlias); if (descriptor == null) { XWikiDocument document = descriptorDocumentHelperProvider.get().findXWikiServerClassDocument(wikiAlias); if (document != null) { descriptor = buildDescriptorFromDocument(document); } if (descriptor == null) { cache.addFromAlias(wikiAlias, DefaultWikiDescriptor.VOID); } } return descriptor != DefaultWikiDescriptor.VOID && descriptor != null ? descriptor.clone() : null; } }
DefaultWikiDescriptorManager implements WikiDescriptorManager { @Override public WikiDescriptor getByAlias(String wikiAlias) throws WikiManagerException { WikiDescriptor descriptor = cache.getFromAlias(wikiAlias); if (descriptor == null) { XWikiDocument document = descriptorDocumentHelperProvider.get().findXWikiServerClassDocument(wikiAlias); if (document != null) { descriptor = buildDescriptorFromDocument(document); } if (descriptor == null) { cache.addFromAlias(wikiAlias, DefaultWikiDescriptor.VOID); } } return descriptor != DefaultWikiDescriptor.VOID && descriptor != null ? descriptor.clone() : null; }  }
DefaultWikiDescriptorManager implements WikiDescriptorManager { @Override public WikiDescriptor getByAlias(String wikiAlias) throws WikiManagerException { WikiDescriptor descriptor = cache.getFromAlias(wikiAlias); if (descriptor == null) { XWikiDocument document = descriptorDocumentHelperProvider.get().findXWikiServerClassDocument(wikiAlias); if (document != null) { descriptor = buildDescriptorFromDocument(document); } if (descriptor == null) { cache.addFromAlias(wikiAlias, DefaultWikiDescriptor.VOID); } } return descriptor != DefaultWikiDescriptor.VOID && descriptor != null ? descriptor.clone() : null; }  @Override Collection<WikiDescriptor> getAll(); @Override Collection<String> getAllIds(); @Override WikiDescriptor getByAlias(String wikiAlias); @Override WikiDescriptor getById(String wikiId); @Override boolean exists(String wikiId); @Override void saveDescriptor(WikiDescriptor descriptor); @Override WikiDescriptor getMainWikiDescriptor(); @Override String getMainWikiId(); @Override boolean isMainWiki(String wikiId); @Override String getCurrentWikiId(); @Override WikiReference getCurrentWikiReference(); @Override WikiDescriptor getCurrentWikiDescriptor(); }
DefaultWikiDescriptorManager implements WikiDescriptorManager { @Override public WikiDescriptor getByAlias(String wikiAlias) throws WikiManagerException { WikiDescriptor descriptor = cache.getFromAlias(wikiAlias); if (descriptor == null) { XWikiDocument document = descriptorDocumentHelperProvider.get().findXWikiServerClassDocument(wikiAlias); if (document != null) { descriptor = buildDescriptorFromDocument(document); } if (descriptor == null) { cache.addFromAlias(wikiAlias, DefaultWikiDescriptor.VOID); } } return descriptor != DefaultWikiDescriptor.VOID && descriptor != null ? descriptor.clone() : null; }  @Override Collection<WikiDescriptor> getAll(); @Override Collection<String> getAllIds(); @Override WikiDescriptor getByAlias(String wikiAlias); @Override WikiDescriptor getById(String wikiId); @Override boolean exists(String wikiId); @Override void saveDescriptor(WikiDescriptor descriptor); @Override WikiDescriptor getMainWikiDescriptor(); @Override String getMainWikiId(); @Override boolean isMainWiki(String wikiId); @Override String getCurrentWikiId(); @Override WikiReference getCurrentWikiReference(); @Override WikiDescriptor getCurrentWikiDescriptor();  }