package test;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.restlet.data.CacheDirective;
import org.restlet.engine.http.header.CacheDirectiveReader;

/**
 * CacheDirectiveReaderTest
 *
 * @author jwinfield
 */
public class CacheDirectiveReaderTest {

   private static final Logger logger = Logger.getLogger(CacheDirectiveReaderTest.class
         .getCanonicalName());

   /**
    * @param args
    */
   public static void main(String[] args) {
      try {
         // directive with comma separator works
         CacheDirectiveReader cdr1 = new CacheDirectiveReader(
               "no-cache, private, no-store");

         List<CacheDirective> vals1 = cdr1.readValues();
         for (CacheDirective cd : vals1) {
            logger.info(cd.toString());
         }

         // directive with semicolon as a separator fails, reads only 1st value
         CacheDirectiveReader cdr2 = new CacheDirectiveReader(
               "no-cache; private; no-store");

         List<CacheDirective> vals2 = cdr2.readValues();
         for (CacheDirective cd : vals2) {
            logger.info(cd.toString());
         }
      } catch (Throwable t) {
         logger.log(Level.SEVERE, "Error", t);
      }
   }
}

