You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2010/12/02 16:53:47 UTC
svn commit: r1041420 -
/directory/apacheds/branches/apacheds-kerberos-codec-2.0/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/KerberosTime.java
Author: kayyagari
Date: Thu Dec 2 15:53:46 2010
New Revision: 1041420
URL: http://svn.apache.org/viewvc?rev=1041420&view=rev
Log:
o fixed a bug where milliseconds are not removed while creating a new KerberosTime object
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=1041420&r1=1041419&r2=1041420&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 15:53:46 2010
@@ -26,8 +26,6 @@ import java.util.Date;
import java.util.TimeZone;
import org.apache.directory.shared.ldap.util.StringTools;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
* An specialization of the ASN.1 GeneralTime. The Kerberos time contains date and
@@ -38,8 +36,6 @@ import org.slf4j.LoggerFactory;
*/
public class KerberosTime implements Comparable<KerberosTime>
{
- /** A logger for this class */
- private static final Logger LOG = LoggerFactory.getLogger( KerberosTime.class );
/** The format for a KerberosTime */
private static final SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmss'Z'" );
@@ -78,7 +74,7 @@ public class KerberosTime implements Com
public KerberosTime()
{
kerberosTime = System.currentTimeMillis();
-
+ convertInternal( kerberosTime );
}
@@ -105,13 +101,10 @@ public class KerberosTime implements Com
*/
public KerberosTime( long date )
{
- Calendar calendar = Calendar.getInstance( UTC );
- calendar.setTimeInMillis( date );
- this.date = sdf.format( calendar.getTime() );
- kerberosTime = calendar.getTimeInMillis();
+ convertInternal( date );
}
-
+
/**
* Creates a new instance of KerberosTime.
*
@@ -120,10 +113,31 @@ public class KerberosTime implements Com
public KerberosTime( Date time )
{
kerberosTime = time.getTime();
+ convertInternal( kerberosTime );
}
/**
+ * converts the given milliseconds time to seconds and
+ * also formats the time to the generalized form
+ *
+ * @param date the time in milliseconds
+ */
+ private void convertInternal( long date )
+ {
+ Calendar calendar = Calendar.getInstance( UTC );
+ calendar.setTimeInMillis( date );
+
+ synchronized ( sdf )
+ {
+ this.date = sdf.format( calendar.getTime() );
+ }
+
+ kerberosTime = ( calendar.getTimeInMillis() / 1000 ); // drop the milliseconds
+ }
+
+
+ /**
* Returns the {@link KerberosTime} as a long.
*
* @return The {@link KerberosTime} as a long.
@@ -174,8 +188,9 @@ public class KerberosTime implements Com
synchronized ( sdf )
{
kerberosTime = sdf.parse( date ).getTime();
- this.date = date;
}
+
+ convertInternal( kerberosTime );
}