use of org.olat.repository.CatalogEntry in project OpenOLAT by OpenOLAT.
the class CatalogManager method deleteCatalogSubtree.
/**
* recursively delete the structure starting from the catalog entry.
*
* @param ce
*/
private void deleteCatalogSubtree(CatalogEntry ce, List<SecurityGroup> secGroupsToBeDeleted) {
List<CatalogEntry> children = getChildrenOf(ce);
for (CatalogEntry nextCe : children) {
deleteCatalogSubtree(nextCe, secGroupsToBeDeleted);
}
ce = dbInstance.getCurrentEntityManager().find(CatalogEntryImpl.class, ce.getKey());
// mark owner group for deletion.
SecurityGroup owner = ce.getOwnerGroup();
if (owner != null) {
secGroupsToBeDeleted.add(owner);
}
// TODO delete marks
dbInstance.getCurrentEntityManager().remove(ce);
}
use of org.olat.repository.CatalogEntry in project OpenOLAT by OpenOLAT.
the class CatalogManager method getOwnersOfParentLine.
public List<Identity> getOwnersOfParentLine(CatalogEntry entry) {
List<CatalogEntry> parentLine = getCategoryParentLine(entry);
List<SecurityGroup> secGroups = new ArrayList<SecurityGroup>();
for (CatalogEntry parent : parentLine) {
if (parent.getOwnerGroup() != null) {
secGroups.add(parent.getOwnerGroup());
}
}
return securityManager.getIdentitiesOfSecurityGroups(secGroups);
}
use of org.olat.repository.CatalogEntry in project openolat by klemens.
the class CatalogTest method testPutCategoryJson.
@Test
public void testPutCategoryJson() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
CatalogEntryVO subEntry = new CatalogEntryVO();
subEntry.setName("Sub-entry-1");
subEntry.setDescription("Sub-entry-description-1");
subEntry.setType(CatalogEntry.TYPE_NODE);
URI uri = UriBuilder.fromUri(getContextURI()).path("catalog").path(entry1.getKey().toString()).build();
HttpPut method = conn.createPut(uri, MediaType.APPLICATION_JSON, true);
method.addHeader("Content-Type", MediaType.APPLICATION_JSON);
conn.addJsonEntity(method, subEntry);
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
CatalogEntryVO vo = conn.parse(response, CatalogEntryVO.class);
assertNotNull(vo);
List<CatalogEntry> children = catalogManager.getChildrenOf(entry1);
boolean saved = false;
for (CatalogEntry child : children) {
if (vo.getKey().equals(child.getKey())) {
saved = true;
break;
}
}
assertTrue(saved);
conn.shutdown();
}
use of org.olat.repository.CatalogEntry in project openolat by klemens.
the class CatalogTest method testUpdateAndMoveCatalogEntryJson.
@Test
public void testUpdateAndMoveCatalogEntryJson() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
CatalogEntryVO entry = new CatalogEntryVO();
entry.setName("Entry-2-moved-down");
entry.setDescription("Entry-description-2-moved-down");
entry.setType(CatalogEntry.TYPE_NODE);
URI uri = UriBuilder.fromUri(getContextURI()).path("catalog").path(entryToMove2.getKey().toString()).queryParam("newParentKey", subEntry13move.getKey().toString()).build();
HttpPost method = conn.createPost(uri, MediaType.APPLICATION_JSON);
method.addHeader("Content-Type", MediaType.APPLICATION_JSON);
conn.addJsonEntity(method, entry);
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
CatalogEntryVO vo = conn.parse(response, CatalogEntryVO.class);
assertNotNull(vo);
CatalogEntry updatedEntry = catalogManager.loadCatalogEntry(entryToMove2);
assertEquals("Entry-2-moved-down", updatedEntry.getName());
assertEquals("Entry-description-2-moved-down", updatedEntry.getDescription());
assertNotNull(updatedEntry.getParent());
assertTrue(updatedEntry.getParent().equalsByPersistableKey(subEntry13move));
conn.shutdown();
}
use of org.olat.repository.CatalogEntry in project openolat by klemens.
the class CatalogTest method testUpdateCatalogEntryQuery.
@Test
public void testUpdateCatalogEntryQuery() throws IOException, URISyntaxException {
RestConnection conn = new RestConnection();
assertTrue(conn.login("administrator", "openolat"));
URI uri = UriBuilder.fromUri(getContextURI()).path("catalog").path(entry2.getKey().toString()).build();
HttpPost method = conn.createPost(uri, MediaType.APPLICATION_JSON);
conn.addEntity(method, new BasicNameValuePair("name", "Entry-2-b"), new BasicNameValuePair("description", "Entry-description-2-b"), new BasicNameValuePair("type", String.valueOf(CatalogEntry.TYPE_NODE)));
HttpResponse response = conn.execute(method);
assertEquals(200, response.getStatusLine().getStatusCode());
CatalogEntryVO vo = conn.parse(response, CatalogEntryVO.class);
assertNotNull(vo);
CatalogEntry updatedEntry = catalogManager.loadCatalogEntry(entry2);
assertEquals("Entry-2-b", updatedEntry.getName());
assertEquals("Entry-description-2-b", updatedEntry.getDescription());
conn.shutdown();
}
Aggregations