You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/10/07 02:56:39 UTC
svn commit: r702318 - in /maven/sandbox/trunk/mercury:
mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/
mercury-repo/mercury-repo-api/
mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/
mercury...
Author: ogusakov
Date: Mon Oct 6 17:56:38 2008
New Revision: 702318
URL: http://svn.apache.org/viewvc?rev=702318&view=rev
Log:
Repository metadata data transfer object and repository policy added
Added:
maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java
Modified:
maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/pom.xml
maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties
maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java
maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java
Modified: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties?rev=702318&r1=702317&r2=702318&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties (original)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/Messages.properties Mon Oct 6 17:56:38 2008
@@ -1 +1,2 @@
-bad.version.sn=version range cannot include SNAPSHOT, LATEST or RELEASE versions, found: {0}
\ No newline at end of file
+bad.version.sn=version range cannot include SNAPSHOT, LATEST or RELEASE versions, found: {0}
+null.version.to.compare=one of the versions is null: {0} vs {1}, cannot compare
\ No newline at end of file
Added: maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java (added)
+++ maven/sandbox/trunk/mercury/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/version/VersionComparator.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,31 @@
+package org.apache.maven.mercury.artifact.version;
+
+import java.util.Comparator;
+
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * version comparator used elsewhere to keep version collections sorted
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class VersionComparator
+ implements Comparator<String>
+{
+ private static final Language _lang = new DefaultLanguage( VersionComparator.class );
+
+ public int compare( String v1, String v2 )
+ {
+ if( v1 == null || v2 == null )
+ throw new IllegalArgumentException( _lang.getMessage( "null.version.to.compare", v1,v2 ) );
+
+ DefaultArtifactVersion av1 = new DefaultArtifactVersion( v1 );
+ DefaultArtifactVersion av2 = new DefaultArtifactVersion( v2 );
+
+ return av1.compareTo( av2 );
+ }
+
+}
Modified: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/pom.xml?rev=702318&r1=702317&r2=702318&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/pom.xml (original)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/pom.xml Mon Oct 6 17:56:38 2008
@@ -4,26 +4,33 @@
<artifactId>mercury-repo-api</artifactId>
<name>Mercury Repository APIs: ${project.version}</name>
<description>Repository APIs</description>
+
<parent>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-repo</artifactId>
<version>1.0.0-alpha-2-SNAPSHOT</version>
</parent>
+
<dependencies>
<dependency>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-artifact</artifactId>
- <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.mercury</groupId>
<artifactId>mercury-transport-api</artifactId>
- <version>1.0.0-alpha-2-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.mercury</groupId>
- <artifactId>mercury-external</artifactId>
- <version>1.0.0-alpha-2-SNAPSHOT</version>
+ <version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-shared</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties?rev=702318&r1=702317&r2=702318&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties (original)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/Messages.properties Mon Oct 6 17:56:38 2008
@@ -6,3 +6,7 @@
null.reader.processor=reader processor cannot be null
null.writer.repo=writer repository cannot be null
null.writer.processor=writer processor cannot be null
+
+empty.policy=repository update policy cannot be empty: {0}
+bad.policy=cannot parse repository update policy: {0}
+bad.interval.policy=cannot parse interval repository update policy: {0}
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java (added)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAMetadata.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,65 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.util.Collection;
+import java.util.TreeSet;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.artifact.version.VersionComparator;
+import org.apache.maven.mercury.util.TimeUtil;
+import org.apache.maven.mercury.util.Util;
+
+/**
+ * This is a data object to carry GA level repository
+ * metadata, namely - a list of versions and last check timestamp
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryGAMetadata
+{
+ ArtifactCoordinates ga;
+
+ /** a list of last discovered versions, ordered ascending */
+ protected TreeSet<String> versions;
+
+ /** GMT timestamp of the last metadata check */
+ protected long lastCheck;
+
+ /**
+ * @param versions
+ * @param lastCheck
+ */
+ public RepositoryGAMetadata( ArtifactCoordinates ga, Collection<String> versions )
+ {
+ this.ga = ga;
+ this.versions = new TreeSet<String>( new VersionComparator() );
+
+ if( ! Util.isEmpty( versions ) )
+ this.versions.addAll( versions );
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public TreeSet<String> getVersions()
+ {
+ return versions;
+ }
+
+ public long getLastCheck()
+ {
+ return lastCheck;
+ }
+
+ public void update( Collection<String> versions )
+ {
+ this.versions.addAll( versions );
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public ArtifactCoordinates getGA()
+ {
+ return ga;
+ }
+
+}
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java (added)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryGAVMetadata.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,96 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.util.Collection;
+import java.util.TreeSet;
+
+import org.apache.maven.mercury.artifact.ArtifactCoordinates;
+import org.apache.maven.mercury.artifact.version.VersionComparator;
+import org.apache.maven.mercury.util.TimeUtil;
+import org.apache.maven.mercury.util.Util;
+
+/**
+ * This is a data object to carry GA level repository
+ * metadata, namely - a list of versions and last check timestamp
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryGAVMetadata
+{
+ ArtifactCoordinates gav;
+
+ /** a list of last discovered snapshots, ordered descending */
+ protected TreeSet<String> snapshots;
+
+ /** a list of last discovered versions, ordered ascending */
+ protected Collection<String> classifiers;
+
+ /** GMT timestamp of the last metadata check */
+ protected long lastCheck;
+
+ /**
+ * @param versions
+ * @param lastCheck
+ */
+ public RepositoryGAVMetadata( ArtifactCoordinates gav, Collection<String> snapshots, Collection<String> classifiers )
+ {
+ this.gav = gav;
+
+ this.snapshots = new TreeSet<String>( new VersionComparator() );
+
+ if( !Util.isEmpty( snapshots ) )
+ this.snapshots.addAll( snapshots );
+
+ this.classifiers = classifiers;
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public TreeSet<String> getSnapshots()
+ {
+ return snapshots;
+ }
+
+ public Collection<String> getClassifiers()
+ {
+ return classifiers;
+ }
+
+ /**
+ * find the most recent snapshot timestamp
+ *
+ * @return
+ */
+ public String getSnapshot()
+ {
+ return snapshots.last();
+ }
+
+ public long getLastCheck()
+ {
+ return lastCheck;
+ }
+
+ public void updateSnapshots( Collection<String> snapshots )
+ {
+ this.snapshots.clear();
+
+ if( !Util.isEmpty( snapshots ) )
+ this.snapshots.addAll( snapshots );
+
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+ public void updateClassifiers( Collection<String> classifiers )
+ {
+ this.classifiers = classifiers;
+ this.lastCheck = TimeUtil.getUTCTimestampAsLong();
+ }
+
+
+ public ArtifactCoordinates getGAV()
+ {
+ return gav;
+ }
+
+}
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java (added)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryMetadataCache.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,34 @@
+package org.apache.maven.mercury.repository.api;
+
+import java.util.Collection;
+
+import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
+import org.apache.maven.mercury.repository.metadata.Metadata;
+
+/**
+ * this object abstracts the existence of multiple repositories and repository
+ * policies. Given a metadata request, implementor of this interface will
+ * either return a local copy if one exists, or will go out and read from a remote repo
+ * if either local copy does not exist or remote repository policy allows a read
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryMetadataCache
+{
+ /**
+ * initialize cache implementor with a collection of remote repositories. Order
+ * does not matter here because access is defined by repository policy.
+ *
+ * @param repos
+ */
+ public void init( Collection<RemoteRepository> repos );
+
+ /**
+ *
+ * @param bmd
+ * @return
+ */
+ public Metadata findGA( ArtifactBasicMetadata bmd );
+}
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java (added)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdateIntervalPolicy.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,77 @@
+package org.apache.maven.mercury.repository.api;
+
+import org.apache.maven.mercury.artifact.version.VersionComparator;
+import org.apache.maven.mercury.util.Util;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * implements current maven update policy
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryUpdateIntervalPolicy
+implements RepositoryUpdatePolicy
+{
+ private static final Language _lang = new DefaultLanguage( RepositoryUpdateIntervalPolicy.class );
+
+ public static final String UPDATE_POLICY_NEVER = "never";
+
+ public static final String UPDATE_POLICY_ALWAYS = "always";
+
+ public static final String UPDATE_POLICY_DAILY = "daily";
+
+ public static final String UPDATE_POLICY_INTERVAL = "interval";
+ private static final int UPDATE_POLICY_INTERVAL_LENGTH = UPDATE_POLICY_INTERVAL.length();
+
+ private static final long NEVER = -1L;
+
+ private static final long DAYLY = 3600000L*24L;
+
+ protected long interval = DAYLY;
+
+
+ public RepositoryUpdateIntervalPolicy()
+ {
+ }
+
+ public RepositoryUpdateIntervalPolicy( String policy )
+ {
+ init( policy );
+ }
+
+ public void init( String policy )
+ {
+ if( Util.isEmpty( policy ) )
+ throw new IllegalArgumentException( _lang.getMessage( "empty.policy", policy ));
+
+ if( policy.startsWith( UPDATE_POLICY_ALWAYS ) )
+ interval = 0L;
+ else if( policy.startsWith( UPDATE_POLICY_DAILY ) )
+ interval = DAYLY;
+ else if( policy.startsWith( UPDATE_POLICY_NEVER ) )
+ interval = NEVER;
+ else if( policy.startsWith( UPDATE_POLICY_INTERVAL ) )
+ {
+ int len = policy.length();
+ if( len <= UPDATE_POLICY_INTERVAL_LENGTH )
+ throw new IllegalArgumentException( _lang.getMessage( "bad.interval.policy", policy ));
+
+ interval = Integer.parseInt( policy.substring( len-1 ) ) * 60000L;
+ }
+ else
+ throw new IllegalArgumentException( _lang.getMessage( "bad.policy", policy ));
+ }
+
+ public boolean timeToUpdate( long lastUpdate )
+ {
+ long now =System.currentTimeMillis();
+
+ boolean res = now - lastUpdate > interval;
+
+ return res;
+ }
+
+}
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java (added)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicy.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,26 @@
+package org.apache.maven.mercury.repository.api;
+
+/**
+ * abstraction of a repository update policy calculator
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface RepositoryUpdatePolicy
+{
+ /**
+ * initialize this calculator
+ *
+ * @param policy as a string somewhere in configuration
+ */
+ void init( String policy );
+
+ /**
+ * perform the calculation and decide if it's time to update
+ *
+ * @param lastUpdate
+ * @return
+ */
+ boolean timeToUpdate( long lastUpdate );
+}
Added: maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java?rev=702318&view=auto
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java (added)
+++ maven/sandbox/trunk/mercury/mercury-repo/mercury-repo-api/src/test/java/org/apache/maven/mercury/repository/api/RepositoryUpdatePolicyIntervalTest.java Mon Oct 6 17:56:38 2008
@@ -0,0 +1,40 @@
+package org.apache.maven.mercury.repository.api;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class RepositoryUpdatePolicyIntervalTest
+ extends TestCase
+{
+ RepositoryUpdateIntervalPolicy in;
+ long now;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ in = new RepositoryUpdateIntervalPolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_INTERVAL+"1" );
+ now = System.currentTimeMillis();
+ }
+
+ public void testInterval()
+ {
+ assertFalse( in.timeToUpdate( now ) );
+ assertTrue( in.timeToUpdate( now-80000L ) );
+ }
+
+ public void testDayly()
+ {
+ in = new RepositoryUpdateIntervalPolicy( RepositoryUpdateIntervalPolicy.UPDATE_POLICY_DAILY );
+
+ assertFalse( in.timeToUpdate( now ) );
+ assertFalse( in.timeToUpdate( now-80000L ) );
+ assertTrue( in.timeToUpdate( now - 24L*3600L*1000L - 80000L ) );
+ }
+}
Modified: maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java?rev=702318&r1=702317&r2=702318&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java (original)
+++ maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java Mon Oct 6 17:56:38 2008
@@ -23,6 +23,15 @@
/**
*
+ * @return current UTC timestamp by yyyyMMddHHmmss mask as a long int
+ */
+ public static long getUTCTimestampAsLong( )
+ {
+ return Long.parseLong( getUTCTimestamp( new Date() ) );
+ }
+
+ /**
+ *
* @param date
* @return current date converted to UTC timestamp by yyyyMMddHHmmss mask
*/
Modified: maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java?rev=702318&r1=702317&r2=702318&view=diff
==============================================================================
--- maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java (original)
+++ maven/sandbox/trunk/mercury/mercury-util/src/main/java/org/apache/maven/mercury/util/Util.java Mon Oct 6 17:56:38 2008
@@ -12,22 +12,22 @@
public class Util
{
@SuppressWarnings("unchecked")
- public boolean isEmpty( Collection o )
+ public static boolean isEmpty( Collection o )
{
return o == null || o.isEmpty();
}
- public boolean isEmpty( String o )
+ public static boolean isEmpty( String o )
{
return o == null || o.length() < 1;
}
- public boolean isEmpty( Object [] o )
+ public static boolean isEmpty( Object [] o )
{
return o == null || o.length < 1;
}
- public boolean isEmpty( Object o )
+ public static boolean isEmpty( Object o )
{
return o == null;
}