- getLog().debug("Found new or modified mapping-file: " + filename);
- modified = true;
- md5s.put(filename, newMd5);
+ InputStream is = new FileInputStream(file);
+ byte[] buffer = new byte[1024*4]; // copy data in 4MB-chunks
+ int i;
+ while((i = is.read(buffer)) > -1)
+ digest.update(buffer, 0, i);
+ is.close();
+ byte[] bytes = digest.digest();
+ BigInteger bi = new BigInteger(1, bytes);
+ String newMd5 = String.format("%0" + (bytes.length << 1) + "x", bi);
+ String oldMd5 = !md5s.containsKey(filename) ? "" : md5s.get(filename);
+ if (!newMd5.equals(oldMd5))
+ {
+ getLog().debug("Found new or modified mapping-file: " + filename);
+ modified = true;
+ md5s.put(filename, newMd5);
+ }
+ else
+ {
+ getLog().debug(oldMd5 + " -> mapping-file unchanged: " + filename);
+ }
+ getLog().debug("Adding mappings from XML-configurationfile: " + file);
+ config.addFile(file);