You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/12/02 12:39:49 UTC
svn commit: r1041334 -
/directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java
Author: elecharny
Date: Thu Dec 2 11:39:49 2010
New Revision: 1041334
URL: http://svn.apache.org/viewvc?rev=1041334&view=rev
Log:
Fixed some parts of the KerberosTime methods, added some missing others
Modified:
directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java
Modified: directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java?rev=1041334&r1=1041333&r2=1041334&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java (original)
+++ directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java Thu Dec 2 11:39:49 2010
@@ -24,7 +24,6 @@ import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
-import java.util.regex.Pattern;
import org.apache.directory.shared.ldap.util.StringTools;
import org.slf4j.Logger;
@@ -42,18 +41,6 @@ public class KerberosTime implements Com
/** A logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( KerberosTime.class );
- /** The GeneralizedDate pattern matching */
- private static final String GENERALIZED_TIME_PATTERN =
- "^\\d{4}" // century + year : 0000 to 9999
- + "(0[1-9]|1[0-2])" // month : 01 to 12
- + "(0[1-9]|[12]\\d|3[01])" // day : 01 to 31
- + "([01]\\d|2[0-3])" // hour : 00 to 23
- + "([0-5]\\d)" // minute : 00 to 59
- + "([0-5]\\d)Z"; // second and UTC TZ
-
- /** The date pattern. The regexp pattern is immutable, only one instance needed. */
- private static final Pattern DATE_PATTERN = Pattern.compile( GENERALIZED_TIME_PATTERN );
-
/** The format for a KerberosTime */
private static final SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmss'Z'" );
@@ -91,6 +78,7 @@ public class KerberosTime implements Com
public KerberosTime()
{
kerberosTime = System.currentTimeMillis();
+
}
@@ -107,7 +95,7 @@ public class KerberosTime implements Com
}
catch ( ParseException pe )
{
- // TODO : mnaage exception
+ throw new IllegalArgumentException( "Bad time : " + date );
}
}
@@ -120,7 +108,7 @@ public class KerberosTime implements Com
Calendar calendar = Calendar.getInstance( UTC );
calendar.setTimeInMillis( date );
this.date = sdf.format( calendar.getTime() );
- kerberosTime = date;
+ kerberosTime = calendar.getTimeInMillis();
}
@@ -183,23 +171,10 @@ public class KerberosTime implements Com
*/
public void setDate( String date ) throws ParseException
{
- boolean result = DATE_PATTERN.matcher( date ).find();
-
- if ( result )
+ synchronized ( sdf )
{
+ kerberosTime = sdf.parse( date ).getTime();
this.date = date;
-
- synchronized ( sdf )
- {
- kerberosTime = sdf.parse( date ).getTime();
- }
-
- LOG.debug( "Syntax valid for '{}'", date );
- }
- else
- {
- LOG.debug( "Syntax invalid for '{}'", date );
- throw new IllegalArgumentException();
}
}
@@ -220,24 +195,12 @@ public class KerberosTime implements Com
{
return date;
}
-
-
- /**
- * {@inheritDoc}
- */
- public String toString()
- {
- return date;
- }
@Override
public int hashCode()
{
- final int prime = 31;
- int result = 1;
- result = prime * result + ( ( date == null ) ? 0 : date.hashCode() );
- return result;
+ return (int)kerberosTime;
}
@@ -256,19 +219,7 @@ public class KerberosTime implements Com
KerberosTime other = ( KerberosTime ) obj;
- if ( date == null )
- {
- if ( other.date != null )
- {
- return false;
- }
- }
- else if ( !date.equals( other.date ) )
- {
- return false;
- }
-
- return true;
+ return kerberosTime == other.kerberosTime;
}
@@ -338,5 +289,24 @@ public class KerberosTime implements Com
{
return kerberosTime > ktime.kerberosTime;
}
-
+
+
+ /**
+ * Returns whether this {@link KerberosTime} is zero.
+ *
+ * @return true if this {@link KerberosTime} is zero.
+ */
+ public boolean isZero()
+ {
+ return kerberosTime == 0;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String toString()
+ {
+ return date;
+ }
}