use of org.olat.ims.cp.CPManager in project OpenOLAT by OpenOLAT.
the class CPTreeController method updatePage.
/**
* @param page
*/
protected void updatePage(CPPage page) {
setCurrentPage(page);
CPManager cpMgm = CPManager.getInstance();
cpMgm.updatePage(cp, page);
cpMgm.writeToFile(cp);
updateTree();
selectTreeNodeByCPPage(page);
}
use of org.olat.ims.cp.CPManager in project OpenOLAT by OpenOLAT.
the class CPTreeController method doDrop.
private void doDrop(UserRequest ureq, String droppedNodeId, String targetNodeId, boolean asChild) {
TreeNode droppedNode = treeModel.getNodeById(droppedNodeId);
TreeNode targetNode = treeModel.getNodeById(targetNodeId);
String droppedNodeIdent = treeModel.getIdentifierForNodeID(droppedNodeId);
String targetNodeIdent = treeModel.getIdentifierForNodeID(targetNodeId);
CPManager cpMgm = CPManager.getInstance();
if (asChild) {
cpMgm.moveElement(cp, droppedNodeIdent, targetNodeIdent, 0);
cpMgm.writeToFile(cp);
} else if (targetNode.getParent() == null) {
// root -> do nothing
} else {
TreeNode parentTargetNode = (TreeNode) targetNode.getParent();
int index = TreeHelper.indexOf(targetNode, parentTargetNode);
boolean sibling = droppedNode.getParent().equals(parentTargetNode);
if (sibling) {
int droppedCurentIndex = TreeHelper.indexOf(targetNode, parentTargetNode);
if (droppedCurentIndex < index) {
index = index - 2;
}
}
if (index < 0) {
index = 0;
}
String parentTargetNodeIdent = treeModel.getIdentifierForNodeID(parentTargetNode.getIdent());
cpMgm.moveElement(cp, droppedNodeIdent, parentTargetNodeIdent, index + 1);
cpMgm.writeToFile(cp);
}
selectTreeNodeById(droppedNodeIdent);
updateTree();
fireEvent(ureq, new TreeEvent(TreeEvent.COMMAND_TREENODE_CLICKED, droppedNodeIdent));
}
use of org.olat.ims.cp.CPManager in project OpenOLAT by OpenOLAT.
the class VFSCPContainer method getItems.
protected static List<VFSItem> getItems(ContentPackage cp, CPTreeDataModel model, String nodeId) {
List<TreeNode> nodes = model.getChildrenFor(nodeId);
CPManager cpMgm = CPManager.getInstance();
List<VFSItem> items = new ArrayList<VFSItem>();
for (TreeNode node : nodes) {
try {
String nid = node.getIdent();
String id = model.getIdentifierForNodeID(nid);
String filePath = cpMgm.getPageByItemId(cp, id);
String title = cpMgm.getItemTitle(cp, id);
VFSItem f = cp.getRootDir().resolve(filePath);
if (f instanceof VFSLeaf) {
title += " (" + filePath + ")";
VFSItem item;
List<TreeNode> children = model.getChildrenFor(nid);
if (children.isEmpty()) {
item = new VFSCPNamedItem(title, (VFSLeaf) f);
} else {
item = new VFSCPNamedContainerItem(nid, title, (VFSLeaf) f, cp, model);
}
items.add(item);
}
} catch (Exception e) {
log.error("", e);
}
}
return items;
}
use of org.olat.ims.cp.CPManager in project openolat by klemens.
the class CPContentController method displayPage.
/**
* Displays the correct edit page when node with the given id is selected.
*
* @param ureq
* @param nodeID
*/
protected void displayPage(UserRequest ureq, String nodeID) {
CPManager cpMgm = CPManager.getInstance();
currentPage = new CPPage(nodeID, cp);
String filePath = cpMgm.getPageByItemId(cp, currentPage.getIdentifier());
logInfo("I display the page with id: " + currentPage.getIdentifier(), null);
VFSItem f = cp.getRootDir().resolve(filePath);
if (filePath == null) {
displayInfoPage();
} else if (f == null) {
displayNotFoundPage();
} else {
currentPage.setFile((VFSLeaf) f);
setContent(ureq, filePath);
}
fireEvent(ureq, new Event("Page loaded"));
}
use of org.olat.ims.cp.CPManager in project openolat by klemens.
the class CPPage method getResource.
protected CPResource getResource() {
CPResource resource = null;
CPManager mgr = CPManager.getInstance();
DefaultElement resElement = mgr.getElementByIdentifier(cp, idRef);
if (resElement instanceof CPResource) {
resource = (CPResource) resElement;
}
return resource;
}
Aggregations