[dna-commits] DNA SVN: r244 - in trunk: dna-spi/src/main/java/org/jboss/dna/spi/graph/connection and 1 other directories.
dna-commits at lists.jboss.org
dna-commits at lists.jboss.org
Fri Jun 6 17:19:46 EDT 2008
Author: rhauch
Date: 2008-06-06 17:19:46 -0400 (Fri, 06 Jun 2008)
New Revision: 244
Modified:
trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheConnection.java
trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java
trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnection.java
trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnectionPool.java
trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java
trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceException.java
trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/MockRepositorySource.java
Log:
DNA-67: Create graph API for federation engine
http://jira.jboss.org/jira/browse/DNA-67
Moved the "getDefaultCachePolicy" from RepositorySource to RepositoryConnection.
Modified: trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheConnection.java
===================================================================
--- trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheConnection.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheConnection.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -30,6 +30,7 @@
import org.jboss.cache.Cache;
import org.jboss.cache.Fqn;
import org.jboss.cache.Node;
+import org.jboss.dna.spi.cache.CachePolicy;
import org.jboss.dna.spi.graph.Name;
import org.jboss.dna.spi.graph.Path;
import org.jboss.dna.spi.graph.Property;
@@ -97,6 +98,13 @@
/**
* {@inheritDoc}
*/
+ public CachePolicy getDefaultCachePolicy() {
+ return source.getDefaultCachePolicy();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public XAResource getXAResource() {
return null;
}
Modified: trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java
===================================================================
--- trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -113,7 +113,9 @@
}
/**
- * {@inheritDoc}
+ * Get the default cache policy for this source, or null if the global default cache policy should be used
+ *
+ * @return the default cache policy, or null if this source has no explicit default cache policy
*/
public CachePolicy getDefaultCachePolicy() {
return defaultCachePolicy;
Modified: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnection.java
===================================================================
--- trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnection.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnection.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -23,6 +23,7 @@
import java.util.concurrent.TimeUnit;
import javax.transaction.xa.XAResource;
+import org.jboss.dna.spi.cache.CachePolicy;
import org.jboss.dna.spi.graph.commands.GraphCommand;
/**
@@ -31,6 +32,7 @@
* These connections need not support concurrent operations by multiple threads, since the federation engine never uses them this
* way.
* </p>
+ *
* @author Randall Hauch
*/
public interface RepositoryConnection {
@@ -38,6 +40,7 @@
/**
* Get the name for this repository source. This value should be the same as that {@link RepositorySource#getName() returned}
* by the same {@link RepositorySource} that created this connection.
+ *
* @return the identifier; never null or empty
*/
String getSourceName();
@@ -45,12 +48,14 @@
/**
* Return the transactional resource associated with this connection. The transaction manager will use this resource to manage
* the participation of this connection in a distributed transaction.
+ *
* @return the XA resource, or null if this connection is not aware of distributed transactions
*/
XAResource getXAResource();
/**
* Ping the underlying system to determine if the connection is still valid and alive.
+ *
* @param time the length of time to wait before timing out
* @param unit the time unit to use; may not be null
* @return true if this connection is still valid and can still be used, or false otherwise
@@ -60,12 +65,21 @@
/**
* Set the listener that is to receive notifications to changes to content within this source.
+ *
* @param listener the new listener, or null if no component is interested in the change notifications
*/
void setListener( RepositorySourceListener listener );
/**
+ * Get the default cache policy for this repository. If none is provided, a global cache policy will be used.
+ *
+ * @return the default cache policy
+ */
+ CachePolicy getDefaultCachePolicy();
+
+ /**
* Execute the supplied commands against this repository source.
+ *
* @param env the environment in which the commands are being executed; never null
* @param commands the commands to be executed; never null
* @throws RepositorySourceException if there is a problem loading the node data
@@ -75,6 +89,7 @@
/**
* Close this connection to signal that it is no longer needed and that any accumulated resources are to be released.
+ *
* @throws InterruptedException if the thread has been interrupted while the close was in progress
*/
void close() throws InterruptedException;
Modified: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnectionPool.java
===================================================================
--- trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnectionPool.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositoryConnectionPool.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -43,6 +43,7 @@
import org.jboss.dna.common.util.LogContext;
import org.jboss.dna.common.util.Logger;
import org.jboss.dna.spi.SpiI18n;
+import org.jboss.dna.spi.cache.CachePolicy;
import org.jboss.dna.spi.graph.commands.GraphCommand;
/**
@@ -52,6 +53,21 @@
public class RepositoryConnectionPool implements RepositoryConnectionFactory {
/**
+ * The core pool size for default-constructed pools is {@value}.
+ */
+ public static final int DEFAULT_CORE_POOL_SIZE = 1;
+
+ /**
+ * The maximum pool size for default-constructed pools is {@value}.
+ */
+ public static final int DEFAULT_MAXIMUM_POOL_SIZE = 10;
+
+ /**
+ * The keep-alive time for connections in default-constructed pools is {@value} seconds.
+ */
+ public static final long DEFAULT_KEEP_ALIVE_TIME_IN_SECONDS = 30;
+
+ /**
* Permission for checking shutdown
*/
private static final RuntimePermission shutdownPerm = new RuntimePermission("modifyThread");
@@ -146,7 +162,20 @@
private final Logger logger = Logger.getLogger(this.getClass());
/**
+ * Create the pool to use the supplied connection factory, which is typically a {@link RepositorySource}. This constructor
+ * uses the {@link #DEFAULT_CORE_POOL_SIZE default core pool size}, {@link #DEFAULT_MAXIMUM_POOL_SIZE default maximum pool
+ * size}, and {@link #DEFAULT_KEEP_ALIVE_TIME_IN_SECONDS default keep-alive time (in seconds)}.
+ *
+ * @param connectionFactory the factory for connections
+ * @throws IllegalArgumentException if the connection factory is null or any of the supplied arguments are invalid
+ */
+ public RepositoryConnectionPool( RepositoryConnectionFactory connectionFactory ) {
+ this(connectionFactory, DEFAULT_CORE_POOL_SIZE, DEFAULT_MAXIMUM_POOL_SIZE, DEFAULT_KEEP_ALIVE_TIME_IN_SECONDS, TimeUnit.SECONDS);
+ }
+
+ /**
* Create the pool to use the supplied connection factory, which is typically a {@link RepositorySource}.
+ *
* @param connectionFactory the factory for connections
* @param corePoolSize the number of connections to keep in the pool, even if they are idle.
* @param maximumPoolSize the maximum number of connections to allow in the pool.
@@ -226,6 +255,7 @@
* Sets the time limit for which connections may remain idle before being closed. If there are more than the core number of
* connections currently in the pool, after waiting this amount of time without being used, excess threads will be terminated.
* This overrides any value set in the constructor.
+ *
* @param time the time to wait. A time value of zero will cause excess connections to terminate immediately after being
* returned.
* @param unit the time unit of the time argument
@@ -240,6 +270,7 @@
/**
* Returns the connection keep-alive time, which is the amount of time which connections in excess of the core pool size may
* remain idle before being closed.
+ *
* @param unit the desired time unit of the result
* @return the time limit
* @see #setKeepAliveTime
@@ -259,6 +290,7 @@
/**
* Sets the maximum allowed number of connections. This overrides any value set in the constructor. If the new value is
* smaller than the current value, excess existing but unused connections will be closed.
+ *
* @param maximumPoolSize the new maximum
* @throws IllegalArgumentException if maximumPoolSize less than zero or the {@link #getCorePoolSize() core pool size}
* @see #getMaximumPoolSize
@@ -284,6 +316,7 @@
/**
* Returns the core number of connections.
+ *
* @return the core number of connections
* @see #setCorePoolSize(int)
*/
@@ -295,6 +328,7 @@
* Sets the core number of connections. This overrides any value set in the constructor. If the new value is smaller than the
* current value, excess existing and unused connections will be closed. If larger, new connections will, if needed, be
* created.
+ *
* @param corePoolSize the new core size
* @throws RepositorySourceException if there was an error obtaining the new connection
* @throws InterruptedException if the thread was interrupted during the operation
@@ -328,7 +362,9 @@
// -------------------------------------------------
/**
- * Returns the current number of connections in the pool.
+ * Returns the current number of connections in the pool, including those that are checked out (in use) and those that are not
+ * being used.
+ *
* @return the number of connections
*/
public int getPoolSize() {
@@ -336,7 +372,8 @@
}
/**
- * Returns the approximate number of connections that have been checked out from the pool.
+ * Returns the approximate number of connections that are currently checked out from the pool.
+ *
* @return the number of checked-out connections
*/
public int getInUseCount() {
@@ -351,6 +388,7 @@
/**
* Get the total number of connections that have been created by this pool.
+ *
* @return the total number of connections created by this pool
*/
public long getTotalConnectionsCreated() {
@@ -359,6 +397,7 @@
/**
* Get the total number of times connections have been {@link #getConnection()} used.
+ *
* @return the total number
*/
public long getTotalConnectionsUsed() {
@@ -371,6 +410,7 @@
/**
* Call the supplied operation, using a connection from this pool.
+ *
* @param <T> the return type for the operation
* @param operation the operation to be run using a connection in this pool
* @return the results from the operation
@@ -378,7 +418,7 @@
* @throws InterruptedException if the thread was interrupted during the operation
* @throws IllegalArgumentException if the operation is null
* @see #callable(RepositoryOperation)
- * @see #callables(Collection)
+ * @see #callables(Iterable)
* @see #callables(RepositoryOperation...)
*/
public <T> T call( RepositoryOperation<T> operation ) throws RepositorySourceException, InterruptedException {
@@ -399,11 +439,12 @@
/**
* Return a callable object that, when run, performs the supplied repository operation against a connection in this pool.
+ *
* @param <T> the return type for the operation
* @param operation the operation to be run using a connection in this pool
* @return the callable
* @see #call(RepositoryOperation)
- * @see #callables(Collection)
+ * @see #callables(Iterable)
* @see #callables(RepositoryOperation...)
*/
public <T> Callable<T> callable( final RepositoryOperation<T> operation ) {
@@ -413,6 +454,7 @@
/**
* Execute by getting a connection from this pool, running the client, and return the connection to the pool.
+ *
* @return the operation's result
* @throws Exception
*/
@@ -425,12 +467,13 @@
/**
* Return a collection of callable objects that, when run, perform the supplied repository operations against connections in
* this pool.
+ *
* @param <T> the return type for the operations
* @param operations the operations to be run using connection from this pool
* @return the collection of callables
* @see #call(RepositoryOperation)
* @see #callable(RepositoryOperation)
- * @see #callables(Collection)
+ * @see #callables(Iterable)
*/
public <T> List<Callable<T>> callables( RepositoryOperation<T>... operations ) {
List<Callable<T>> callables = new ArrayList<Callable<T>>();
@@ -443,6 +486,7 @@
/**
* Return a collection of callable objects that, when run, perform the supplied repository operations against connections in
* this pool.
+ *
* @param <T> the return type for the operations
* @param operations the operations to be run using connection from this pool
* @return the collection of callables
@@ -450,7 +494,7 @@
* @see #callable(RepositoryOperation)
* @see #callables(RepositoryOperation...)
*/
- public <T> List<Callable<T>> callables( Collection<RepositoryOperation<T>> operations ) {
+ public <T> List<Callable<T>> callables( Iterable<RepositoryOperation<T>> operations ) {
List<Callable<T>> callables = new ArrayList<Callable<T>>();
for (final RepositoryOperation<T> operation : operations) {
callables.add(callable(operation));
@@ -466,6 +510,7 @@
* Starts a core connection, causing it to idly wait for use. This overrides the default policy of starting core connections
* only when they are {@link #getConnection() needed}. This method will return <tt>false</tt> if all core connections have
* already been started.
+ *
* @return true if a connection was started
* @throws RepositorySourceException if there was an error obtaining the new connection
* @throws InterruptedException if the thread was interrupted during the operation
@@ -483,6 +528,7 @@
/**
* Starts all core connections, causing them to idly wait for use. This overrides the default policy of starting core
* connections only when they are {@link #getConnection() needed}.
+ *
* @return the number of connections started.
* @throws RepositorySourceException if there was an error obtaining the new connection
* @throws InterruptedException if the thread was interrupted during the operation
@@ -500,9 +546,11 @@
/**
* Initiates an orderly shutdown in which connections that are currently in use are allowed to be used and closed as normal,
* but no new connections will be created. Invocation has no additional effect if already shut down.
- * @throws SecurityException if a security manager exists and shutting down this ConnectionPool may manipulate threads that
- * the caller is not permitted to modify because it does not hold {@link java.lang.RuntimePermission}<tt>("modifyThread")</tt>,
- * or the security manager's <tt>checkAccess</tt> method denies access.
+ *
+ * @throws SecurityException if a security manager exists and shutting down this pool may manipulate threads that the caller
+ * is not permitted to modify because it does not hold {@link java.lang.RuntimePermission}<tt>("modifyThread")</tt>, or
+ * the security manager's <tt>checkAccess</tt> method denies access.
+ * @see #shutdownNow()
*/
public void shutdown() {
// Fail if caller doesn't have modifyThread permission. We
@@ -548,14 +596,12 @@
}
/**
- * Attempts to stop all actively executing tasks, halts the processing of waiting tasks, and returns a list of the tasks that
- * were awaiting execution.
- * <p>
- * This implementation cancels tasks via {@link Thread#interrupt}, so if any tasks mask or fail to respond to interrupts,
- * they may never terminate.
- * @throws SecurityException if a security manager exists and shutting down this ExecutorService may manipulate threads that
- * the caller is not permitted to modify because it does not hold {@link java.lang.RuntimePermission}<tt>("modifyThread")</tt>,
- * or the security manager's <tt>checkAccess</tt> method denies access.
+ * Attempts to close all connections, including those connections currently in use, and prevent the use of other connections.
+ *
+ * @throws SecurityException if a security manager exists and shutting down this pool may manipulate threads that the caller
+ * is not permitted to modify because it does not hold {@link java.lang.RuntimePermission}<tt>("modifyThread")</tt>, or
+ * the security manager's <tt>checkAccess</tt> method denies access.
+ * @see #shutdown()
*/
public void shutdownNow() {
// Almost the same code as shutdown()
@@ -608,25 +654,67 @@
if (fullyTerminated) terminated();
}
+ /**
+ * Return whether this connection pool is running and is able to {@link #getConnection() provide connections}. Note that this
+ * method is effectively <code>!isShutdown()</code>.
+ *
+ * @return true if this pool is running, or false otherwise
+ * @see #isShutdown()
+ * @see #isTerminated()
+ * @see #isTerminating()
+ */
+ public boolean isRunning() {
+ return runState == RUNNING;
+ }
+
+ /**
+ * Return whether this connection pool is in the process of shutting down or has already been shut down. A result of
+ * <code>true</code> signals that the pool may no longer be used. Note that this method is effectively
+ * <code>!isRunning()</code>.
+ *
+ * @return true if this pool has been shut down, or false otherwise
+ * @see #isShutdown()
+ * @see #isTerminated()
+ * @see #isTerminating()
+ */
public boolean isShutdown() {
return runState != RUNNING;
}
/**
- * Returns true if this executor is in the process of terminating after <tt>shutdown</tt> or <tt>shutdownNow</tt> but has
- * not completely terminated. This method may be useful for debugging. A return of <tt>true</tt> reported a sufficient
- * period after shutdown may indicate that submitted tasks have ignored or suppressed interruption, causing this executor not
- * to properly terminate.
- * @return true if terminating but not yet terminated.
+ * Returns true if this pool is in the process of terminating after {@link #shutdown()} or {@link #shutdownNow()} has been
+ * called but has not completely terminated. This method may be useful for debugging. A return of <tt>true</tt> reported a
+ * sufficient period after shutdown may indicate that submitted tasks have ignored or suppressed interruption, causing this
+ * executor not to properly terminate.
+ *
+ * @return true if terminating but not yet terminated, or false otherwise
+ * @see #isTerminated()
*/
public boolean isTerminating() {
return runState == STOP;
}
+ /**
+ * Return true if this pool has completed its termination and no longer has any open connections.
+ *
+ * @return true if terminated, or false otherwise
+ * @see #isTerminating()
+ */
public boolean isTerminated() {
return runState == TERMINATED;
}
+ /**
+ * Method that can be called after {@link #shutdown()} or {@link #shutdownNow()} to wait until all connections in use at the
+ * time those methods were called have been closed normally. This method accepts a maximum time duration, after which it will
+ * return even if all connections have not been closed.
+ *
+ * @param timeout the maximum time to wait for all connections to be closed and returned to the pool
+ * @param unit the time unit for <code>timeout</code>
+ * @return true if the pool was terminated in the supplied time (or was already terminated), or false if the timeout occurred
+ * before all the connections were closed
+ * @throws InterruptedException if the thread was interrupted
+ */
public boolean awaitTermination( long timeout, TimeUnit unit ) throws InterruptedException {
long nanos = unit.toNanos(timeout);
final ReentrantLock mainLock = this.mainLock;
@@ -645,14 +733,14 @@
}
/**
- * Method invoked when the Executor has terminated. Default implementation does nothing. Note: To properly nest multiple
+ * Method invoked when the pool has terminated. Default implementation does nothing. Note: To properly nest multiple
* overridings, subclasses should generally invoke <tt>super.terminated</tt> within this method.
*/
protected void terminated() {
}
/**
- * Invokes <tt>shutdown</tt> when this executor is no longer referenced.
+ * Invokes <tt>shutdown</tt> when this pool is no longer referenced.
*/
@Override
protected void finalize() {
@@ -743,6 +831,7 @@
/**
* This method is automatically called by the {@link ConnectionWrapper} when it is {@link ConnectionWrapper#close() closed}.
+ *
* @param wrapper the wrapper to the connection that is being returned to the pool
*/
protected void returnConnection( ConnectionWrapper wrapper ) {
@@ -786,6 +875,7 @@
/**
* Validate the supplied connection, returning the connection if valid or null if the connection is not valid.
+ *
* @param connection the connection to be validated; may not be null
* @return the validated connection, or null if the connection did not validate and was removed from the pool
*/
@@ -814,6 +904,7 @@
* connection would violate the {@link #maximumPoolSize maximum pool size} nor does it add the new connection to the
* {@link #availableConnections available connections} (as the caller may want it immediately), but it does increment the
* {@link #poolSize pool size}.
+ *
* @return the connection wrapper with a new connection
* @throws RepositorySourceException if there was an error obtaining the new connection
* @throws InterruptedException if the thread was interrupted during the operation
@@ -829,6 +920,7 @@
/**
* Close a connection that is in the pool but no longer in the {@link #availableConnections available connections}. This
* method does decrement the {@link #poolSize pool size}.
+ *
* @param wrapper the wrapper for the connection to be closed
* @throws InterruptedException if the thread was interrupted during the operation
*/
@@ -957,6 +1049,14 @@
/**
* {@inheritDoc}
*/
+ public CachePolicy getDefaultCachePolicy() {
+ if (closed) throw new IllegalStateException(SpiI18n.closedConnectionMayNotBeUsed.text());
+ return this.original.getDefaultCachePolicy();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void execute( ExecutionEnvironment env, GraphCommand... commands ) throws RepositorySourceException, InterruptedException {
if (closed) throw new IllegalStateException(SpiI18n.closedConnectionMayNotBeUsed.text());
this.original.execute(env, commands);
Modified: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java
===================================================================
--- trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -23,7 +23,6 @@
import java.io.Serializable;
import javax.naming.Referenceable;
-import org.jboss.dna.spi.cache.CachePolicy;
/**
* A repository source is a description of a resource that can be used to access or store repository information. This class
@@ -39,6 +38,7 @@
* {@link Referenceable} and {@link Serializable} so that such objects can be stored in any JNDI naming context and enable proper
* system recovery,
* </p>
+ *
* @author Randall Hauch
*/
public interface RepositorySource extends RepositoryConnectionFactory, Referenceable, Serializable {
@@ -47,6 +47,7 @@
* Get the maximum number of retries that may be performed on a given operation when using
* {@link #getConnection() connections} created by this source. This value does not constitute a minimum number of retries; in
* fact, the connection user is not required to retry any operations.
+ *
* @return the maximum number of allowable retries, or 0 if the source has no limit
*/
int getRetryLimit();
@@ -55,14 +56,9 @@
* Set the maximum number of retries that may be performed on a given operation when using
* {@link #getConnection() connections} created by this source. This value does not constitute a minimum number of retries; in
* fact, the connection user is not required to retry any operations.
+ *
* @param limit the maximum number of allowable retries, or 0 if the source has no limit
*/
void setRetryLimit( int limit );
- /**
- * Get the default cache policy for this source. If none is provided, a global cache policy will be used.
- * @return the default cache policy
- */
- CachePolicy getDefaultCachePolicy();
-
}
Modified: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceException.java
===================================================================
--- trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceException.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceException.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -70,4 +70,12 @@
return this.sourceName;
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
}
Modified: trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/MockRepositorySource.java
===================================================================
--- trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/MockRepositorySource.java 2008-06-06 21:18:50 UTC (rev 243)
+++ trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/MockRepositorySource.java 2008-06-06 21:19:46 UTC (rev 244)
@@ -75,9 +75,6 @@
this.retryLimit.set(limit);
}
- /**
- * {@inheritDoc}
- */
public CachePolicy getDefaultCachePolicy() {
return defaultCachePolicy;
}
@@ -170,6 +167,13 @@
/**
* {@inheritDoc}
*/
+ public CachePolicy getDefaultCachePolicy() {
+ return MockRepositorySource.this.getDefaultCachePolicy();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public XAResource getXAResource() {
return this.xaResource.get();
}
More information about the dna-commits
mailing list