@Test public void findHighestCounterTest() throws ParseException { String[] sa = new String[]{"c:/log/debug-old-2010-08-10.0.log", "c:/log/debug-old-2010-08-10.1.log", "c:/log/debug-old-2010-08-10.10.log", "c:/log/debug-old-2010-08-10.11.log", "c:/log/debug-old-2010-08-10.12.log", "c:/log/debug-old-2010-08-10.2.log", "c:/log/debug-old-2010-08-10.3.log", "c:/log/debug-old-2010-08-10.4.log", "c:/log/debug-old-2010-08-10.5.log", "c:/log/debug-old-2010-08-10.6.log", "c:/log/debug-old-2010-08-10.7.log", "c:/log/debug-old-2010-08-10.8.log", "c:/log/debug-old-2010-08-10.9.log"}; File[] matchingFileArray = new File[sa.length]; for (int i = 0; i < sa.length; i++) { matchingFileArray[i] = new File(sa[i]); } FileNamePattern fnp = new FileNamePattern("c:/log/debug-old-%d{yyyy-MM-dd}.%i.log", context); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String rexexp = null; rexexp = fnp.toRegexForFixedDate(sdf.parse("2010-08-10")); String stemRegex = FileFilterUtil.afterLastSlash(rexexp); int result = FileFilterUtil.findHighestCounter(matchingFileArray, stemRegex); assertEquals(12, result); }
private boolean fileAndPatternCollide() { if (triggeringPolicy instanceof RollingPolicyBase) { final RollingPolicyBase base = (RollingPolicyBase) triggeringPolicy; final FileNamePattern fileNamePattern = base.fileNamePattern; // no use checking if either fileName or fileNamePattern are null if (fileNamePattern != null && fileName != null) { String regex = fileNamePattern.toRegex(); return fileName.matches(regex); } } return false; }
void checkDateToken(boolean checkOnExisting) { FileNamePattern pattern = new FileNamePattern(fileNamePattern, context); DateTokenConverter<Object> token = pattern.getPrimaryDateTokenConverter(); checkToken(token, checkOnExisting, fileNamePattern, MISSING_DATE_TOKEN, UNEXPECTED_DATE_TOKEN); if (checkOnExisting) { checkDateFormat(token, fileNamePattern); } }
protected void addExpectedFileName_ByDate(String patternStr, long millis) { FileNamePattern fileNamePattern = new FileNamePattern(patternStr, context); String fn = fileNamePattern.convert(new Date(millis)); expectedFilenameList.add(fn); }
void checkIntegerToken(boolean checkOnExisting) { FileNamePattern pattern = new FileNamePattern(fileNamePattern, context); IntegerTokenConverter token = pattern.getIntegerTokenConverter(); checkToken(token, checkOnExisting, fileNamePattern, MISSING_INTEGER_TOKEN, UNEXPECTED_INTEGER_TOKEN); }
@Override protected ArchiveRemover createArchiveRemover() { return new CustomSizeAndTimeBasedArchiveRemover( new FileNamePattern(this.tbrp.getFileNamePattern(), this.context), this.rc); }