Search in sources :

Example 1 with VDir

use of nl.uva.vlet.vfs.VDir in project lobcder by skoulouzis.

the class Assimilator method add.

public void add(VComposite dir, String base, Connection connection, long ssid, boolean addFiles) throws MalformedURLException, VlException, SQLException, NoSuchAlgorithmException {
    VNode[] nodes = dir.getNodes();
    for (VNode f : nodes) {
        VRL currentPath = new VRL(f.getPath().replaceFirst(base, ""));
        LogicalData register = getLogicalDataByPath(Path.path(currentPath.getPath()), connection);
        LogicalData parent = getLogicalDataByPath(Path.path(currentPath.getPath()).getParent(), connection);
        Long parentRef = new Long(1);
        if (parent == null) {
            parentRef = new Long(1);
        } else {
            parentRef = parent.getUid();
        }
        if (f.isComposite()) {
            if (register == null) {
                LogicalData entry = new LogicalData();
                if (f instanceof VDir) {
                    VDir d = (VDir) f;
                    entry.setCreateDate(d.getModificationTime());
                    entry.setModifiedDate(d.getModificationTime());
                } else {
                    entry.setCreateDate(System.currentTimeMillis());
                    entry.setModifiedDate(System.currentTimeMillis());
                }
                entry.setName(f.getName());
                entry.setOwner(importingOwner);
                entry.setParentRef(parentRef);
                register = registerDirLogicalData(entry, connection);
            }
            add((VComposite) f, base, connection, ssid, addFiles);
        } else if (addFiles) {
            if (register == null) {
                System.err.println(f.getVRL());
                addFile(connection, (VFile) f, parentRef, ssid);
            }
        }
    }
}
Also used : VRL(nl.uva.vlet.vrl.VRL) LogicalData(nl.uva.cs.lobcder.resources.LogicalData) VNode(nl.uva.vlet.vrs.VNode) VDir(nl.uva.vlet.vfs.VDir) VFile(nl.uva.vlet.vfs.VFile)

Aggregations

LogicalData (nl.uva.cs.lobcder.resources.LogicalData)1 VDir (nl.uva.vlet.vfs.VDir)1 VFile (nl.uva.vlet.vfs.VFile)1 VRL (nl.uva.vlet.vrl.VRL)1 VNode (nl.uva.vlet.vrs.VNode)1