Skip to content
Snippets Groups Projects
Commit f2ce1aa6 authored by ribeaudc's avatar ribeaudc
Browse files

[LMS-634] change: - 'IResultSetKeyProvider' renamed to 'IResultSetKeyGenerator'.

- 'IResultSetRetriever' renamed to 'IOriginalDataProvider'.

SVN: 9034
parent f49415d0
No related branches found
No related tags found
No related merge requests found
...@@ -37,7 +37,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SortInfo.SortDir; ...@@ -37,7 +37,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SortInfo.SortDir;
/** /**
* A {@link IResultSetManager} implementation which caches the full data retrieved using * A {@link IResultSetManager} implementation which caches the full data retrieved using
* {@link IResultSetRetriever}. * {@link IOriginalDataProvider}.
* *
* @author Christian Ribeaud * @author Christian Ribeaud
*/ */
...@@ -45,7 +45,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -45,7 +45,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final IResultSetKeyProvider<K> resultSetKeyProvider; private final IResultSetKeyGenerator<K> resultSetKeyProvider;
private static final Logger operationLog = private static final Logger operationLog =
LogFactory.getLogger(LogCategory.OPERATION, CachedResultSetManager.class); LogFactory.getLogger(LogCategory.OPERATION, CachedResultSetManager.class);
...@@ -53,7 +53,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -53,7 +53,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
@Private @Private
final Map<K, List<?>> results = new HashMap<K, List<?>>(); final Map<K, List<?>> results = new HashMap<K, List<?>>();
public CachedResultSetManager(final IResultSetKeyProvider<K> resultSetKeyProvider) public CachedResultSetManager(final IResultSetKeyGenerator<K> resultSetKeyProvider)
{ {
this.resultSetKeyProvider = resultSetKeyProvider; this.resultSetKeyProvider = resultSetKeyProvider;
} }
...@@ -122,7 +122,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -122,7 +122,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
// //
public final synchronized <T> IResultSet<K, T> getResultSet( public final synchronized <T> IResultSet<K, T> getResultSet(
final IResultSetConfig<K> resultConfig, final IResultSetRetriever<T> dataRetriever) final IResultSetConfig<K> resultConfig, final IOriginalDataProvider<T> dataRetriever)
{ {
assert resultConfig != null : "Unspecified result configuration"; assert resultConfig != null : "Unspecified result configuration";
assert dataRetriever != null : "Unspecified data retriever"; assert dataRetriever != null : "Unspecified data retriever";
...@@ -131,8 +131,8 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -131,8 +131,8 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
if (dataKey == null) if (dataKey == null)
{ {
operationLog.debug("Unknown result set key: retrieving the data."); operationLog.debug("Unknown result set key: retrieving the data.");
dataKey = resultSetKeyProvider.getKey(); dataKey = resultSetKeyProvider.createKey();
data = dataRetriever.getData(); data = dataRetriever.getOriginalData();
results.put(dataKey, data); results.put(dataKey, data);
} else } else
{ {
...@@ -169,7 +169,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -169,7 +169,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
// //
public final static class TokenBasedResultSetKeyProvider implements public final static class TokenBasedResultSetKeyProvider implements
IResultSetKeyProvider<String> IResultSetKeyGenerator<String>
{ {
private final TokenGenerator tokenGenerator; private final TokenGenerator tokenGenerator;
...@@ -183,14 +183,14 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -183,14 +183,14 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
// IResultSetKeyProvider // IResultSetKeyProvider
// //
public final String getKey() public final String createKey()
{ {
return tokenGenerator.getNewToken(System.currentTimeMillis()); return tokenGenerator.getNewToken(System.currentTimeMillis());
} }
} }
public final static class CounterBasedResultSetKeyProvider implements public final static class CounterBasedResultSetKeyProvider implements
IResultSetKeyProvider<Integer> IResultSetKeyGenerator<Integer>
{ {
private int counter; private int counter;
...@@ -202,7 +202,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se ...@@ -202,7 +202,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
// IResultSetKeyProvider // IResultSetKeyProvider
// //
public final Integer getKey() public final Integer createKey()
{ {
return counter++; return counter++;
} }
......
...@@ -21,15 +21,15 @@ import java.util.List; ...@@ -21,15 +21,15 @@ import java.util.List;
import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException;
/** /**
* Each implementation knows how to retrieve the data used to produce a {@link IResultSet}. * Each implementation knows how to retrieve the original data used to produce a {@link IResultSet}.
* *
* @author Christian Ribeaud * @author Christian Ribeaud
*/ */
public interface IResultSetRetriever<T> public interface IOriginalDataProvider<T>
{ {
/** /**
* Returns the original data. * Returns the original data.
*/ */
public List<T> getData() throws UserFailureException; public List<T> getOriginalData() throws UserFailureException;
} }
...@@ -17,15 +17,18 @@ ...@@ -17,15 +17,18 @@
package ch.systemsx.cisd.openbis.generic.client.web.server.resultset; package ch.systemsx.cisd.openbis.generic.client.web.server.resultset;
/** /**
* A result set key provider. * A result set key generator.
* *
* @author Christian Ribeaud * @author Christian Ribeaud
*/ */
public interface IResultSetKeyProvider<T> public interface IResultSetKeyGenerator<T>
{ {
/** /**
* Returns an unique key. * Creates and returns an unique result set key.
* <p>
* Each call will return a new value.
* </p>
*/ */
public T getKey(); public T createKey();
} }
...@@ -31,12 +31,12 @@ public interface IResultSetManager<K> ...@@ -31,12 +31,12 @@ public interface IResultSetManager<K>
* Produces a {@link IResultSet} from given <var>resultConfig</var> and given * Produces a {@link IResultSet} from given <var>resultConfig</var> and given
* <var>dataRetriever</var>. * <var>dataRetriever</var>.
* <p> * <p>
* In case of cached data, the {@link IResultSetRetriever} implementation is only used in the * In case of cached data, the {@link IOriginalDataProvider} implementation is only used in the
* first call, when the full data are not already there. * first call, when the full data are not already there.
* </p> * </p>
*/ */
public <T> IResultSet<K, T> getResultSet(final IResultSetConfig<K> resultConfig, public <T> IResultSet<K, T> getResultSet(final IResultSetConfig<K> resultConfig,
final IResultSetRetriever<T> dataRetriever) throws UserFailureException; final IOriginalDataProvider<T> dataRetriever) throws UserFailureException;
/** /**
* Remove the data mapped to given <var>resultSetKey</var>. * Remove the data mapped to given <var>resultSetKey</var>.
......
...@@ -43,7 +43,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleType; ...@@ -43,7 +43,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SearchableEntity; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SearchableEntity;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSet; import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSet;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSetManager; import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSetManager;
import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IResultSetRetriever; import ch.systemsx.cisd.openbis.generic.client.web.server.resultset.IOriginalDataProvider;
import ch.systemsx.cisd.openbis.generic.client.web.server.util.DtoConverters; import ch.systemsx.cisd.openbis.generic.client.web.server.util.DtoConverters;
import ch.systemsx.cisd.openbis.generic.client.web.server.util.GroupTranslator; import ch.systemsx.cisd.openbis.generic.client.web.server.util.GroupTranslator;
import ch.systemsx.cisd.openbis.generic.client.web.server.util.ListSampleCriteriaTranslator; import ch.systemsx.cisd.openbis.generic.client.web.server.util.ListSampleCriteriaTranslator;
...@@ -281,14 +281,14 @@ public final class GenericClientService extends AbstractClientService implements ...@@ -281,14 +281,14 @@ public final class GenericClientService extends AbstractClientService implements
ListSampleCriteriaTranslator.translate(listCriteria); ListSampleCriteriaTranslator.translate(listCriteria);
final IResultSetManager<String> resultSetManager = getResultSetManager(); final IResultSetManager<String> resultSetManager = getResultSetManager();
final IResultSet<String, Sample> result = final IResultSet<String, Sample> result =
resultSetManager.getResultSet(listCriteria, new IResultSetRetriever<Sample>() resultSetManager.getResultSet(listCriteria, new IOriginalDataProvider<Sample>()
{ {
// //
// IDataRetriever // IDataRetriever
// //
public final List<Sample> getData() public final List<Sample> getOriginalData()
{ {
final List<SamplePE> samplePEs = final List<SamplePE> samplePEs =
genericServer.listSamples(getSessionToken(), criteria); genericServer.listSamples(getSessionToken(), criteria);
...@@ -367,14 +367,14 @@ public final class GenericClientService extends AbstractClientService implements ...@@ -367,14 +367,14 @@ public final class GenericClientService extends AbstractClientService implements
final IResultSetManager<String> resultSetManager = getResultSetManager(); final IResultSetManager<String> resultSetManager = getResultSetManager();
final IResultSet<String, MatchingEntity> result = final IResultSet<String, MatchingEntity> result =
resultSetManager.getResultSet(resultSetConfig, resultSetManager.getResultSet(resultSetConfig,
new IResultSetRetriever<MatchingEntity>() new IOriginalDataProvider<MatchingEntity>()
{ {
// //
// IDataRetriever // IDataRetriever
// //
public final List<MatchingEntity> getData() public final List<MatchingEntity> getOriginalData()
{ {
return BeanUtils.createBeanList(MatchingEntity.class, return BeanUtils.createBeanList(MatchingEntity.class,
genericServer.listMatchingEntities( genericServer.listMatchingEntities(
......
...@@ -47,7 +47,7 @@ public final class CachedResultSetManagerTest ...@@ -47,7 +47,7 @@ public final class CachedResultSetManagerTest
{ {
private IResultSetConfig<String> resultSetConfig; private IResultSetConfig<String> resultSetConfig;
private IResultSetRetriever<?> resultSetRetriever; private IOriginalDataProvider<?> resultSetRetriever;
private IResultSetManager<String> resultSetManager; private IResultSetManager<String> resultSetManager;
...@@ -88,7 +88,7 @@ public final class CachedResultSetManagerTest ...@@ -88,7 +88,7 @@ public final class CachedResultSetManagerTest
{ {
context = new Mockery(); context = new Mockery();
resultSetConfig = context.mock(IResultSetConfig.class); resultSetConfig = context.mock(IResultSetConfig.class);
resultSetRetriever = context.mock(IResultSetRetriever.class); resultSetRetriever = context.mock(IOriginalDataProvider.class);
resultSetManager = createResultSetManager(); resultSetManager = createResultSetManager();
} }
...@@ -157,7 +157,7 @@ public final class CachedResultSetManagerTest ...@@ -157,7 +157,7 @@ public final class CachedResultSetManagerTest
one(resultSetConfig).getResultSetKey(); one(resultSetConfig).getResultSetKey();
will(returnValue(null)); will(returnValue(null));
one(resultSetRetriever).getData(); one(resultSetRetriever).getOriginalData();
will(returnValue(Collections.emptyList())); will(returnValue(Collections.emptyList()));
allowResultSetCreation(this); allowResultSetCreation(this);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment