Search in sources :

Example 6 with FileSystemRecursiveIterator

use of com.helger.commons.io.file.FileSystemRecursiveIterator in project ph-css by phax.

the class MainReadAllCSSOnDisc method main.

@SuppressFBWarnings("DMI_HARDCODED_ABSOLUTE_FILENAME")
public static void main(final String[] args) {
    int nFilesOK = 0;
    int nFilesError = 0;
    final ICommonsOrderedMap<File, ParseException> aErrors = new CommonsLinkedHashMap<>();
    final Wrapper<File> aCurrentFile = new Wrapper<>();
    final ICSSParseExceptionCallback aHdl = ex -> aErrors.put(aCurrentFile.get(), ex);
    for (final File aFile : new FileSystemRecursiveIterator(new File("/")).withFilter(IFileFilter.filenameEndsWith(".css"))) {
        if (false)
            s_aLogger.info(aFile.getAbsolutePath());
        aCurrentFile.set(aFile);
        final CascadingStyleSheet aCSS = CSSReader.readFromFile(aFile, StandardCharsets.UTF_8, ECSSVersion.CSS30, aHdl);
        if (aCSS == null) {
            nFilesError++;
            s_aLogger.warn("  " + aFile.getAbsolutePath() + " failed!");
        } else
            nFilesOK++;
    }
    s_aLogger.info("Done");
    for (final Map.Entry<File, ParseException> aEntry : aErrors.entrySet()) s_aLogger.info("  " + aEntry.getKey().getAbsolutePath() + ":\n" + aEntry.getValue().getMessage() + "\n");
    s_aLogger.info("OK: " + nFilesOK + "; Error: " + nFilesError);
}
Also used : Logger(org.slf4j.Logger) ICSSParseExceptionCallback(com.helger.css.handler.ICSSParseExceptionCallback) CSSReader(com.helger.css.reader.CSSReader) LoggerFactory(org.slf4j.LoggerFactory) ICommonsOrderedMap(com.helger.commons.collection.impl.ICommonsOrderedMap) ECSSVersion(com.helger.css.ECSSVersion) ParseException(com.helger.css.parser.ParseException) File(java.io.File) StandardCharsets(java.nio.charset.StandardCharsets) FileSystemRecursiveIterator(com.helger.commons.io.file.FileSystemRecursiveIterator) IFileFilter(com.helger.commons.io.file.IFileFilter) Wrapper(com.helger.commons.wrapper.Wrapper) Map(java.util.Map) CommonsLinkedHashMap(com.helger.commons.collection.impl.CommonsLinkedHashMap) CascadingStyleSheet(com.helger.css.decl.CascadingStyleSheet) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings) Wrapper(com.helger.commons.wrapper.Wrapper) CommonsLinkedHashMap(com.helger.commons.collection.impl.CommonsLinkedHashMap) ICSSParseExceptionCallback(com.helger.css.handler.ICSSParseExceptionCallback) CascadingStyleSheet(com.helger.css.decl.CascadingStyleSheet) FileSystemRecursiveIterator(com.helger.commons.io.file.FileSystemRecursiveIterator) ParseException(com.helger.css.parser.ParseException) File(java.io.File) ICommonsOrderedMap(com.helger.commons.collection.impl.ICommonsOrderedMap) Map(java.util.Map) CommonsLinkedHashMap(com.helger.commons.collection.impl.CommonsLinkedHashMap) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings)

Example 7 with FileSystemRecursiveIterator

use of com.helger.commons.io.file.FileSystemRecursiveIterator in project ph-css by phax.

the class CSSWriterFuncTest method testRead30Write21.

@Test
public void testRead30Write21() throws IOException {
    for (final File aFile : new FileSystemRecursiveIterator(new File("src/test/resources/testfiles/css30/good/artificial")).withFilter(IFileFilter.filenameEndsWith(".css"))) {
        final String sKey = aFile.getAbsolutePath();
        try {
            // read and interpret CSS 3.0
            final CascadingStyleSheet aCSS = CSSReader.readFromFile(aFile, StandardCharsets.UTF_8, ECSSVersion.CSS30);
            assertNotNull(sKey, aCSS);
            // write to CSS 2.1
            final NonBlockingStringWriter aSW = new NonBlockingStringWriter();
            new CSSWriter(ECSSVersion.CSS21).writeCSS(aCSS, aSW);
            // This should throw an error
            fail(sKey + " should have thrown an exception but got: " + aSW.getAsString());
        } catch (final IllegalStateException ex) {
        }
    }
}
Also used : CascadingStyleSheet(com.helger.css.decl.CascadingStyleSheet) FileSystemRecursiveIterator(com.helger.commons.io.file.FileSystemRecursiveIterator) File(java.io.File) NonBlockingStringWriter(com.helger.commons.io.stream.NonBlockingStringWriter) Test(org.junit.Test)

Aggregations

FileSystemRecursiveIterator (com.helger.commons.io.file.FileSystemRecursiveIterator)7 File (java.io.File)7 CascadingStyleSheet (com.helger.css.decl.CascadingStyleSheet)6 LoggingCSSParseErrorHandler (com.helger.css.reader.errorhandler.LoggingCSSParseErrorHandler)3 CollectingCSSParseErrorHandler (com.helger.css.reader.errorhandler.CollectingCSSParseErrorHandler)2 CSSWriter (com.helger.css.writer.CSSWriter)2 Test (org.junit.Test)2 ValueEnforcer (com.helger.commons.ValueEnforcer)1 Nonempty (com.helger.commons.annotation.Nonempty)1 CommonsArrayList (com.helger.commons.collection.impl.CommonsArrayList)1 CommonsLinkedHashMap (com.helger.commons.collection.impl.CommonsLinkedHashMap)1 ICommonsList (com.helger.commons.collection.impl.ICommonsList)1 ICommonsOrderedMap (com.helger.commons.collection.impl.ICommonsOrderedMap)1 IFileFilter (com.helger.commons.io.file.IFileFilter)1 ClassPathResource (com.helger.commons.io.resource.ClassPathResource)1 IReadableResource (com.helger.commons.io.resource.IReadableResource)1 NonBlockingStringWriter (com.helger.commons.io.stream.NonBlockingStringWriter)1 ClassPathHelper (com.helger.commons.lang.ClassPathHelper)1 StringHelper (com.helger.commons.string.StringHelper)1 Wrapper (com.helger.commons.wrapper.Wrapper)1