use of org.olat.ims.cp.objects.CPOrganization in project OpenOLAT by OpenOLAT.
the class CPManagerImpl method setUniqueOrgaIdentifier.
/**
* Assigns the organization a unique identifier in order to prevent any
* caching issues in the extjs menu tree later.
*
* @param cp
* @return The first organization of the content package.
*/
private CPOrganization setUniqueOrgaIdentifier(ContentPackage cp) {
CPOrganization orga = cp.getFirstOrganizationInManifest();
String newOrgaIdentifier = "olatcp-" + CodeHelper.getForeverUniqueID();
orga.setIdentifier(newOrgaIdentifier);
return orga;
}
use of org.olat.ims.cp.objects.CPOrganization in project OpenOLAT by OpenOLAT.
the class ContentPackage method updatePage.
protected void updatePage(CPPage page) {
DefaultElement ele = cpcore.getElementByIdentifier(page.getIdentifier());
if (ele instanceof CPItem) {
CPItem item = (CPItem) ele;
item.setTitle(page.getTitle());
item.setMetadata(page.getMetadata());
String itemIdentifierRef = item.getIdentifierRef();
if (itemIdentifierRef == null || itemIdentifierRef.equals("")) {
// This item has no linked resource yet. Add one if there is a page file
// attached.
VFSLeaf pageFile = page.getPageFile();
if (pageFile != null) {
CPResource res = new CPResource();
CPFile file = new CPFile(pageFile);
res.addFile(file);
// TODO:GW Set type according to file
res.setType("text/html");
res.setHref(file.getHref());
item.setIdentifierRef(res.getIdentifier());
cpcore.getRootNode().getResources().addResource(res);
}
} else {
// this item has already a linked resource
// this is not supported, we don't change linked resources...
}
} else if (ele instanceof CPOrganization) {
CPOrganization organization = (CPOrganization) ele;
organization.setTitle(page.getTitle());
} else {
// ERROR: this shouldn't be
throw new OLATRuntimeException("Error while updating manifest with new Page-Data. Invalid identifier " + page.getIdentifier(), null);
}
}
use of org.olat.ims.cp.objects.CPOrganization in project OpenOLAT by OpenOLAT.
the class CPTreeController method getParentIdentifier.
/**
* Retrieves the parent identifier of the current page
*
* @return The identifier of the current page's parent
*/
private String getParentIdentifier() {
DefaultElement currentElem = CPManager.getInstance().getElementByIdentifier(cp, currentPage.getIdentifier());
// Get the parent node to be displayed after deletion.
String parentIdentifier = null;
if (currentElem instanceof CPItem) {
Element parent = ((CPItem) currentElem).getParentElement();
if (parent instanceof CPItem) {
CPItem parentItem = (CPItem) parent;
parentIdentifier = parentItem.getIdentifier();
} else if (parent instanceof CPOrganization) {
CPOrganization parentItem = (CPOrganization) parent;
parentIdentifier = parentItem.getIdentifier();
}
}
return parentIdentifier;
}
use of org.olat.ims.cp.objects.CPOrganization in project OpenOLAT by OpenOLAT.
the class CPTreeDataModel method getChildrenFor.
public List<TreeNode> getChildrenFor(String nodeId) {
List<TreeNode> nodeList = new ArrayList<TreeNode>();
nodeId = getIdentifierForNodeID(nodeId);
DefaultElement el = cp.getElementByIdentifier(nodeId);
if (el == null) {
log.info("element not found (id " + nodeId + ")");
return nodeList;
}
try {
if (el.getName().equals(CPCore.ORGANIZATION)) {
CPOrganization org = (CPOrganization) el;
for (Iterator<CPItem> it = org.getItemIterator(); it.hasNext(); ) {
CPItem item = it.next();
addItem(nodeList, item);
}
} else if (el.getName().equals(CPCore.ITEM)) {
CPItem pItem = (CPItem) el;
for (Iterator<CPItem> it = pItem.getItemIterator(); it.hasNext(); ) {
CPItem item = it.next();
addItem(nodeList, item);
}
} else {
// element is not item nor orga -> ergo wrong element
log.info("unknown element while building treemodel for gui (id: " + nodeId + ")");
}
} catch (JSONException e) {
log.error("error while building treemodel");
}
return nodeList;
}
use of org.olat.ims.cp.objects.CPOrganization in project OpenOLAT by OpenOLAT.
the class CPManagerTest method testLoad.
@Test
public void testLoad() {
ContentPackage relodedCP = mgr.load(cp.getRootDir(), cp.getResourcable());
assertNotNull(relodedCP);
CPOrganization orga = relodedCP.getFirstOrganizationInManifest();
assertNotNull(orga);
CPItem item = orga.getFirstItem();
assertEquals(PAGE_TITLE, item.getTitle());
}
Aggregations