CatalogServiceImpl extends BasicManager implements UserDataDeletable, Initializable, CatalogService { @Override public boolean isEntryWithinCategory(final CatalogEntry toBeCheckedEntry, final List<CatalogEntry> entriesList) { CatalogEntry tempEntry = toBeCheckedEntry; while (tempEntry != null) { if (PersistenceHelper.listContainsObjectByKey(entriesList, tempEntry)) { return true; } tempEntry = tempEntry.getParent(); } return false; } private  CatalogServiceImpl();   CatalogServiceImpl(CatalogDao catalogDao, BaseSecurity securityManager, BookmarkService bookmarkService, DeletionModule deletionModule); @Override CatalogEntry createCatalogEntry(); @Override List<CatalogEntry> getChildrenOf(final CatalogEntry ce); @Override List<CatalogEntry> getAllCatalogNodes(); @Override boolean hasChildEntries(final CatalogEntry ce, final int type); @Override List filterOwnedLeafs(final Identity identity, final List catalogEntries); @Override CatalogEntry loadCatalogEntry(final CatalogEntry catalogEntry); @Override CatalogEntry loadCatalogEntry(final Long catEntryId); @Override void saveCatalogEntry(final CatalogEntry ce); @Override void updateCatalogEntry(final CatalogEntry ce); @Override void deleteCatalogEntry(final CatalogEntry ce); @Override List getCatalogCategoriesFor(final RepositoryEntry repoEntry); @Override List getCatalogEntriesOwnedBy(final Identity identity); @Override void addCatalogEntry(final CatalogEntry parent, final CatalogEntry newEntry); @Override List getRootCatalogEntries(); @Override void init(); @Override boolean moveCatalogEntry(CatalogEntry toBeMovedEntry, CatalogEntry newParentEntry); @Override void resourceableDeleted(final RepositoryEntry repositoryEntry); @Override void deleteUserData(final Identity identity, final String newDeletedUserName); @Override boolean isEntryWithinCategory(final CatalogEntry toBeCheckedEntry, final List<CatalogEntry> entriesList); @Override OLATResourceable createOLATResouceableFor(final CatalogEntry currentCatalogEntry); @Override CatalogEntry createCatalogEntryLeaf(RepositoryEntry repositoryEntry, String parentNodeIdent); @Override CatalogEntry createCatalogEntryLeafAndAddParent(RepositoryEntry repositoryEntry, CatalogEntry parentCatalogEntry); @Override boolean hasParentAllreadyCatalogEntryAsChild(String nodeIdent, RepositoryEntry toBeAddedEntry); CatalogEntry importStructure(); @Override boolean isOwner(CatalogEntry ce, Identity identity); @Override void addOwners(CatalogEntry catalogEntry, List<Identity> addIdentities); @Override void removeOwners(CatalogEntry catalogEntry, List<Identity> removeIdentities); @Override CatalogEntry createCatalogEntryWithoutRepositoryEntry(CatalogEntry parentCatalogEntry); @Override CatalogEntry setEmptyOwnerGroup(CatalogEntry currentCatalogEntry); List<Identity> getCaretakerFormCatalogEntryList(List<CatalogEntry> historyStack);  }
@Test public void testIsEntryWithinCategory_notFound() { List entriesList = new ArrayList(); entriesList.add(createParentCatalogEntryWithChildren()); CatalogEntry toBeCheckedEntry = mock(CatalogEntry.class); when(toBeCheckedEntry.getKey()).thenReturn(new Long(catalogEntryKey3)); assertFalse(catalogService.isEntryWithinCategory(toBeCheckedEntry, entriesList)); }
@Test public void testIsEntryWithinCategory_found() { List entriesList = new ArrayList(); CatalogEntry parentCatalogEntryRoot = createParentCatalogEntryWithChildren(); entriesList.add(parentCatalogEntryRoot); CatalogEntry toBeCheckedEntry = mock(CatalogEntry.class); when(toBeCheckedEntry.getKey()).thenReturn(new Long(catalogEntryKey2)); when(toBeCheckedEntry.getParent()).thenReturn(parentCatalogEntryRoot); assertTrue(catalogService.isEntryWithinCategory(toBeCheckedEntry, entriesList)); }