/*
* ====================================================================
* Copyright (c) 2004-2012 TMate Software Ltd. All rights reserved.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://svnkit.com/license.html.
* If newer versions of this license are posted there, you may use a
* newer version instead, at your option.
* ====================================================================
*/
package org.tmatesoft.svn.core.internal.wc.admin;
import java.io.File;
import org.tmatesoft.svn.core.SVNDepth;
import org.tmatesoft.svn.core.SVNException;
/**
* @version 1.3
* @author TMate Software Ltd.
*/
public class SVNAdminArea15Factory extends SVNAdminArea14Factory {
public static final int WC_FORMAT = SVNAdminAreaFactory.WC_FORMAT_15;
protected void doCreateVersionedDirectory(File path, String url, String rootURL, String uuid, long revNumber, SVNDepth depth) throws SVNException {
SVNAdminArea adminArea = new SVNAdminArea15(path);
adminArea.createVersionedDirectory(path, url, rootURL, uuid, revNumber, true, depth);
}
protected SVNAdminArea doOpen(File path, int version) throws SVNException {
if (version != getSupportedVersion()) {
return null;
}
return new SVNAdminArea15(path);
}
protected SVNAdminArea doChangeWCFormat(SVNAdminArea adminArea) throws SVNException {
if (adminArea == null || adminArea.getClass() == SVNAdminArea15.class) {
return adminArea;
}
SVNAdminArea15 newAdminArea = new SVNAdminArea15(adminArea.getRoot());
newAdminArea.setLocked(true);
return newAdminArea.formatWC(adminArea);
}
public int getSupportedVersion() {
return WC_FORMAT;
}
}