/** * validate * @param url The url * @param output directory of output * @return The system exit code */ public static int validate(URL url, String output) { return validate(url, output, null); }
private static boolean validateClassesInPackage(File root) { boolean hasClass = false; File[] files = root.listFiles(); for (File file : files) { if (file.getName().lastIndexOf(".class") > 0) return true; if (file.isDirectory()) hasClass = validateClassesInPackage(file); if (hasClass) return true; } return hasClass; }
root = extract(f, destination); URL[] urls = getUrls(root); if (classpath != null && classpath.length > 0) validateClasses.addAll(createResourceAdapter(cmd, failures, validator.getResourceBundle(), cl)); validateClasses.addAll(createManagedConnectionFactory(cmd, failures, validator.getResourceBundle(), cl)); validateClasses.addAll(createActivationSpec(cmd, failures, validator.getResourceBundle(), cl)); validateClasses.addAll(createAdminObject(cmd, failures, validator.getResourceBundle(), cl)); if (validateClassesInPackage(root)) recursiveDelete(destination);
/** * Recursive delete * @param f The file handler * @exception IOException Thrown if a file could not be deleted */ private static void recursiveDelete(File f) throws IOException { if (f != null && f.exists()) { File[] files = f.listFiles(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { recursiveDelete(files[i]); } else { if (!files[i].delete()) throw new IOException("Could not delete " + files[i]); } } } if (!f.delete()) throw new IOException("Could not delete " + f); } }
root = extract(f, destination); URL[] urls = getUrls(root); if (classpath != null && classpath.length > 0) validateClasses.addAll(createResourceAdapter(cmd, failures, validator.getResourceBundle(), cl)); validateClasses.addAll(createManagedConnectionFactory(cmd, failures, validator.getResourceBundle(), cl)); validateClasses.addAll(createActivationSpec(cmd, failures, validator.getResourceBundle(), cl)); validateClasses.addAll(createAdminObject(cmd, failures, validator.getResourceBundle(), cl)); if (validateClassesInPackage(root)) recursiveDelete(destination);
/** * Recursive delete * @param f The file handler * @exception IOException Thrown if a file could not be deleted */ private static void recursiveDelete(File f) throws IOException { if (f != null && f.exists()) { File[] files = f.listFiles(); if (files != null) { for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { recursiveDelete(files[i]); } else { if (!files[i].delete()) throw new IOException("Could not delete " + files[i]); } } } if (!f.delete()) throw new IOException("Could not delete " + f); } }
/** * validate * @param url The url * @param output directory of output * @return The system exit code */ public static int validate(URL url, String output) { return validate(url, output, null); }
private static boolean validateClassesInPackage(File root) { boolean hasClass = false; File[] files = root.listFiles(); for (File file : files) { if (file.getName().lastIndexOf(".class") > 0) return true; if (file.isDirectory()) hasClass = validateClassesInPackage(file); if (hasClass) return true; } return hasClass; }