Search in sources :

Example 6 with CPManager

use of org.olat.ims.cp.CPManager in project openolat by klemens.

the class CPTreeController method deletePage.

/**
 * deletes a page from the manifest
 *
 * @param nodeID
 */
private void deletePage(String identifier, boolean deleteResource) {
    if (identifier.equals("")) {
    // no page selected
    } else {
        CPManager cpMgm = CPManager.getInstance();
        treeModel.removePath();
        cpMgm.removeElement(cp, identifier, deleteResource);
        cpMgm.writeToFile(cp);
        updateTree();
    }
}
Also used : CPManager(org.olat.ims.cp.CPManager)

Example 7 with CPManager

use of org.olat.ims.cp.CPManager in project openolat by klemens.

the class CPTreeController method addPage.

/**
 * Adds a page to the CP
 *
 * @return
 */
protected String addPage(CPPage page) {
    CPManager cpMgm = CPManager.getInstance();
    String newNodeID = "";
    if (currentPage.getIdentifier().equals("")) {
        newNodeID = cpMgm.addBlankPage(cp, page.getTitle());
    } else {
        // adds new page as child of currentPage
        newNodeID = cpMgm.addBlankPage(cp, page.getTitle(), currentPage.getIdentifier());
    }
    setCurrentPage(new CPPage(newNodeID, cp));
    cpMgm.writeToFile(cp);
    updateTree();
    return newNodeID;
}
Also used : CPManager(org.olat.ims.cp.CPManager)

Example 8 with CPManager

use of org.olat.ims.cp.CPManager in project openolat by klemens.

the class CPTreeController method getCurrentPageInfoStringHTML.

/**
 * Builds an html-info string about the current page and its linked resources
 *
 * @return HTML-String
 */
private String getCurrentPageInfoStringHTML() {
    // test if currentPage links to resource, which is used (linked) somewhere
    // else in the manifest
    CPManager cpMgm = CPManager.getInstance();
    DefaultElement ele = cpMgm.getElementByIdentifier(cp, currentPage.getIdRef());
    boolean single = false;
    if (ele instanceof CPResource) {
        CPResource res = (CPResource) ele;
        single = cpMgm.isSingleUsedResource(res, cp);
    }
    StringBuilder b = new StringBuilder();
    b.append("<br /><ul>");
    b.append("<li><b>" + translate("cptreecontroller.pagetitle") + "</b> " + currentPage.getTitle() + "</li>");
    if (single) {
        b.append("<li><b>" + translate("cptreecontroller.file") + "</b> " + currentPage.getFileName() + "</li>");
    }
    b.append("</ul>");
    return b.toString();
}
Also used : DefaultElement(org.dom4j.tree.DefaultElement) CPManager(org.olat.ims.cp.CPManager) CPResource(org.olat.ims.cp.objects.CPResource)

Example 9 with CPManager

use of org.olat.ims.cp.CPManager in project openolat by klemens.

the class CPTreeController method copyPage.

/**
 * copies the page with given nodeID
 *
 * @param nodeID
 */
private String copyPage(CPPage page) {
    String newIdentifier = null;
    if (page != null) {
        CPManager cpMgm = CPManager.getInstance();
        newIdentifier = cpMgm.copyElement(cp, page.getIdentifier());
        cpMgm.writeToFile(cp);
        updateTree();
    }
    return newIdentifier;
}
Also used : CPManager(org.olat.ims.cp.CPManager)

Example 10 with CPManager

use of org.olat.ims.cp.CPManager in project openolat by klemens.

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;
}
Also used : VFSLeaf(org.olat.core.util.vfs.VFSLeaf) TreeNode(org.olat.core.gui.components.tree.TreeNode) CPManager(org.olat.ims.cp.CPManager) ArrayList(java.util.ArrayList) VFSItem(org.olat.core.util.vfs.VFSItem)

Aggregations

CPManager (org.olat.ims.cp.CPManager)22 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)6 DefaultElement (org.dom4j.tree.DefaultElement)4 TreeNode (org.olat.core.gui.components.tree.TreeNode)4 VFSItem (org.olat.core.util.vfs.VFSItem)4 CPResource (org.olat.ims.cp.objects.CPResource)4 File (java.io.File)2 ArrayList (java.util.ArrayList)2 TreeEvent (org.olat.core.gui.components.tree.TreeEvent)2 Event (org.olat.core.gui.control.Event)2 NewIframeUriEvent (org.olat.core.gui.control.generic.iframe.NewIframeUriEvent)2 VFSContainer (org.olat.core.util.vfs.VFSContainer)2 CPPackageConfig (org.olat.ims.cp.ui.CPPackageConfig)2 OLATResource (org.olat.resource.OLATResource)2