package org.freeplane.plugin.workspace.creator;
import java.io.File;
import org.freeplane.n3.nanoxml.XMLElement;
import org.freeplane.plugin.workspace.URIUtils;
import org.freeplane.plugin.workspace.model.AWorkspaceNodeCreator;
import org.freeplane.plugin.workspace.model.AWorkspaceTreeNode;
import org.freeplane.plugin.workspace.nodes.AFolderNode;
import org.freeplane.plugin.workspace.nodes.FolderLinkNode;
public class FolderTypePhysicalCreator extends AWorkspaceNodeCreator {
public FolderTypePhysicalCreator() {
}
public AWorkspaceTreeNode getNode(XMLElement data) {
String type = data.getAttribute("type", AFolderNode.FOLDER_TYPE_PHYSICAL);
FolderLinkNode node = new FolderLinkNode(type);
String path = data.getAttribute("path", null);
if (path == null) {
return null;
}
node.setPath(URIUtils.createURI(path));
File file = URIUtils.getAbsoluteFile(node.getPath());
if (file == null) {
return null;
}
boolean monitor = Boolean.parseBoolean(data.getAttribute("monitor", "false"));
node.enableMonitoring(monitor);
boolean descending = Boolean.parseBoolean(data.getAttribute("orderDescending", "false"));
node.orderDescending(descending);
String name = data.getAttribute("name", file.getName());
node.setName(name);
return node;
}
public void endElement(final Object parent, final String tag, final Object currentNode, final XMLElement lastBuiltElement) {
super.endElement(parent, tag, currentNode, lastBuiltElement);
if (currentNode == null) {
return;
}
// WorkspaceController.getFileSystemMgr().scanFileSystem((AWorkspaceTreeNode) currentNode,
// URIUtils.getAbsoluteFile(((FolderLinkNode) currentNode).getPath()));
}
}