package pt.ist.fenixframework.core; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import pt.ist.fenixframework.core.exception.SpecifiedDmlFileNotFoundException; public class DmlFile { private URL url; private String relative; public DmlFile(URL url, String relative) { this.url = url; this.relative = relative; } public URL getUrl() { return url; } @Override public boolean equals(Object obj) { if (obj instanceof DmlFile) { return url.equals(((DmlFile) obj).url); } return false; } @Override public int hashCode() { return url.hashCode(); } @Override public String toString() { return relative != null ? relative : url.toExternalForm(); } public static List<DmlFile> parseDependencyDmlFiles(String dmlFilesField) throws SpecifiedDmlFileNotFoundException { List<DmlFile> dmlFileList = new ArrayList<DmlFile>(); for (String dmlFileName : dmlFilesField.trim().split("\\s*,\\s*")) { if (StringUtils.isNotEmpty(dmlFileName)) { // if (dmlFileName != null && !dmlFileName.isEmpty()) { // alternative to not depend on StringUtils :-/ URL dmlFileUrl = Thread.currentThread().getContextClassLoader().getResource(dmlFileName); if (dmlFileUrl == null) { throw new SpecifiedDmlFileNotFoundException(dmlFileName); } dmlFileList.add(new DmlFile(dmlFileUrl, dmlFileName)); } } return dmlFileList; } }