/** This method search for the files mentioned in manifest inside PCI Package */
 private void validateManifestFilePaths() throws ValidationException {
   for (String fileName : manifestFilePaths) {
     if (!inputFilePaths.contains(fileName)) {
       reporter.error(messages.getMessage("msg.missedResource") + fileName);
     }
   }
 }
 private static String getErrorMessage(String key, Exception ex) {
   StringBuilder sb = new StringBuilder();
   sb.append(MANIFEST_FILENAME);
   sb.append(':');
   sb.append(' ');
   sb.append(messages.getMessage(key));
   sb.append(ex.getMessage());
   return sb.toString();
 }
 /**
  * This method search for the files which exist in PCI Package but are not mentioned in manifest
  */
 private void validateInputFilePaths() throws ValidationException {
   for (String packageFileName : inputFilePaths) {
     if (!manifestFilePaths.contains(packageFileName)) {
       if (!isPathAllowed(packageFileName)) {
         reporter.error(messages.getMessage("msg.unexpectedResource") + packageFileName);
       }
     }
   }
 }
 private void validatePaths(String[] paths) throws ValidationException, PciApiException {
   scanInputPaths(paths);
   if (!manifestExists) {
     throw new ValidationException(messages.getMessage("msg.missingManifest"));
   }
   scanManifestPaths(MANIFEST_FILENAME);
   validateManifestFilePaths();
   validateInputFilePaths();
 }