001
014
015 package com.liferay.portal.test.persistence.test;
016
017 import com.liferay.portal.model.BaseModel;
018 import com.liferay.portal.service.persistence.BasePersistence;
019
020 import java.io.Serializable;
021
022 import java.util.HashMap;
023 import java.util.Map;
024
025 import org.aopalliance.intercept.MethodInterceptor;
026 import org.aopalliance.intercept.MethodInvocation;
027
028
031 public class TransactionalPersistenceAdvice implements MethodInterceptor {
032
033 public Map<Serializable, BasePersistence<?>> getBasePersistences() {
034 return _basePersistences;
035 }
036
037 @Override
038 public Object invoke(MethodInvocation methodInvocation) throws Throwable {
039 BaseModel<?> baseModel = (BaseModel<?>)methodInvocation.proceed();
040
041 BasePersistence<?> basePersistence =
042 (BasePersistence<?>)methodInvocation.getThis();
043
044 _basePersistences.put(baseModel.getPrimaryKeyObj(), basePersistence);
045
046 return baseModel;
047 }
048
049 public void reset() {
050 _basePersistences.clear();
051 }
052
053 private final Map<Serializable, BasePersistence<?>> _basePersistences =
054 new HashMap<Serializable, BasePersistence<?>>();
055
056 }