changeset 48:0991de4541f4

+ assembly
author Alexandre Bertails <bertails@w3.org>
date Wed, 28 Sep 2011 15:06:28 -0400
parents f0491f915432
children b84b6e775783
files build-catalog.sh files.txt project/Build.scala src/main/resources/WWW/2005/07/13-filter-utils.xsl src/main/resources/WWW/2005/07/13-pubrules-src.html src/main/resources/WWW/2005/07/13-pubrules.xsl src/main/scala/Main.scala src/main/scala/URLResolver.scala src/main/scala/scala-time/org/scala_tools/time/DurationBuilder.scala src/main/scala/scala-time/org/scala_tools/time/Implicits.scala src/main/scala/scala-time/org/scala_tools/time/Imports.scala src/main/scala/scala-time/org/scala_tools/time/RichAbstractDateTime.scala src/main/scala/scala-time/org/scala_tools/time/RichAbstractInstant.scala src/main/scala/scala-time/org/scala_tools/time/RichAbstractPartial.scala src/main/scala/scala-time/org/scala_tools/time/RichAbstractReadableInstantFieldProperty.scala src/main/scala/scala-time/org/scala_tools/time/RichChronology.scala src/main/scala/scala-time/org/scala_tools/time/RichDate.scala src/main/scala/scala-time/org/scala_tools/time/RichDateMidnight.scala src/main/scala/scala-time/org/scala_tools/time/RichDateTime.scala src/main/scala/scala-time/org/scala_tools/time/RichDateTimeFormatter.scala src/main/scala/scala-time/org/scala_tools/time/RichDateTimeProperty.scala src/main/scala/scala-time/org/scala_tools/time/RichDateTimeZone.scala src/main/scala/scala-time/org/scala_tools/time/RichDuration.scala src/main/scala/scala-time/org/scala_tools/time/RichInstant.scala src/main/scala/scala-time/org/scala_tools/time/RichInt.scala src/main/scala/scala-time/org/scala_tools/time/RichLocalDate.scala src/main/scala/scala-time/org/scala_tools/time/RichLocalDateProperty.scala src/main/scala/scala-time/org/scala_tools/time/RichLocalDateTime.scala src/main/scala/scala-time/org/scala_tools/time/RichLocalDateTimeProperty.scala src/main/scala/scala-time/org/scala_tools/time/RichLocalTime.scala src/main/scala/scala-time/org/scala_tools/time/RichLocalTimeProperty.scala src/main/scala/scala-time/org/scala_tools/time/RichLong.scala src/main/scala/scala-time/org/scala_tools/time/RichPartial.scala src/main/scala/scala-time/org/scala_tools/time/RichPartialProperty.scala src/main/scala/scala-time/org/scala_tools/time/RichPeriod.scala src/main/scala/scala-time/org/scala_tools/time/RichReadableDateTime.scala src/main/scala/scala-time/org/scala_tools/time/RichReadableDuration.scala src/main/scala/scala-time/org/scala_tools/time/RichReadableInstant.scala src/main/scala/scala-time/org/scala_tools/time/RichReadableInterval.scala src/main/scala/scala-time/org/scala_tools/time/RichReadablePartial.scala src/main/scala/scala-time/org/scala_tools/time/RichReadablePeriod.scala src/main/scala/scala-time/org/scala_tools/time/StaticDateTime.scala src/main/scala/scala-time/org/scala_tools/time/StaticDateTimeFormat.scala src/main/scala/scala-time/org/scala_tools/time/StaticDateTimeZone.scala src/main/scala/scala-time/org/scala_tools/time/StaticDuration.scala src/main/scala/scala-time/org/scala_tools/time/StaticInterval.scala src/main/scala/scala-time/org/scala_tools/time/StaticLocalDate.scala src/main/scala/scala-time/org/scala_tools/time/StaticLocalDateTime.scala src/main/scala/scala-time/org/scala_tools/time/StaticLocalTime.scala src/main/scala/scala-time/org/scala_tools/time/StaticPartial.scala src/main/scala/scala-time/org/scala_tools/time/StaticPeriod.scala
diffstat 51 files changed, 491 insertions(+), 1757 deletions(-) [+]
line wrap: on
line diff
--- a/build-catalog.sh	Wed Sep 28 13:36:43 2011 -0400
+++ b/build-catalog.sh	Wed Sep 28 15:06:28 2011 -0400
@@ -2,3 +2,5 @@
 cd src/main/resources
 rm -Rf WWW
 grep -e '^WWW' ../../../files.txt | xargs cvs export -DNOW
+
+sed -i 's|http://www.w3.org/2005/07/pubrules|/2005/07/pubrules|g' WWW/2005/07/{13-pubrules-src.html,13-pubrules.xsl}
\ No newline at end of file
--- a/files.txt	Wed Sep 28 13:36:43 2011 -0400
+++ b/files.txt	Wed Sep 28 15:06:28 2011 -0400
@@ -11,6 +11,7 @@
 
 WWW/2005/07/13-pubrules.xsl
 WWW/2005/07/13-pubrules-src.html
+WWW/2005/07/13-filter-utils.xsl
 WWW/2005/09/checker/frame.xsl
 
 WWW/2005/09/checker/pubrules-tests.xsl
--- a/project/Build.scala	Wed Sep 28 13:36:43 2011 -0400
+++ b/project/Build.scala	Wed Sep 28 15:06:28 2011 -0400
@@ -54,25 +54,25 @@
 
   import Dependencies._
   import BuildSettings._
+  import sbtassembly.Plugin._
 
   val pubrules_settings =
     Seq(
       resolvers += ScalaToolsReleases,
       resolvers += ScalaToolsSnapshots,
       libraryDependencies += scalatest,
-      libraryDependencies += antiXML,
-      libraryDependencies += jodatime,
       libraryDependencies += dispatch,
       libraryDependencies += saxon,
       libraryDependencies += unfiltered_filter,
       libraryDependencies += unfiltered_jetty,
-      libraryDependencies += jTidy
+      libraryDependencies += jTidy,
+      jarName in Assembly := "pubrules-checker.jar"
     )
 
   lazy val pubrules = Project(
     id = "pubrules",
     base = file("."),
-    settings = buildSettings ++ pubrules_settings ++ sbtassembly.Plugin.assemblySettings
+    settings = buildSettings ++ pubrules_settings ++ assemblySettings
   )
   
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/resources/WWW/2005/07/13-filter-utils.xsl	Wed Sep 28 15:06:28 2011 -0400
@@ -0,0 +1,435 @@
+<?xml-stylesheet href="http://www.w3.org/StyleSheets/base.css" type="text/css"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns='http://www.w3.org/1999/xhtml'
+  xmlns:html='http://www.w3.org/1999/xhtml'
+  xmlns:filter='http://www.w3.org/2005/07/filter-utils'
+  exclude-result-prefixes="filter html"
+  version="1.0">
+
+<!-- Mini constraint language parser. The constraint language:
+
+       constraints  ::= constraint [<sp> constraint <sp> ...]
+       constraint   ::= prefix <colon> option [<bar> option <bar> ...]
+       option       ::= string1 [<hypen> string2 <hyphen> ... stringN]
+
+                        where string1 is a subclass of string2 and
+                        and so on to some root class stringN
+
+     Not implemented: "not"
+     Ian Jacobs <ij@w3.org>
+
+--> 
+
+<!--
+     candidate is of type "constraints" where each constraint has:
+           - a different prefix
+           - one option per prefix
+           - N types per option
+
+     reference is of type "constraints" in the general form.
+
+     Returns true if all constraints in reference are consistent
+     with the constraints in candidate, where:
+
+             - only constraints with same prefix are compared.
+
+               Example of how different constraints would be compared:
+
+         candidate          reference      will be compared
+         ==================================================
+        (pre1:a pre2:z)   pre1:a|b|c  pre1 strings
+        (pre1:a pre2:z)   pre2:a|b|c  pre2 strings
+        (pre1:a pre2:z)  (pre1:z pre2:a|b|c)  pre1, pre2 strings
+        (pre1:a pre2:z)   pre3:a|b|c  none
+
+
+             - given a list of options, at least one matches.
+
+             - an option in candidate matches an option in
+               reference if either the candidate string matches
+               the entire reference or any superclass like these
+               examples:
+
+                   candidate          reference        match
+                   =========================================
+                   a-b-c              a-b-c             y
+                   a-b-c                b-c             y
+                   a-b-c                  c             y
+                   a-b-c                                y
+                   a-b-c              z-b-c             n
+                   z-b-c              a-b-c             n
+                   b-c                a-b-c             n
+                          
+-->     
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <link rel="stylesheet" href="http://www.w3.org/StyleSheets/base"/>
+    <title>General Purpose Markup Filter</title>
+    <style type="text/css">
+      template, variable, param, tests { display: none }
+    </style>
+  </head>
+  <body>
+    <div class='head'><a href="/"><img src="/Icons/w3c_home" alt="W3C"/></a> </div>
+    <h1>General Purpose Markup Filter</h1>
+
+    <p>Given marked up xml and a filter, this style sheet will produce
+       result xml that matches the filter. The filter is called the
+       "candidate" and the marked up xml the "reference" below.</p>
+  
+    <p>The filter language lets you express "and" (among classes)
+       "or" (among options within a given class), and includes
+       a rudimentary subclassing mechanism (available for a given
+       option). The filters are strings with reserved character such
+       as space, "|" and "-".</p>
+
+
+    <p>A filter applies <em>unless</em> it contains the string "false".</p>
+       
+    <p>It comes with a Unit test, to allow easier debugging; the test is obtained by running the style sheet against any XML, and the output is given through <code>xsl:message</code>.</p>
+
+    <p class="copyright">Copyright &#169; 2005 <a href="http://www.w3.org/">World Wide Web Consortium</a>, (<a
+href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of
+Technology">M.I.T.</acronym></a>, <a
+href="http://www.ercim.org/"><acronym
+title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a
+href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+    Reserved. http://www.w3.org/Consortium/Legal/. W3C <a href="http://www.w3.org/Consortium/Legal/copyright-software">software licensing</a> rules apply.</p>
+    <address><a href="http://www.w3.org/People/Jacobs/">Ian Jacobs</a> - $Id: 13-filter-utils.xsl,v 1.41 2007/11/12 17:22:10 ijacobs Exp $</address>
+    </body>
+</html>
+
+ <tests xmlns="http://www.w3.org/2005/07/filter-utils">
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference>p:a-b-c</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference>p:b-c</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference>p:c</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference></reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference>p:z-b-c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference>p:a-z-c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>p:a-b-c</candidate>
+    <reference>p:a-b-z</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>p:z-b-c</candidate>
+    <reference>p:a-b-c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>p:a</candidate>
+    <reference>p:a-b-c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>p:b-c</candidate>
+    <reference>p:a-b-c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre1:a pre2:b</reference>
+    <result>truetrue</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre1:a</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre1:b</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre2:b</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre2:c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference></reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre3:c</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>pre1:a pre2:b</candidate>
+    <reference>pre3:c pre4:d</reference>
+    <result>falsefalse</result>
+  </test>
+  <test>
+    <candidate>pre1:a</candidate>
+    <reference>pre1:a|b</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:a</candidate>
+    <reference>pre1:a|b pre2:z</reference>
+    <result>truefalse</result>
+  </test>
+  <test>
+    <candidate>pre1:b</candidate>
+    <reference>pre1:a|b</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:c</candidate>
+    <reference>pre1:a|b</reference>
+    <result>false</result>
+  </test>
+  <test>
+    <candidate>pre1:c</candidate>
+    <reference>pre1:a|b|c</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:a-b</candidate>
+    <reference>pre1:a-b|c</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>pre1:a</candidate>
+    <reference></reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>doc:pr-tr</candidate>
+    <reference>doc:tr|per-tr</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>doc:per-tr</candidate>
+    <reference>doc:tr|per-tr</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>doc:per-tr</candidate>
+    <reference>doc:tr|per-tr|test1|test2</reference>
+    <result>true</result>
+  </test>
+  <test>
+    <candidate>doc:a-b-c</candidate>
+    <reference>doc:tr|per-tr|test1|test2</reference>
+    <result>false</result>
+  </test>
+ </tests>
+
+<!-- 
+     Unit testing based on DHM's example; see
+     http://www.w3.org/2004/12/makeRelativeUri.xsl
+-->
+
+<!-- For the Unit Test -->
+<xsl:template match="/" mode="unittest">
+  <xsl:message>Starting</xsl:message>
+  <xsl:for-each select="document('')/xsl:stylesheet/filter:tests/filter:test">
+      <xsl:message>Running test # <xsl:value-of select="position()"/> with candidate=<xsl:value-of select="filter:candidate"/> and reference=<xsl:value-of select="filter:reference"/>.</xsl:message>
+
+    <xsl:variable name="output">
+      <xsl:call-template name="filter:eval-references">
+        <xsl:with-param name="candidate" select="filter:candidate"/>
+        <xsl:with-param name="reference" select="filter:reference"/>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:choose>
+      <xsl:when test="not($output=filter:result)">
+
+        <xsl:message>-&gt; failed: got <xsl:value-of select="$output"/>, expected <xsl:value-of select="filter:result"/></xsl:message>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:message>success!</xsl:message>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:for-each>
+</xsl:template>
+
+
+<xsl:template name="filter:eval-references">
+  <xsl:param name="candidate"/>
+  <xsl:param name="reference"/>
+  <xsl:choose>
+    <xsl:when test="$reference=''">true</xsl:when>
+    <xsl:otherwise>
+      <xsl:variable name="head" select="substring-before($reference,' ')"/>
+      <!-- See if any pattern in the candidate has the same prefix as
+           the prefix of each piece of reference; if so, evaluate the
+           two together -->
+      <xsl:choose>
+	<xsl:when test="$head=''">
+	  <xsl:call-template name="filter:eval-reference">
+	    <xsl:with-param name="candidate" select="$candidate"/>
+	    <xsl:with-param name="reference" select="$reference"/>
+	  </xsl:call-template>
+	</xsl:when>
+	<xsl:otherwise>
+	  <xsl:call-template name="filter:eval-reference">
+	    <xsl:with-param name="candidate" select="$candidate"/>
+	    <xsl:with-param name="reference" select="$head"/>
+	  </xsl:call-template>
+	  <xsl:call-template name="filter:eval-references">
+	    <xsl:with-param name="candidate" select="$candidate"/>
+	    <xsl:with-param name="reference" select="substring-after($reference,' ')"/>
+	  </xsl:call-template>
+	</xsl:otherwise>
+      </xsl:choose>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template name="filter:eval-reference">
+  <xsl:param name="candidate"/>
+  <xsl:param name="reference"/>
+  <xsl:variable name="prefix" select="concat(substring-before($reference,':'),':')"/>
+  <xsl:variable name="res">
+    <xsl:call-template name="filter:eval-classes">
+      <xsl:with-param name="candidate" select="$candidate"/>
+      <xsl:with-param name="reference" select="$reference"/>
+      <xsl:with-param name="prefix" select="$prefix"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:choose>
+    <!-- if $res='' that means that a prefix that appears
+         in the ref does not appear in the candidate -->
+    <xsl:when test="$res=''">false</xsl:when>
+    <xsl:otherwise><xsl:value-of select="$res"/></xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template name="filter:eval-classes">
+  <xsl:param name="candidate"/>
+  <xsl:param name="reference"/>
+  <xsl:param name="prefix"/>
+  <xsl:if test="$candidate">
+    <xsl:variable name="head" select="substring-before($candidate,' ')"/>
+    <xsl:choose>
+      <xsl:when test="$head=''">
+	<xsl:call-template name="filter:eval-class">
+	  <xsl:with-param name="candidate" select="$candidate"/>
+	  <xsl:with-param name="reference" select="$reference"/>
+	  <xsl:with-param name="prefix" select="$prefix"/>
+	</xsl:call-template>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:call-template name="filter:eval-class">
+	  <xsl:with-param name="candidate" select="$head"/>
+	  <xsl:with-param name="reference" select="$reference"/>
+	  <xsl:with-param name="prefix" select="$prefix"/>
+	</xsl:call-template>
+	<xsl:call-template name="filter:eval-classes">
+	  <xsl:with-param name="candidate" select="substring-after($candidate,' ')"/>
+	  <xsl:with-param name="reference" select="$reference"/>
+	  <xsl:with-param name="prefix" select="$prefix"/>
+	</xsl:call-template>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:if>
+</xsl:template>
+
+<xsl:template name="filter:eval-class">
+  <xsl:param name="candidate"/>
+  <xsl:param name="reference"/>
+  <xsl:param name="prefix"/>
+  <xsl:if test="contains($candidate,$prefix)">
+    <xsl:call-template name="filter:eval-options">
+      <xsl:with-param name="candidate" select="substring-after($candidate,':')"/>
+      <xsl:with-param name="reference" select="substring-after($reference,':')"/>
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<xsl:template name="filter:eval-options">
+  <xsl:param name="candidate"/>
+  <xsl:param name="reference"/>
+  <xsl:choose>
+    <xsl:when test="$reference=''">false</xsl:when>
+    <xsl:otherwise>
+      <xsl:variable name="head" select="substring-before($reference,'|')"/>
+      <xsl:choose>
+	<xsl:when test="$head=''">
+	  <xsl:call-template name="filter:eval-types">
+	    <xsl:with-param name="candidate" select="$candidate"/>
+	    <xsl:with-param name="reference" select="$reference"/>
+	  </xsl:call-template>
+	</xsl:when>
+	<xsl:otherwise>
+	  <xsl:variable name="headresult">
+	    <xsl:call-template name="filter:eval-types">
+	      <xsl:with-param name="candidate" select="$candidate"/>
+	      <xsl:with-param name="reference" select="$head"/>
+	    </xsl:call-template>
+	  </xsl:variable>
+	  <xsl:choose>
+	    <xsl:when test="not(contains($headresult,'false'))">true</xsl:when>
+	    <xsl:otherwise>
+	      <xsl:call-template name="filter:eval-options">
+		<xsl:with-param name="candidate" select="$candidate"/>
+		<xsl:with-param name="reference" select="substring-after($reference,'|')"/>
+	      </xsl:call-template>
+	    </xsl:otherwise>
+	  </xsl:choose>
+	</xsl:otherwise>
+      </xsl:choose>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template name="filter:eval-types">
+  <xsl:param name="candidate"/>
+  <xsl:param name="reference"/>
+  <xsl:choose>
+    <xsl:when test="$candidate=''">false</xsl:when>
+    <xsl:otherwise>
+      <xsl:choose>
+	<xsl:when test="$reference=$candidate">true</xsl:when>
+	<xsl:otherwise>
+	  <xsl:variable name="head" select="substring-after($candidate,'-')"/>
+	  <xsl:choose>
+	    <xsl:when test="$head=''">false</xsl:when>
+	    <xsl:otherwise>
+	      <xsl:call-template name="filter:eval-types">
+		<xsl:with-param name="candidate" select="$head"/>
+		<xsl:with-param name="reference" select="$reference"/>
+	      </xsl:call-template>
+	    </xsl:otherwise>
+	  </xsl:choose>
+	</xsl:otherwise>
+      </xsl:choose>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
--- a/src/main/resources/WWW/2005/07/13-pubrules-src.html	Wed Sep 28 13:36:43 2011 -0400
+++ b/src/main/resources/WWW/2005/07/13-pubrules-src.html	Wed Sep 28 15:06:28 2011 -0400
@@ -73,7 +73,7 @@
 <p>This resource provides three services:</p>
 
 <ol>
-<li><a href="http://www.w3.org/2005/07/pubrules?uimode=filter">Pubrules filter</a>,
+<li><a href="/2005/07/pubrules?uimode=filter">Pubrules filter</a>,
 which shows only the relevant requirements for publication of a
 <a
 href="13-pubrules-about#techreport">W3C Technical Report</a>, <a
@@ -81,10 +81,10 @@
 <a href="http://www.w3.org/2005/Incubator/">Incubator Report</a>.</li>
 <li>Checker, available in two flavors: 
 <ul>
-<li>Use <a href="http://www.w3.org/2005/07/pubrules?uimode=checker">auto mode</a>
+<li>Use <a href="/2005/07/pubrules?uimode=checker">auto mode</a>
 to determine values from the document and then run
 the checker (then switching to manual mode for adjustments).</li>
-<li>Use <a href="http://www.w3.org/2005/07/pubrules?uimode=checker_full">manual
+<li>Use <a href="/2005/07/pubrules?uimode=checker_full">manual
 mode</a> to exercise control over the type of tests run and
 their display.</li>
 </ul>
@@ -99,7 +99,7 @@
 
 <p>A <a href="13-pubrules-about">companion document</a> includes a
 glossary, roles, and history of this document.  A <a
-href="http://www.w3.org/2005/07/pubrules-compare">comparison of requirements</a> across
+href="/2005/07/pubrules-compare">comparison of requirements</a> across
 all document types is available.</p>
 
 <p>For information about process requirements (how to request a transition,
--- a/src/main/resources/WWW/2005/07/13-pubrules.xsl	Wed Sep 28 13:36:43 2011 -0400
+++ b/src/main/resources/WWW/2005/07/13-pubrules.xsl	Wed Sep 28 15:06:28 2011 -0400
@@ -29,7 +29,7 @@
 <xsl:param name="uimode">checker</xsl:param>
 
 <xsl:variable name="parser">http://www.w3.org/2005/09/checker/pubrules-parser</xsl:variable>
-<xsl:variable name="pubrulessrc">http://www.w3.org/2005/07/pubrules</xsl:variable>
+<xsl:variable name="pubrulessrc">/2005/07/pubrules</xsl:variable>
 
 <xsl:variable name="hidewhennouri" select="$uimode='checker' or ($uimode='checker_full' and $uri='')"/>
 
--- a/src/main/scala/Main.scala	Wed Sep 28 13:36:43 2011 -0400
+++ b/src/main/scala/Main.scala	Wed Sep 28 15:06:28 2011 -0400
@@ -8,16 +8,15 @@
 
 import net.sf.saxon.s9api._
 import javax.xml.transform.stream.StreamSource
-// import java.io.{InputStream, OutputStream, ByteArrayInputStream, ByteArrayOutputStream}
 import java.io.{Console => _, _}
 import java.net._
 
+import dispatch._
 import org.w3c.tidy.Tidy
 
 /*
  * - tests
  * - corriger url de base
- * - jtidy
  * - gestion des exceptions
  * - customiser xsl
  * 
@@ -214,35 +213,38 @@
 
   def apply(url:String):Source = Source(new URL(url))
 
-  import dispatch._
-
+  /** http://jtidy.sourceforge.net/apidocs/org/w3c/tidy/Tidy.html
+    * http://tidy.sourceforge.net/docs/quickref.html
+    * we may have to use a local tidy if jtidy is not enough:
+    *   https://lists.w3.org/Archives/Team/w3t-sys/2011SepOct/0162.html
+    */
   def tidy(in:InputStream, charset:String):InputStream = {
     val tidy = new Tidy
     // tidy_options = ["-n", "-asxml", "-q", "--force-output","yes", "--show-warnings", "no"]
     tidy.setXHTML(true)
-    println(charset)
-//    tidy.setInputEncoding(charset.toUpperCase)
-    tidy.setInputEncoding("utf8")
-    tidy.setOutputEncoding("utf8")
-    //tidy.setNumEntities(true)
+    tidy.setInputEncoding(charset.toUpperCase)
+    tidy.setOutputEncoding("UFT-8")
+    tidy.setShowWarnings(false)
+    tidy.setShowErrors(0)
+    tidy.setQuiet(true)
     val out = new ByteArrayOutputStream
-    // tidy.parse(in, out)
-    // new ByteArrayInputStream(out.toByteArray)
-    println("\n\n\n\n\n\n===========================\n\n\n\n\n\n")
-    tidy.parse(in, new FileOutputStream("/tmp/out.xml"))
-    new FileInputStream("/tmp/out.xml")
+    tidy.parse(in, out)
+    new ByteArrayInputStream(out.toByteArray)
+//     println("\n\n\n\n\n\n===========================\n\n\n\n\n\n")
+//     tidy.parse(in, new FileOutputStream("/tmp/out.xml"))
+//     new FileInputStream("/tmp/out.xml")
   }
 
 
-  def tidytest(url:String, charin:String, charout:String):Unit = {
-    val tidy = new Tidy
-    val in = new URL(url).openStream()
-    tidy.setXHTML(true)
-    tidy.setInputEncoding(charin)
-    tidy.setOutputEncoding(charout)
-    //tidy.setNumEntities(true)
-    tidy.parse(in, new FileOutputStream("/tmp/out.xml"))
-  }
+  // def tidytest(url:String, charin:String, charout:String):Unit = {
+  //   val tidy = new Tidy
+  //   val in = new URL(url).openStream()
+  //   tidy.setXHTML(true)
+  //   tidy.setInputEncoding(charin)
+  //   tidy.setOutputEncoding(charout)
+  //   //tidy.setNumEntities(true)
+  //   tidy.parse(in, new FileOutputStream("/tmp/out.xml"))
+  // }
 
   def fromTidy(url:URL):Source = {
     val is:InputStream = Http(new Request(url.toString) >> (tidy _))
--- a/src/main/scala/URLResolver.scala	Wed Sep 28 13:36:43 2011 -0400
+++ b/src/main/scala/URLResolver.scala	Wed Sep 28 15:06:28 2011 -0400
@@ -9,7 +9,6 @@
 import java.io._
 import java.util.jar._
 import scala.collection.JavaConversions._
-// import scala.io.Source
 
 case class CachedResponse(in:InputStream) extends CacheResponse {
   def getBody() = in
@@ -30,18 +29,18 @@
           rqstHeaders:JMap[String, JList[String]]):CacheResponse = {
     val uriString = uri.toString
     URLResolver.prefixes find { uriString startsWith _._1 } match {
+      case _ if uriString startsWith "http://www.w3.org/services/headers?url=" =>
+        URLResolver.headers(uriString.substring(39))
       case Some((prefix, path)) => {
         val local = uriString.replaceAll("^"+prefix, path)
         val file = new File(base, local)
         // priority to filesystem or to embedded files ?
-
         if (file exists) {
           CachedResponse(file)
         } else {
-          println("Not found on filesystem: "+uriString)
           val urlClasspath = URLResolver.classloader.getResource(local)
           if (urlClasspath == null) {
-            println("Not found in classpath: "+urlClasspath)
+            println("I need to dereference " + uriString)
             null
           } else {
             CachedResponse(urlClasspath.openStream())
@@ -58,10 +57,25 @@
 
 object URLResolver {
 
+  import dispatch._
+
+  /** fakes a call to http://www.w3.org/services/headers?url= */
+  def headers(url:String):CacheResponse =
+    try {
+      val contentType:String = Http(new Request(url).copy(method="HEAD") >:> { _("Content-Type").head } )
+      val body =
+"""<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
+<body><pre><span class='headername'>Content-Type</span>: <span class="headervalue">%s</span></pre></body>
+</html>""" format contentType
+      CachedResponse(new ByteArrayInputStream(body.getBytes("UTF-8")))
+    } catch {
+      case _ => null
+    }
+
   val clazz:Class[_] = this.getClass
   val classloader = this.getClass.getClassLoader
 
-
   val prefixes = Map(
     "http://www.w3.org/TR/ruby/"   -> "WWW/TR/2001/REC-ruby-20010531/",
     "http://www.w3.org/TR/xhtml1/" -> "WWW/TR/2002/REC-xhtml1-20020801/",
--- a/src/main/scala/scala-time/org/scala_tools/time/DurationBuilder.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-private[time] object DurationBuilder {
-  def apply(underlying: Period): DurationBuilder =
-    new DurationBuilder(underlying)
-}
-
-// Duration Builder
-sealed private[time] class DurationBuilder(val underlying: Period) {
-  // DurationBuilder + DurationBuilder = DurationBuilder
-  // This is the only operation that can maintain a DurationBuilder
-  // Everything else kicks us out to DateTime, Duration, or Period
-  def +(that: DurationBuilder): DurationBuilder =
-    DurationBuilder(this.underlying.plus(that.underlying))
-
-  def ago: DateTime =
-    StaticDateTime.now.minus(underlying)
-  def later: DateTime =
-    StaticDateTime.now.plus(underlying)
-  def from(dt: DateTime): DateTime =
-    dt.plus(underlying)
-  def before(dt: DateTime): DateTime =
-    dt.minus(underlying)
-  
-  def standardDuration: Duration =
-    underlying.toStandardDuration  
-  def toDuration: Duration =
-    underlying.toStandardDuration  
-  def toPeriod: Period =
-    underlying
-    
-  def -(period: ReadablePeriod): Period =
-    underlying.minus(period)
-  def +(period: ReadablePeriod): Period =
-    underlying.plus(period)
-
-  def millis: Long =
-    underlying.toStandardDuration.getMillis
-  def seconds: Long =
-    underlying.toStandardDuration.getStandardSeconds
-  def -(amount: Long): Duration =
-    underlying.toStandardDuration.minus(amount)
-  def -(amount: ReadableDuration): Duration =
-    underlying.toStandardDuration.minus(amount)
-  def +(amount: Long): Duration =
-    underlying.toStandardDuration.plus(amount)
-  def +(amount: ReadableDuration): Duration =
-    underlying.toStandardDuration.plus(amount)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/Implicits.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- * Copyright 2009 Barry Kaplan
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.{Date, Locale}
-import org.joda.time._
-import org.joda.time.base.{AbstractDateTime, AbstractInstant, AbstractPartial}
-import org.joda.time.format.DateTimeFormatter
-import org.joda.time.field.AbstractReadableInstantFieldProperty
-
-object Implicits extends Implicits
-object BuilderImplicits extends Implicits
-object IntImplicits extends IntImplicits
-object JodaImplicits extends JodaImplicits
-
-trait Implicits extends BuilderImplicits with IntImplicits with DateImplicits with JodaImplicits
-
-trait BuilderImplicits {
-  implicit def forcePeriod(builder: DurationBuilder): Period =
-    builder.underlying
-  implicit def forceDuration(builder: DurationBuilder): Duration =
-    builder.underlying.toStandardDuration
-}
-
-trait IntImplicits {
-  implicit def RichInt(n: Int): RichInt = new org.scala_tools.time.RichInt(n)
-  implicit def RichLong(n: Long): RichLong = new org.scala_tools.time.RichLong(n)
-}
-
-trait DateImplicits {
-  implicit def RichDate(d: Date): RichDate = new org.scala_tools.time.RichDate(d)
-}
-
-trait JodaImplicits {
-  implicit def RichAbstractDateTime(dt: AbstractDateTime): RichAbstractDateTime = new RichAbstractDateTime(dt)
-  implicit def RichAbstractInstant(in: AbstractInstant): RichAbstractInstant = new RichAbstractInstant(in)
-  implicit def RichAbstractPartial(pt: AbstractPartial): RichAbstractPartial = new RichAbstractPartial(pt)
-  implicit def RichAbstractReadableInstantFieldProperty(pty: AbstractReadableInstantFieldProperty): RichAbstractReadableInstantFieldProperty =
-    new RichAbstractReadableInstantFieldProperty(pty)
-  implicit def RichChronology(ch: Chronology): RichChronology = new RichChronology(ch)
-  implicit def RichDateMidnight(dm: DateMidnight): RichDateMidnight = new RichDateMidnight(dm)
-  implicit def RichDateTime(dt: DateTime): RichDateTime = new RichDateTime(dt)
-  implicit def RichDateTimeFormatter(fmt: DateTimeFormatter): RichDateTimeFormatter = new RichDateTimeFormatter(fmt)
-  implicit def RichDateTimeProperty(pty: DateTime.Property): RichDateTimeProperty = new RichDateTimeProperty(pty)
-  implicit def RichDateTimeZone(zone: DateTimeZone): RichDateTimeZone = new RichDateTimeZone(zone)
-  implicit def RichDuration(dur: Duration): RichDuration = new RichDuration(dur)
-  implicit def RichInstant(in: Instant): RichInstant = new RichInstant(in)
-  implicit def RichLocalDate(ld: LocalDate): RichLocalDate = new RichLocalDate(ld)
-  implicit def RichLocalDateProperty(pty: LocalDate.Property): RichLocalDateProperty = new RichLocalDateProperty(pty)
-  implicit def RichLocalDateTime(dt: LocalDateTime): RichLocalDateTime = new RichLocalDateTime(dt)
-  implicit def RichLocalDateTimeProperty(pty: LocalDateTime.Property): RichLocalDateTimeProperty = new RichLocalDateTimeProperty(pty)
-  implicit def RichLocalTime(lt: LocalTime): RichLocalTime = new RichLocalTime(lt)
-  implicit def RichLocalTimeProperty(pty: LocalTime.Property): RichLocalTimeProperty = new RichLocalTimeProperty(pty)
-  implicit def RichPartial(pt: Partial): RichPartial = new RichPartial(pt)
-  implicit def RichPartialProperty(pty: Partial.Property): RichPartialProperty = new RichPartialProperty(pty)
-  implicit def RichPeriod(per: Period): RichPeriod = new RichPeriod(per)
-  implicit def RichReadableDateTime(dt: ReadableDateTime): RichReadableDateTime = new RichReadableDateTime(dt)
-  implicit def RichReadableDuration(dur: ReadableDuration): RichReadableDuration = new RichReadableDuration(dur)
-  implicit def RichReadableInstant(in: ReadableInstant): RichReadableInstant = new RichReadableInstant(in)
-  implicit def RichReadableInterval(in: ReadableInterval): RichReadableInterval = new RichReadableInterval(in)
-  implicit def RichReadablePartial(rp: ReadablePartial): RichReadablePartial = new RichReadablePartial(rp)
-  implicit def RichReadablePeriod(per: ReadablePeriod): RichReadablePeriod = new RichReadablePeriod(per)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/Imports.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- * Copyright 2009 Barry Kaplan
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-object Imports extends Imports
-object TypeImports extends TypeImports
-object StaticForwarderImports extends StaticForwarderImports
-
-trait Imports extends TypeImports with StaticForwarderImports with Implicits
-
-trait TypeImports {
-  type Chronology     = org.joda.time.Chronology
-  type DateTime       = org.joda.time.DateTime
-  type DateTimeFormat = org.joda.time.format.DateTimeFormat
-  type DateTimeZone   = org.joda.time.DateTimeZone
-  type Duration       = org.joda.time.Duration
-  type Interval       = org.joda.time.Interval
-  type LocalDate      = org.joda.time.LocalDate
-  type LocalDateTime  = org.joda.time.LocalDateTime
-  type LocalTime      = org.joda.time.LocalTime
-  type Period         = org.joda.time.Period
-  type Partial        = org.joda.time.Partial
-}
-
-trait StaticForwarderImports {
-  val DateTime       = org.scala_tools.time.StaticDateTime
-  val DateTimeFormat = org.scala_tools.time.StaticDateTimeFormat
-  val DateTimeZone   = org.scala_tools.time.StaticDateTimeZone
-  val Duration       = org.scala_tools.time.StaticDuration
-  val Interval       = org.scala_tools.time.StaticInterval
-  val LocalDate      = org.scala_tools.time.StaticLocalDate
-  val LocalDateTime  = org.scala_tools.time.StaticLocalDateTime
-  val LocalTime      = org.scala_tools.time.StaticLocalTime
-  val Period         = org.scala_tools.time.StaticPeriod
-  val Partial        = org.scala_tools.time.StaticPartial
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichAbstractDateTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.{Locale, Calendar, GregorianCalendar}
-import org.joda.time._
-import org.joda.time.base.AbstractDateTime
-
-class RichAbstractDateTime(underlying: AbstractDateTime) {
-  def calendar(locale: Locale): Calendar =
-    underlying.toCalendar(locale)
-  def gregorianCalendar: Calendar =
-    underlying.toGregorianCalendar
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichAbstractInstant.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Date
-import org.joda.time._
-import org.joda.time.base.AbstractInstant
-
-class RichAbstractInstant(underlying: AbstractInstant) {
-  def date: Date =
-    underlying.toDate
-  def dateTime: DateTime =
-    underlying.toDateTime
-  def dateTime(chronology: Chronology): DateTime =
-    underlying.toDateTime(chronology)
-  def dateTime(zone: DateTimeZone): DateTime =
-    underlying.toDateTime(zone)
-  def dateTimeISO: DateTime =
-    underlying.toDateTimeISO
-  def instant: Instant =
-    underlying.toInstant
-  def mutableDateTime: MutableDateTime =
-    underlying.toMutableDateTime
-  def mutableDateTime(chronology: Chronology): MutableDateTime =
-    underlying.toMutableDateTime(chronology)
-  def mutableDateTime(zone: DateTimeZone): MutableDateTime =
-    underlying.toMutableDateTime(zone)
-  def mutableDateTimeISO: MutableDateTime =
-    underlying.toMutableDateTimeISO
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichAbstractPartial.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-import org.joda.time.base.AbstractPartial
-
-class RichAbstractPartial(underlying: AbstractPartial) extends Ordered[AbstractPartial] {
-  def fields = underlying.getFields
-  def fieldTypes = underlying.getFieldTypes
-  def values = underlying.getValues
-
-  override def compare(that: AbstractPartial): Int =
-    underlying.compareTo(that)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichAbstractReadableInstantFieldProperty.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-import org.joda.time.field.AbstractReadableInstantFieldProperty
-
-class RichAbstractReadableInstantFieldProperty(underlying: AbstractReadableInstantFieldProperty) {
-  def shortText: String =
-    underlying.getAsShortText
-  def asShortText: String =
-    underlying.getAsShortText
-  def shortText(locale: Locale): String =
-    underlying.getAsShortText(locale)
-  def asShortText(locale: Locale): String =
-    underlying.getAsShortText(locale)
-  def asString: String =
-    underlying.getAsString
-  def text: String =
-    underlying.getAsText
-  def asText: String =
-    underlying.getAsText
-  def text(locale: Locale): String =
-    underlying.getAsText(locale)
-  def asText(locale: Locale): String =
-    underlying.getAsText(locale)
-  def durationField: DurationField =
-    underlying.getDurationField
-  def field: DateTimeField =
-    underlying.getField
-  def fieldType: DateTimeFieldType =
-    underlying.getFieldType
-  def leapAmount: Int =
-    underlying.getLeapAmount
-  def leapDurationField: DurationField =
-    underlying.getLeapDurationField
-  def maximumValue: Int =
-    underlying.getMaximumValue
-  def maxValue: Int =
-    underlying.getMaximumValue
-  def maximumValueOverall: Int =
-    underlying.getMaximumValueOverall
-  def maxValueOverall: Int =
-    underlying.getMaximumValueOverall
-  def minimumValue: Int =
-    underlying.getMinimumValue
-  def minValue: Int =
-    underlying.getMinimumValue
-  def minimumValueOverall: Int =
-    underlying.getMinimumValueOverall
-  def minValueOverall: Int =
-    underlying.getMinimumValueOverall
-  def name: String =
-    underlying.getName
-  def rangeDurationField: DurationField =
-    underlying.getRangeDurationField
-
-  def interval: Interval =
-    underlying.toInterval
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichChronology.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichChronology(underlying: Chronology) {
-  def zone: Option[DateTimeZone] =
-    nullCheck(underlying.getZone)
-  private def nullCheck[T <: AnyRef](x: T): Option[T] =
-    if (x == null) None else Some(x)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDate.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-package org.scala_tools.time
-
-import java.util.Date
-import org.joda.time._
-
-class RichDate(val d: Date) {
-  def toLocalDateTime: LocalDateTime = StaticLocalDateTime.fromDateFields(d)
-  def toLocalDate: LocalDate = StaticLocalDate.fromDateFields(d)
-  def toLocalTime: LocalTime = StaticLocalTime.fromDateFields(d)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDateMidnight.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichDateMidnight(underlying: DateMidnight) {
-  def -(duration: Long): DateMidnight =
-    underlying.minus(duration)
-  def -(duration: ReadableDuration): DateMidnight =
-    underlying.minus(duration)
-  def -(period: ReadablePeriod): DateMidnight =
-    underlying.minus(period)
-  def -(builder: DurationBuilder): DateMidnight =
-    underlying.minus(builder.underlying)
-  def +(duration: Long): DateMidnight =
-    underlying.plus(duration)
-  def +(duration: ReadableDuration): DateMidnight =
-    underlying.plus(duration)
-  def +(period: ReadablePeriod): DateMidnight =
-    underlying.plus(period)
-  def +(builder: DurationBuilder): DateMidnight =
-    underlying.plus(builder.underlying)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDateTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichDateTime(underlying: DateTime) {
-  def -(duration: Long): DateTime =
-    underlying.minus(duration)
-  def -(duration: ReadableDuration): DateTime =
-    underlying.minus(duration)
-  def -(period: ReadablePeriod): DateTime =
-    underlying.minus(period)
-  def -(builder: DurationBuilder): DateTime =
-    underlying.minus(builder.underlying)
-  def +(duration: Long): DateTime =
-    underlying.plus(duration)
-  def +(duration: ReadableDuration): DateTime =
-    underlying.plus(duration)
-  def +(period: ReadablePeriod): DateTime =
-    underlying.plus(period)
-  def +(builder: DurationBuilder): DateTime =
-    underlying.plus(builder.underlying)
-  
-  def second: DateTime.Property = underlying.secondOfMinute
-  def minute: DateTime.Property = underlying.minuteOfHour
-  def hour: DateTime.Property = underlying.hourOfDay
-  def day: DateTime.Property = underlying.dayOfMonth
-  def week: DateTime.Property = underlying.weekOfWeekyear
-  def month: DateTime.Property = underlying.monthOfYear
-  def year: DateTime.Property = underlying.year
-  def century: DateTime.Property = underlying.centuryOfEra
-  def era: DateTime.Property = underlying.era
-  
-  def withSecond(second: Int) = underlying.withSecondOfMinute(second)
-  def withMinute(minute: Int) = underlying.withMinuteOfHour(minute)
-  def withHour(hour: Int) = underlying.withHourOfDay(hour)
-  def withDay(day: Int) = underlying.withDayOfMonth(day)
-  def withWeek(week: Int) = underlying.withWeekOfWeekyear(week)
-  def withMonth(month: Int) = underlying.withMonthOfYear(month)
-  def withYear(year: Int) = underlying.withYear(year)
-  def withCentury(century: Int) = underlying.withCenturyOfEra(century)
-  def withEra(era: Int) = underlying.withEra(era)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDateTimeFormatter.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-import org.joda.time.format.{DateTimeFormatter, DateTimeParser,
-  DateTimePrinter}
-
-class RichDateTimeFormatter(underlying: DateTimeFormatter) {
-  def chronology: Chronology = underlying.getChronolgy
-  def locale: Locale = underlying.getLocale
-  def parser: DateTimeParser = underlying.getParser
-  def pivotYear: Int = underlying.getPivotYear.intValue
-  def printer: DateTimePrinter = underlying.getPrinter
-  def zone: DateTimeZone = underlying.getZone
-  def parseOption(text: String): Option[DateTime] =
-    try {
-      Some(underlying.parseDateTime(text))
-    } catch {
-      case _ : UnsupportedOperationException => None
-      case _ : IllegalArgumentException => None
-    }
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDateTimeProperty.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-
-class RichDateTimeProperty(underlying: DateTime.Property) {
-  def dateTime: DateTime =
-    underlying.getDateTime
-  def roundFloor: DateTime =
-    underlying.roundFloorCopy
-  def roundCeiling: DateTime =
-    underlying.roundCeilingCopy
-  def roundDown: DateTime =
-    underlying.roundFloorCopy
-  def roundUp: DateTime =
-    underlying.roundCeilingCopy
-  def round: DateTime =
-    underlying.roundHalfEvenCopy
-
-  def apply(value: Int): DateTime = underlying.setCopy(value)
-  def apply(text: String): DateTime = underlying.setCopy(text)
-  def apply(text: String, locale: Locale): DateTime =
-    underlying.setCopy(text, locale)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDateTimeZone.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichDateTimeZone(underlying: DateTimeZone) {
-  def id: String =
-    underlying.getID
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichDuration.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichDuration(underlying: Duration) {
-  def seconds: Long =
-    underlying.getStandardSeconds
-  def -(amount: Long): Duration =
-    underlying.minus(amount)
-  def -(amount: ReadableDuration): Duration =
-    underlying.minus(amount)
-  def +(amount: Long): Duration =
-    underlying.plus(amount)
-  def +(amount: ReadableDuration): Duration =
-    underlying.plus(amount)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichInstant.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichInstant(underlying: Instant) {
-  def -(duration: Long): Instant =
-    underlying.minus(duration)
-  def -(duration: ReadableDuration): Instant =
-    underlying.minus(duration)
-  def +(duration: Long): Instant =
-    underlying.plus(duration)
-  def +(duration: ReadableDuration): Instant =
-    underlying.plus(duration)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichInt.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichInt(n: Int) {
-  // These units of time can build durations or periods.
-  // At most we lose a leap second. (Unless someone adopts
-  // leap minutes).
-  def millis  = DurationBuilder(Period.millis(n))
-  def seconds = DurationBuilder(Period.seconds(n))
-  def minutes = DurationBuilder(Period.minutes(n))
-  def hours   = DurationBuilder(Period.hours(n))
-
-  // These units of time can only be periods. At this
-  // point if we made durations automatically we'd start
-  // getting into trouble with daylight savings time,
-  // monthly differences, leap years, etc.
-  def days   = Period.days(n)
-  def weeks  = Period.weeks(n)
-  def months = Period.months(n)
-  def years  = Period.years(n)
-
-  // See above.
-  def milli  = DurationBuilder(Period.millis(n))
-  def second = DurationBuilder(Period.seconds(n))
-  def minute = DurationBuilder(Period.minutes(n))
-  def hour   = DurationBuilder(Period.hours(n))
-
-  // See above.
-  def day   = Period.days(n)
-  def week  = Period.weeks(n)
-  def month = Period.months(n)
-  def year  = Period.years(n)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLocalDate.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- * Copyright 2009 Barry Kaplan
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichLocalDate(underlying: LocalDate) {
-  def -(period: ReadablePeriod): LocalDate =
-    underlying.minus(period)
-  def -(builder: DurationBuilder): LocalDate =
-    underlying.minus(builder.underlying)
-  def +(period: ReadablePeriod): LocalDate =
-    underlying.plus(period)
-  def +(builder: DurationBuilder): LocalDate =
-    underlying.plus(builder.underlying)
-
-  def day: LocalDate.Property = underlying.dayOfMonth
-  def week: LocalDate.Property = underlying.weekOfWeekyear
-  def month: LocalDate.Property = underlying.monthOfYear
-  def year: LocalDate.Property = underlying.year
-  def century: LocalDate.Property = underlying.centuryOfEra
-  def era: LocalDate.Property = underlying.era
-
-  def withDay(day: Int) = underlying.withDayOfMonth(day)
-  def withWeek(week: Int) = underlying.withWeekOfWeekyear(week)
-  def withMonth(month: Int) = underlying.withMonthOfYear(month)
-  def withYear(year: Int) = underlying.withYear(year)
-  def withCentury(century: Int) = underlying.withCenturyOfEra(century)
-  def withEra(era: Int) = underlying.withEra(era)
-  
-  def interval = underlying.toInterval
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLocalDateProperty.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-
-class RichLocalDateProperty(underlying: LocalDate.Property) {
-  def localDate: LocalDate =
-    underlying.getLocalDate
-  def roundFloor: LocalDate =
-    underlying.roundFloorCopy
-  def roundCeiling: LocalDate =
-    underlying.roundCeilingCopy
-  def roundDown: LocalDate =
-    underlying.roundFloorCopy
-  def roundUp: LocalDate =
-    underlying.roundCeilingCopy
-  def round: LocalDate =
-    underlying.roundHalfEvenCopy
-
-  def apply(value: Int): LocalDate = underlying.setCopy(value)
-  def apply(text: String): LocalDate = underlying.setCopy(text)
-  def apply(text: String, locale: Locale): LocalDate =
-    underlying.setCopy(text, locale)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLocalDateTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichLocalDateTime(underlying: LocalDateTime) {
-  def -(duration: ReadableDuration): LocalDateTime =
-    underlying.minus(duration)
-  def -(period: ReadablePeriod): LocalDateTime =
-    underlying.minus(period)
-  def -(builder: DurationBuilder): LocalDateTime =
-    underlying.minus(builder.underlying)
-  def +(duration: ReadableDuration): LocalDateTime =
-    underlying.plus(duration)
-  def +(period: ReadablePeriod): LocalDateTime =
-    underlying.plus(period)
-  def +(builder: DurationBuilder): LocalDateTime =
-    underlying.plus(builder.underlying)
-
-  def second: LocalDateTime.Property = underlying.secondOfMinute
-  def minute: LocalDateTime.Property = underlying.minuteOfHour
-  def hour: LocalDateTime.Property = underlying.hourOfDay
-  def day: LocalDateTime.Property = underlying.dayOfMonth
-  def week: LocalDateTime.Property = underlying.weekOfWeekyear
-  def month: LocalDateTime.Property = underlying.monthOfYear
-  def year: LocalDateTime.Property = underlying.year
-  def century: LocalDateTime.Property = underlying.centuryOfEra
-  def era: LocalDateTime.Property = underlying.era
-
-  def withSecond(second: Int) = underlying.withSecondOfMinute(second)
-  def withMinute(minute: Int) = underlying.withMinuteOfHour(minute)
-  def withHour(hour: Int) = underlying.withHourOfDay(hour)
-  def withDay(day: Int) = underlying.withDayOfMonth(day)
-  def withWeek(week: Int) = underlying.withWeekOfWeekyear(week)
-  def withMonth(month: Int) = underlying.withMonthOfYear(month)
-  def withYear(year: Int) = underlying.withYear(year)
-  def withCentury(century: Int) = underlying.withCenturyOfEra(century)
-  def withEra(era: Int) = underlying.withEra(era)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLocalDateTimeProperty.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-
-class RichLocalDateTimeProperty(underlying: LocalDateTime.Property) {
-  def localDateTime: LocalDateTime =
-    underlying.getLocalDateTime
-  def roundFloor: LocalDateTime =
-    underlying.roundFloorCopy
-  def roundCeiling: LocalDateTime =
-    underlying.roundCeilingCopy
-  def roundDown: LocalDateTime =
-    underlying.roundFloorCopy
-  def roundUp: LocalDateTime =
-    underlying.roundCeilingCopy
-  def round: LocalDateTime =
-    underlying.roundHalfEvenCopy
-
-  def apply(value: Int): LocalDateTime = underlying.setCopy(value)
-  def apply(text: String): LocalDateTime = underlying.setCopy(text)
-  def apply(text: String, locale: Locale): LocalDateTime =
-    underlying.setCopy(text, locale)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLocalTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/**
- * Copyright 2009 Barry Kaplan
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichLocalTime(underlying: LocalTime) {
-  def -(period: ReadablePeriod): LocalTime =
-    underlying.minus(period)
-  def -(builder: DurationBuilder): LocalTime =
-    underlying.minus(builder.underlying)
-  def +(period: ReadablePeriod): LocalTime =
-    underlying.plus(period)
-  def +(builder: DurationBuilder): LocalTime =
-    underlying.plus(builder.underlying)
-
-  def second: LocalTime.Property = underlying.secondOfMinute
-  def minute: LocalTime.Property = underlying.minuteOfHour
-  def hour: LocalTime.Property = underlying.hourOfDay
-
-  def withSecond(second: Int) = underlying.withSecondOfMinute(second)
-  def withMinute(minute: Int) = underlying.withMinuteOfHour(minute)
-  def withHour(hour: Int) = underlying.withHourOfDay(hour)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLocalTimeProperty.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-
-class RichLocalTimeProperty(underlying: LocalTime.Property) {
-  def localTime: LocalTime =
-    underlying.getLocalTime
-  def roundFloor: LocalTime =
-    underlying.roundFloorCopy
-  def roundCeiling: LocalTime =
-    underlying.roundCeilingCopy
-  def roundDown: LocalTime =
-    underlying.roundFloorCopy
-  def roundUp: LocalTime =
-    underlying.roundCeilingCopy
-  def round: LocalTime =
-    underlying.roundHalfEvenCopy
-
-  def apply(value: Int): LocalTime = underlying.setCopy(value)
-  def apply(text: String): LocalTime = underlying.setCopy(text)
-  def apply(text: String, locale: Locale): LocalTime =
-    underlying.setCopy(text, locale)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichLong.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichLong(n: Long) {
-  def toDateTime = new DateTime(n)
-  def toDuration = new Duration(n)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichPartial.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichPartial(underlying: Partial) {
-  def formatter = underlying.getFormatter
-  
-  def -(period: ReadablePeriod): Partial =
-    underlying.minus(period)
-  def -(builder: DurationBuilder): Partial =
-    underlying.minus(builder.underlying)
-  def +(period: ReadablePeriod): Partial =
-    underlying.plus(period)
-  def +(builder: DurationBuilder): Partial =
-    underlying.plus(builder.underlying)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichPartialProperty.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-
-class RichPartialProperty(underlying: Partial.Property) {
-  def partial: Partial =
-    underlying.getPartial
-
-  def apply(value: Int): Partial = underlying.setCopy(value)
-  def apply(text: String): Partial = underlying.setCopy(text)
-  def apply(text: String, locale: Locale): Partial =
-    underlying.setCopy(text, locale)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichPeriod.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichPeriod(underlying: Period) {
-  def days: Int =
-    underlying.getDays
-  def hours: Int =
-    underlying.getHours
-  def millis: Int =
-    underlying.getMillis
-  def minutes: Int =
-    underlying.getMinutes
-  def months: Int =
-    underlying.getMonths
-  def seconds: Int =
-    underlying.getSeconds
-  def weeks: Int =
-    underlying.getWeeks
-  def years: Int =
-    underlying.getYears
-  def -(period: ReadablePeriod): Period =
-    underlying.minus(period)
-  def +(period: ReadablePeriod): Period =
-    underlying.plus(period)
-  def ago: DateTime =
-    StaticDateTime.now.minus(underlying)
-  def later: DateTime =
-    StaticDateTime.now.plus(underlying)
-  def from(dt: DateTime): DateTime =
-    dt.plus(underlying)
-  def before(dt: DateTime): DateTime =
-    dt.minus(underlying)
-  
-  def standardDuration: Duration =
-    underlying.toStandardDuration
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichReadableDateTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichReadableDateTime(underlying: ReadableDateTime) {  
-  def second: Int =
-    underlying.getSecondOfMinute
-  def minute: Int =
-    underlying.getMinuteOfHour
-  def hour: Int =
-    underlying.getHourOfDay
-  def day: Int =
-    underlying.getDayOfMonth
-  def week: Int =
-    underlying.getWeekOfWeekyear
-  def month: Int =
-    underlying.getMonthOfYear
-  def year: Int =
-    underlying.getYear
-  def century: Int =
-    underlying.getCenturyOfEra
-  
-  def dateTime: DateTime =
-    underlying.toDateTime
-  def mutableDateTime: MutableDateTime =
-    underlying.toMutableDateTime
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichReadableDuration.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichReadableDuration(underlying: ReadableDuration) extends Ordered[ReadableDuration] {
-  def millis: Long =
-    underlying.getMillis
-  def compare(other: ReadableDuration): Int =
-    underlying.compareTo(other)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichReadableInstant.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichReadableInstant(underlying: ReadableInstant) extends Ordered[ReadableInstant] {
-  def chronology: Chronology =
-    underlying.getChronology
-  def millis: Long =
-    underlying.getMillis
-  def zone: DateTimeZone =
-    underlying.getZone
-  override def compare(that: ReadableInstant): Int =
-    underlying.compareTo(that)
-  
-  def to(other: ReadableInstant): Interval =
-    new Interval(underlying, other)
-
-  def instant: Instant =
-    underlying.toInstant
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichReadableInterval.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichReadableInterval(underlying: ReadableInterval) {
-  def chronology: Chronology =
-    underlying.getChronology
-  def end: DateTime =
-    underlying.getEnd
-  def start: DateTime =
-    underlying.getStart
-
-  def duration: Duration =
-    underlying.toDuration
-  def millis: Long =
-    underlying.toDuration.getMillis
-  // TODO: Should > and > be added as aliases for isAfter and isBefore?
-  //   could be convenient, or just confusing because this isn't Ordered.
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichReadablePartial.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichReadablePartial(underlying: ReadablePartial) {
-  def chronology = underlying.getChronology
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/RichReadablePeriod.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-class RichReadablePeriod(underlying: ReadablePeriod) {
-  def periodType: PeriodType =
-    underlying.getPeriodType
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticDateTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-import org.scala_tools.time.Implicits._
-
-object StaticDateTime extends StaticDateTime
-
-trait StaticDateTime {
-  type Property = DateTime.Property
-
-  def now        = new DateTime
-
-  def nextSecond = now + 1.second
-  def nextMinute = now + 1.minute
-  def nextHour   = now + 1.hour
-  def nextDay    = now + 1.day
-  def tomorrow   = now + 1.day
-  def nextWeek   = now + 1.week
-  def nextMonth  = now + 1.month
-  def nextYear   = now + 1.year
-
-  def lastSecond = now - 1.second
-  def lastMinute = now - 1.minute
-  def lastHour   = now - 1.hour
-  def lastDay    = now - 1.day
-  def yesterday  = now - 1.day
-  def lastWeek   = now - 1.week
-  def lastMonth  = now - 1.month
-  def lastYear   = now - 1.year
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticDateTimeFormat.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.Locale
-import org.joda.time._
-import org.joda.time.format._
-
-object StaticDateTimeFormat extends StaticDateTimeFormat
-
-trait StaticDateTimeFormat {
-  def forPattern(pattern: String): DateTimeFormatter =
-    DateTimeFormat.forPattern(pattern)
-  def forStyle(style: String): DateTimeFormatter =
-    DateTimeFormat.forStyle(style)
-  def fullDate(): DateTimeFormatter = DateTimeFormat.fullDate()
-  def fullDateTime(): DateTimeFormatter = DateTimeFormat.fullDateTime()
-  def fullTime(): DateTimeFormatter = DateTimeFormat.fullTime()
-  def longDate(): DateTimeFormatter = DateTimeFormat.longDate()
-  def longDateTime(): DateTimeFormatter = DateTimeFormat.longDateTime()
-  def longTime(): DateTimeFormatter = DateTimeFormat.longTime()
-  def mediumDate(): DateTimeFormatter = DateTimeFormat.mediumDate()
-  def mediumDateTime(): DateTimeFormatter = DateTimeFormat.mediumDateTime()
-  def mediumTime(): DateTimeFormatter = DateTimeFormat.mediumTime()
-  def patternForStyle(style: String, locale: Locale): String =
-    DateTimeFormat.patternForStyle(style, locale)
-  def shortDate(): DateTimeFormatter = DateTimeFormat.shortDate()
-  def shortDateTime(): DateTimeFormatter = DateTimeFormat.shortDateTime()
-  def shortTime(): DateTimeFormatter = DateTimeFormat.shortTime()
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticDateTimeZone.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-object StaticDateTimeZone extends StaticDateTimeZone
-
-trait StaticDateTimeZone {
-  lazy val UTC = DateTimeZone.UTC
-  def forID(id: String) = DateTimeZone.forID(id)
-  def forOffsetHours(hours: Int) = DateTimeZone.forOffsetHours(hours)
-  def forOffsetHoursMinutes(hours: Int, minutes: Int) =
-    DateTimeZone.forOffsetHoursMinutes(hours, minutes)
-  def forOffsetMillis(millis: Int) = DateTimeZone.forOffsetMillis(millis)
-  def forTimeZone(zone: java.util.TimeZone) = DateTimeZone.forTimeZone(zone)
-  def getAvailableIDs() = DateTimeZone.getAvailableIDs()
-  def getDefault() = DateTimeZone.getDefault()
-  def getNameProvider() = DateTimeZone.getNameProvider()
-  def getProvider() = DateTimeZone.getProvider()
-  def setDefault(zone: DateTimeZone) = DateTimeZone.setDefault(zone)
-  def setNameProvider(nameProvider: tz.NameProvider) =
-    DateTimeZone.setNameProvider(nameProvider)
-  def setProvider(provider: tz.Provider) = DateTimeZone.setProvider(provider)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticDuration.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-object StaticDuration extends StaticDuration
-
-trait StaticDuration {
-  def standardDays(days: Long) = Duration.standardDays(days)
-  def standardHours(hours: Long) = Duration.standardHours(hours)
-  def standardMinutes(minutes: Long) = Duration.standardMinutes(minutes)
-  def standardSeconds(seconds: Long) = Duration.standardSeconds(seconds)
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticInterval.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.scala_tools.time.Implicits._
-import org.joda.time._
-
-object StaticInterval extends StaticInterval
-
-trait StaticInterval {
-  def thisSecond = StaticDateTime.now.second.interval
-  def thisMinute = StaticDateTime.now.minute.interval
-  def thisHour   = StaticDateTime.now.hour.interval
-  def thisDay    = StaticDateTime.now.day.interval
-  def today      = StaticDateTime.now.day.interval
-  def thisWeek   = StaticDateTime.now.week.interval
-  def thisMonth  = StaticDateTime.now.month.interval
-  def thisYear   = StaticDateTime.now.year.interval
-
-  def nextSecond = StaticDateTime.nextSecond.second.interval
-  def nextMinute = StaticDateTime.nextMinute.minute.interval
-  def nextHour   = StaticDateTime.nextHour.hour.interval
-  def nextDay    = StaticDateTime.nextDay.day.interval
-  def tomorrow   = StaticDateTime.nextDay.day.interval
-  def nextWeek   = StaticDateTime.nextWeek.week.interval
-  def nextMonth  = StaticDateTime.nextMonth.month.interval
-  def nextYear   = StaticDateTime.nextYear.year.interval
-
-  def lastSecond = StaticDateTime.lastSecond.second.interval
-  def lastMinute = StaticDateTime.lastMinute.minute.interval
-  def lastHour   = StaticDateTime.lastHour.hour.interval
-  def lastDay    = StaticDateTime.lastDay.day.interval
-  def yesterday  = StaticDateTime.lastDay.day.interval
-  def lastWeek   = StaticDateTime.lastWeek.week.interval
-  def lastMonth  = StaticDateTime.lastMonth.month.interval
-  def lastYear   = StaticDateTime.lastYear.year.interval
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticLocalDate.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- * Copyright 2009 Barry Kaplan
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.{Calendar, Date}
-import org.joda.time._
-import org.scala_tools.time.Implicits._
-
-object StaticLocalDate extends StaticLocalDate 
-
-trait StaticLocalDate {
-  type Property = LocalDate.Property
-  
-  def fromCalendarFields(calendar: Calendar) =
-    LocalDate.fromCalendarFields(calendar)
-  def fromDateFields(date: Date) =
-    LocalDate.fromDateFields(date)
-  
-  def now        = new LocalDate
-  def today      = new LocalDate
-
-  def nextDay    = now + 1.day
-  def tomorrow   = now + 1.day
-  def nextWeek   = now + 1.week
-  def nextMonth  = now + 1.month
-  def nextYear   = now + 1.year
-
-  def lastDay    = now - 1.day
-  def yesterday  = now - 1.day
-  def lastWeek   = now - 1.week
-  def lastMonth  = now - 1.month
-  def lastYear   = now - 1.year
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticLocalDateTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.{Calendar, Date}
-import org.joda.time._
-import org.scala_tools.time.Implicits._
-
-object StaticLocalDateTime extends StaticLocalDateTime
-
-trait StaticLocalDateTime {
-  type Property = LocalDateTime.Property
-  
-  def fromCalendarFields(calendar: Calendar) =
-    LocalDateTime.fromCalendarFields(calendar)
-  def fromDateFields(date: Date) =
-    LocalDateTime.fromDateFields(date)
-
-  def now        = new LocalDateTime
-
-  def nextSecond = now + 1.second
-  def nextMinute = now + 1.minute
-  def nextHour   = now + 1.hour
-  def nextDay    = now + 1.day
-  def tomorrow   = now + 1.day
-  def nextWeek   = now + 1.week
-  def nextMonth  = now + 1.month
-  def nextYear   = now + 1.year
-
-  def lastSecond = now - 1.second
-  def lastMinute = now - 1.minute
-  def lastHour   = now - 1.hour
-  def lastDay    = now - 1.day
-  def yesterday  = now - 1.day
-  def lastWeek   = now - 1.week
-  def lastMonth  = now - 1.month
-  def lastYear   = now - 1.year
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticLocalTime.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- * Copyright 2009 Barry Kaplan
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import java.util.{Calendar, Date}
-import org.joda.time._
-import org.scala_tools.time.Implicits._
-
-object StaticLocalTime extends StaticLocalTime
-
-trait StaticLocalTime {
-  type Property = LocalTime.Property
-  
-  final val MIDNIGHT = LocalTime.MIDNIGHT
-  final val Midnight = LocalTime.MIDNIGHT
-  
-  def fromCalendarFields(calendar: Calendar) =
-    LocalTime.fromCalendarFields(calendar)
-  def fromDateFields(date: Date) =
-    LocalTime.fromDateFields(date)
-  def fromMillisOfDay(millis: Long) =
-    LocalTime.fromMillisOfDay(millis)
-  def fromMillisOfDay(millis: Long, chrono: Chronology) =
-    LocalTime.fromMillisOfDay(millis, chrono)
-
-  def now        = new LocalTime
-
-  def nextSecond = now + 1.second
-  def nextMinute = now + 1.minute
-  def nextHour   = now + 1.hour
-
-  def lastSecond = now - 1.second
-  def lastMinute = now - 1.minute
-  def lastHour   = now - 1.hour
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticPartial.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-object StaticPartial extends StaticPartial
-
-trait StaticPartial {
-  type Property = Partial.Property
-}
--- a/src/main/scala/scala-time/org/scala_tools/time/StaticPeriod.scala	Wed Sep 28 13:36:43 2011 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/**
- * Copyright 2009 Jorge Ortiz
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License. 
- *
- **/
-package org.scala_tools.time
-
-import org.joda.time._
-
-object StaticPeriod extends StaticPeriod
-
-trait StaticPeriod {
-  def days(days: Int) = Period.days(days)
-  def fieldDifference(start: ReadablePartial, end: ReadablePartial) =
-    Period.fieldDifference(start, end)
-  def hours(hours: Int) = Period.hours(hours)
-  def millis(millis: Int) = Period.millis(millis)
-  def minutes(minutes: Int) = Period.minutes(minutes)
-  def months(months: Int) = Period.months(months)
-  def seconds(seconds: Int) = Period.seconds(seconds)
-  def weeks(weeks: Int) = Period.weeks(weeks)
-  def years(years: Int) = Period.years(years)
-}
Set up and maintained by W3C Systems Team, please report bugs to sysreq@w3.org.

W3C would like to thank Microsoft who donated the server that allows us to run this service.