/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.ivy.plugins.repository.vfs;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.vfs.FileSystemException;
import org.apache.commons.vfs.impl.StandardFileSystemManager;
import org.apache.ivy.Ivy;
import org.apache.ivy.util.FileUtil;
public class VfsTestHelper {
private Ivy ivy = null;
public final StandardFileSystemManager fsManager;
public static final String VFS_CONF = "ivy_vfs.xml";
// Ivy Variables
public static final String PROP_VFS_HOST = "vfs.host";
public static final String PROP_VFS_SAMBA_REPO = "vfs.samba.share";
public static final String PROP_VFS_USER_ID = "vfs.user";
public static final String PROP_VFS_USER_PASSWD = "vfs.passwd";
// Resources
public static final String CWD = System.getProperty("user.dir");
public static final String TEST_REPO_DIR = "test/repositories";
public static final String IVY_CONFIG_FILE = FileUtil.concat(TEST_REPO_DIR, "ivysettings.xml");
public static final String TEST_IVY_XML = "2/mod5.1/ivy-4.2.xml";
public static final String SCRATCH_DIR = "_vfsScratchArea";
public VfsTestHelper() throws Exception {
// setup and initialize VFS
fsManager = new StandardFileSystemManager() {
protected void configurePlugins() throws FileSystemException {
// disable automatic loading potential unsupported extensions
}
};
fsManager.setConfiguration(getClass().getResource(VFS_CONF).toString());
fsManager.init();
// setup and initialize ivy
ivy = new Ivy();
ivy.configure(new File(IVY_CONFIG_FILE));
}
/**
* Generate a set of well-formed VFS resource identifiers
*
* @param resource
* name of the resource
* @return <class>List</class> of well-formed VFS reosurce identifiers
*/
public List createVFSUriSet(String resource) {
List set = new ArrayList();
for (int i = 0; i < VfsURI.SUPPORTED_SCHEMES.length; i++) {
set.add(VfsURI.vfsURIFactory(VfsURI.SUPPORTED_SCHEMES[i], resource, ivy));
}
return set;
}
public Ivy getIvy() {
return ivy;
}
}