forked from p85126437/datagear
service层实现postProcessGet,加载可能缓存过时的共享属性值
This commit is contained in:
parent
4417f22b07
commit
5ce3102295
|
@ -192,7 +192,7 @@ public class User extends AbstractStringIdEntity implements CloneableEntity
|
|||
*
|
||||
* @return
|
||||
*/
|
||||
public User cloneWithoutPassword()
|
||||
public User cloneNoPassword()
|
||||
{
|
||||
User entity = clone();
|
||||
entity.clearPassword();
|
||||
|
|
|
@ -25,6 +25,14 @@ public interface UserService extends EntityService<String, User>
|
|||
*/
|
||||
User getByName(String name);
|
||||
|
||||
/**
|
||||
* 根据ID获取用户,其密码已被清除。
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
User getByIdNoPassword(String id);
|
||||
|
||||
/**
|
||||
* 更新用户密码。
|
||||
*
|
||||
|
|
|
@ -13,14 +13,24 @@ import java.util.Map;
|
|||
|
||||
import org.apache.ibatis.session.RowBounds;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.datagear.management.domain.AnalysisProject;
|
||||
import org.datagear.management.domain.AnalysisProjectAwareEntity;
|
||||
import org.datagear.management.domain.CloneableEntity;
|
||||
import org.datagear.management.domain.CreateUserEntity;
|
||||
import org.datagear.management.domain.DataSetResDirectory;
|
||||
import org.datagear.management.domain.DirectoryFileDataSetEntity;
|
||||
import org.datagear.management.domain.Entity;
|
||||
import org.datagear.management.domain.User;
|
||||
import org.datagear.management.service.AnalysisProjectService;
|
||||
import org.datagear.management.service.CreateUserEntityService;
|
||||
import org.datagear.management.service.DataSetResDirectoryService;
|
||||
import org.datagear.management.service.EntityService;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.datagear.persistence.PagingData;
|
||||
import org.datagear.persistence.PagingQuery;
|
||||
import org.datagear.persistence.Query;
|
||||
import org.datagear.util.StringUtil;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.springframework.cache.Cache.ValueWrapper;
|
||||
import org.springframework.cache.support.SimpleValueWrapper;
|
||||
|
@ -276,6 +286,56 @@ public abstract class AbstractMybatisEntityService<ID, T extends Entity<ID>> ext
|
|||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果{@linkplain CreateUserEntity#getCreateUser()}不为空,
|
||||
* 则使用{@linkplain UserService#getByIdNoPassword(String)}对其进行更新。
|
||||
*
|
||||
* @param entity 允许为{@code null}
|
||||
* @param service
|
||||
*/
|
||||
protected void inflateCreateUserEntity(CreateUserEntity<?> entity, UserService service)
|
||||
{
|
||||
User user = (entity == null ? null : entity.getCreateUser());
|
||||
String userId = (user == null ? null : user.getId());
|
||||
|
||||
if(!StringUtil.isEmpty(userId))
|
||||
entity.setCreateUser(service.getByIdNoPassword(userId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果{@linkplain AnalysisProjectAwareEntity#getAnalysisProject()}不为空,
|
||||
* 则使用{@linkplain AnalysisProjectService#getById(String)}对其进行更新。
|
||||
*
|
||||
* @param entity 允许为{@code null}
|
||||
* @param service
|
||||
*/
|
||||
protected void inflateAnalysisProjectAwareEntity(AnalysisProjectAwareEntity<?> entity,
|
||||
AnalysisProjectService service)
|
||||
{
|
||||
AnalysisProject ap = (entity == null ? null : entity.getAnalysisProject());
|
||||
String apId = (ap == null ? null : ap.getId());
|
||||
|
||||
if (!StringUtil.isEmpty(ap))
|
||||
entity.setAnalysisProject(service.getById(apId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果{@linkplain DirectoryFileDataSetEntity#getDataSetResDirectory()}不为空,
|
||||
* 则使用{@linkplain DataSetResDirectoryService#getById(String)}对其进行更新。
|
||||
*
|
||||
* @param entity 允许为{@code null}
|
||||
* @param service
|
||||
*/
|
||||
protected void inflateDirectoryFileDataSetEntity(DirectoryFileDataSetEntity entity,
|
||||
DataSetResDirectoryService service)
|
||||
{
|
||||
DataSetResDirectory dsd = (entity == null ? null : entity.getDataSetResDirectory());
|
||||
String dsdId = (dsd == null ? null : dsd.getId());
|
||||
|
||||
if (!StringUtil.isEmpty(dsdId))
|
||||
entity.setDataSetResDirectory(service.getById(dsdId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 从缓存中读取实体。
|
||||
* <p>
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.datagear.management.domain.User;
|
|||
import org.datagear.management.service.AnalysisProjectService;
|
||||
import org.datagear.management.service.AuthorizationService;
|
||||
import org.datagear.management.service.PermissionDeniedException;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
|
||||
|
@ -27,21 +28,25 @@ public class AnalysisProjectServiceImpl extends AbstractMybatisDataPermissionEnt
|
|||
{
|
||||
protected static final String SQL_NAMESPACE = AnalysisProject.class.getName();
|
||||
|
||||
private UserService userService;
|
||||
|
||||
public AnalysisProjectServiceImpl()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
public AnalysisProjectServiceImpl(SqlSessionFactory sqlSessionFactory, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService)
|
||||
AuthorizationService authorizationService, UserService userService)
|
||||
{
|
||||
super(sqlSessionFactory, dialect, authorizationService);
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public AnalysisProjectServiceImpl(SqlSessionTemplate sqlSessionTemplate, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService)
|
||||
AuthorizationService authorizationService, UserService userService)
|
||||
{
|
||||
super(sqlSessionTemplate, dialect, authorizationService);
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -62,6 +67,13 @@ public class AnalysisProjectServiceImpl extends AbstractMybatisDataPermissionEnt
|
|||
return super.updateCreateUserId(oldUserId, newUserId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected AnalysisProject postProcessGet(AnalysisProject obj)
|
||||
{
|
||||
inflateCreateUserEntity(obj, this.userService);
|
||||
return super.postProcessGet(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void checkAddInput(AnalysisProject entity)
|
||||
{
|
||||
|
|
|
@ -24,22 +24,28 @@ import org.datagear.management.domain.AnalysisProjectAwareEntity;
|
|||
import org.datagear.management.domain.CsvFileDataSetEntity;
|
||||
import org.datagear.management.domain.CsvValueDataSetEntity;
|
||||
import org.datagear.management.domain.DataSetEntity;
|
||||
import org.datagear.management.domain.DirectoryFileDataSetEntity;
|
||||
import org.datagear.management.domain.ExcelDataSetEntity;
|
||||
import org.datagear.management.domain.HttpDataSetEntity;
|
||||
import org.datagear.management.domain.JsonFileDataSetEntity;
|
||||
import org.datagear.management.domain.JsonValueDataSetEntity;
|
||||
import org.datagear.management.domain.Schema;
|
||||
import org.datagear.management.domain.SchemaConnectionFactory;
|
||||
import org.datagear.management.domain.SqlDataSetEntity;
|
||||
import org.datagear.management.domain.SummaryDataSetEntity;
|
||||
import org.datagear.management.domain.User;
|
||||
import org.datagear.management.service.AnalysisProjectService;
|
||||
import org.datagear.management.service.AuthorizationService;
|
||||
import org.datagear.management.service.DataSetEntityService;
|
||||
import org.datagear.management.service.DataSetResDirectoryService;
|
||||
import org.datagear.management.service.PermissionDeniedException;
|
||||
import org.datagear.management.service.SchemaService;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.datagear.persistence.PagingData;
|
||||
import org.datagear.persistence.PagingQuery;
|
||||
import org.datagear.util.FileUtil;
|
||||
import org.datagear.util.StringUtil;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
|
||||
/**
|
||||
|
@ -57,6 +63,12 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
|
|||
|
||||
private SchemaService schemaService;
|
||||
|
||||
private AnalysisProjectService analysisProjectService;
|
||||
|
||||
private UserService userService;
|
||||
|
||||
private DataSetResDirectoryService dataSetResDirectoryService;
|
||||
|
||||
/** 数据集文件存储根目录 */
|
||||
private File dataSetRootDirectory;
|
||||
|
||||
|
@ -70,11 +82,16 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
|
|||
public DataSetEntityServiceImpl(SqlSessionFactory sqlSessionFactory, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
ConnectionSource connectionSource, SchemaService schemaService,
|
||||
AnalysisProjectService analysisProjectService,
|
||||
UserService userService, DataSetResDirectoryService dataSetResDirectoryService,
|
||||
File dataSetRootDirectory, HttpClient httpClient)
|
||||
{
|
||||
super(sqlSessionFactory, dialect, authorizationService);
|
||||
this.connectionSource = connectionSource;
|
||||
this.schemaService = schemaService;
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
this.userService = userService;
|
||||
this.dataSetResDirectoryService = dataSetResDirectoryService;
|
||||
setDataSetRootDirectory(dataSetRootDirectory);
|
||||
this.httpClient = httpClient;
|
||||
}
|
||||
|
@ -82,11 +99,16 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
|
|||
public DataSetEntityServiceImpl(SqlSessionTemplate sqlSessionTemplate, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
ConnectionSource connectionSource, SchemaService schemaService,
|
||||
AnalysisProjectService analysisProjectService,
|
||||
UserService userService, DataSetResDirectoryService dataSetResDirectoryService,
|
||||
File dataSetRootDirectory, HttpClient httpClient)
|
||||
{
|
||||
super(sqlSessionTemplate, dialect, authorizationService);
|
||||
this.connectionSource = connectionSource;
|
||||
this.schemaService = schemaService;
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
this.userService = userService;
|
||||
this.dataSetResDirectoryService = dataSetResDirectoryService;
|
||||
setDataSetRootDirectory(dataSetRootDirectory);
|
||||
this.httpClient = httpClient;
|
||||
}
|
||||
|
@ -111,6 +133,36 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
|
|||
this.schemaService = schemaService;
|
||||
}
|
||||
|
||||
public AnalysisProjectService getAnalysisProjectService()
|
||||
{
|
||||
return analysisProjectService;
|
||||
}
|
||||
|
||||
public void setAnalysisProjectService(AnalysisProjectService analysisProjectService)
|
||||
{
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
}
|
||||
|
||||
public UserService getUserService()
|
||||
{
|
||||
return userService;
|
||||
}
|
||||
|
||||
public void setUserService(UserService userService)
|
||||
{
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public DataSetResDirectoryService getDataSetResDirectoryService()
|
||||
{
|
||||
return dataSetResDirectoryService;
|
||||
}
|
||||
|
||||
public void setDataSetResDirectoryService(DataSetResDirectoryService dataSetResDirectoryService)
|
||||
{
|
||||
this.dataSetResDirectoryService = dataSetResDirectoryService;
|
||||
}
|
||||
|
||||
public File getDataSetRootDirectory()
|
||||
{
|
||||
return dataSetRootDirectory;
|
||||
|
@ -146,11 +198,10 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
|
|||
if (entity instanceof SqlDataSetEntity)
|
||||
{
|
||||
SqlDataSetEntity sqlDataSetEntity = (SqlDataSetEntity) entity;
|
||||
|
||||
SchemaConnectionFactory connectionFactory = sqlDataSetEntity.getConnectionFactory();
|
||||
|
||||
connectionFactory.setSchema(this.schemaService.getById(connectionFactory.getSchema().getId()));
|
||||
connectionFactory.setConnectionSource(this.connectionSource);
|
||||
if (connectionFactory != null)
|
||||
connectionFactory.setConnectionSource(this.connectionSource);
|
||||
}
|
||||
|
||||
return entity;
|
||||
|
@ -490,6 +541,30 @@ public class DataSetEntityServiceImpl extends AbstractMybatisDataPermissionEntit
|
|||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DataSetEntity postProcessGet(DataSetEntity obj)
|
||||
{
|
||||
inflateAnalysisProjectAwareEntity(obj, this.analysisProjectService);
|
||||
inflateCreateUserEntity(obj, this.userService);
|
||||
|
||||
if (obj instanceof DirectoryFileDataSetEntity)
|
||||
inflateDirectoryFileDataSetEntity((DirectoryFileDataSetEntity) obj, this.dataSetResDirectoryService);
|
||||
|
||||
if (obj instanceof SqlDataSetEntity)
|
||||
{
|
||||
SqlDataSetEntity entity = (SqlDataSetEntity) obj;
|
||||
|
||||
SchemaConnectionFactory connectionFactory = entity.getConnectionFactory();
|
||||
Schema schema = (connectionFactory == null ? null : connectionFactory.getSchema());
|
||||
String schemaId = (schema == null ? null : schema.getId());
|
||||
|
||||
if (!StringUtil.isEmpty(schemaId))
|
||||
connectionFactory.setSchema(this.schemaService.getById(schemaId));
|
||||
}
|
||||
|
||||
return super.postProcessGet(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addDataPermissionParameters(Map<String, Object> params, User user)
|
||||
{
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.datagear.management.domain.User;
|
|||
import org.datagear.management.service.AuthorizationService;
|
||||
import org.datagear.management.service.DataSetResDirectoryService;
|
||||
import org.datagear.management.service.PermissionDeniedException;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
|
||||
|
@ -27,21 +28,35 @@ public class DataSetResDirectoryServiceImpl extends
|
|||
{
|
||||
protected static final String SQL_NAMESPACE = DataSetResDirectory.class.getName();
|
||||
|
||||
private UserService userService;
|
||||
|
||||
public DataSetResDirectoryServiceImpl()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
public DataSetResDirectoryServiceImpl(SqlSessionFactory sqlSessionFactory, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService)
|
||||
AuthorizationService authorizationService, UserService userService)
|
||||
{
|
||||
super(sqlSessionFactory, dialect, authorizationService);
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public DataSetResDirectoryServiceImpl(SqlSessionTemplate sqlSessionTemplate, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService)
|
||||
AuthorizationService authorizationService, UserService userService)
|
||||
{
|
||||
super(sqlSessionTemplate, dialect, authorizationService);
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public UserService getUserService()
|
||||
{
|
||||
return userService;
|
||||
}
|
||||
|
||||
public void setUserService(UserService userService)
|
||||
{
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -62,6 +77,13 @@ public class DataSetResDirectoryServiceImpl extends
|
|||
return super.updateCreateUserId(oldUserId, newUserId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DataSetResDirectory postProcessGet(DataSetResDirectory obj)
|
||||
{
|
||||
inflateCreateUserEntity(obj, this.userService);
|
||||
return super.postProcessGet(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void checkAddInput(DataSetResDirectory entity)
|
||||
{
|
||||
|
|
|
@ -34,10 +34,12 @@ import org.datagear.management.domain.AnalysisProjectAwareEntity;
|
|||
import org.datagear.management.domain.ChartDataSetVO;
|
||||
import org.datagear.management.domain.HtmlChartWidgetEntity;
|
||||
import org.datagear.management.domain.User;
|
||||
import org.datagear.management.service.AnalysisProjectService;
|
||||
import org.datagear.management.service.AuthorizationService;
|
||||
import org.datagear.management.service.DataSetEntityService;
|
||||
import org.datagear.management.service.HtmlChartWidgetEntityService;
|
||||
import org.datagear.management.service.PermissionDeniedException;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.datagear.persistence.PagingData;
|
||||
import org.datagear.persistence.PagingQuery;
|
||||
|
@ -60,6 +62,10 @@ public class HtmlChartWidgetEntityServiceImpl
|
|||
|
||||
private DataSetEntityService dataSetEntityService;
|
||||
|
||||
private AnalysisProjectService analysisProjectService;
|
||||
|
||||
private UserService userService;
|
||||
|
||||
public HtmlChartWidgetEntityServiceImpl()
|
||||
{
|
||||
super();
|
||||
|
@ -67,20 +73,28 @@ public class HtmlChartWidgetEntityServiceImpl
|
|||
|
||||
public HtmlChartWidgetEntityServiceImpl(SqlSessionFactory sqlSessionFactory, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
ChartPluginManager chartPluginManager, DataSetEntityService dataSetEntityService)
|
||||
ChartPluginManager chartPluginManager, DataSetEntityService dataSetEntityService,
|
||||
AnalysisProjectService analysisProjectService,
|
||||
UserService userService)
|
||||
{
|
||||
super(sqlSessionFactory, dialect, authorizationService);
|
||||
this.chartPluginManager = chartPluginManager;
|
||||
this.dataSetEntityService = dataSetEntityService;
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public HtmlChartWidgetEntityServiceImpl(SqlSessionTemplate sqlSessionTemplate, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
ChartPluginManager chartPluginManager, DataSetEntityService dataSetEntityService)
|
||||
ChartPluginManager chartPluginManager, DataSetEntityService dataSetEntityService,
|
||||
AnalysisProjectService analysisProjectService,
|
||||
UserService userService)
|
||||
{
|
||||
super(sqlSessionTemplate, dialect, authorizationService);
|
||||
this.chartPluginManager = chartPluginManager;
|
||||
this.dataSetEntityService = dataSetEntityService;
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public ChartPluginManager getChartPluginManager()
|
||||
|
@ -103,6 +117,26 @@ public class HtmlChartWidgetEntityServiceImpl
|
|||
this.dataSetEntityService = dataSetEntityService;
|
||||
}
|
||||
|
||||
public AnalysisProjectService getAnalysisProjectService()
|
||||
{
|
||||
return analysisProjectService;
|
||||
}
|
||||
|
||||
public void setAnalysisProjectService(AnalysisProjectService analysisProjectService)
|
||||
{
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
}
|
||||
|
||||
public UserService getUserService()
|
||||
{
|
||||
return userService;
|
||||
}
|
||||
|
||||
public void setUserService(UserService userService)
|
||||
{
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChartWidget getChartWidget(String id) throws Throwable
|
||||
{
|
||||
|
@ -199,6 +233,15 @@ public class HtmlChartWidgetEntityServiceImpl
|
|||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected HtmlChartWidgetEntity postProcessGet(HtmlChartWidgetEntity obj)
|
||||
{
|
||||
inflateAnalysisProjectAwareEntity(obj, this.analysisProjectService);
|
||||
inflateCreateUserEntity(obj, this.userService);
|
||||
|
||||
return super.postProcessGet(obj);
|
||||
}
|
||||
|
||||
protected void saveWidgetDataSetRelations(HtmlChartWidgetEntity entity)
|
||||
{
|
||||
Map<String, Object> delParams = buildParamMap();
|
||||
|
|
|
@ -15,9 +15,11 @@ import org.datagear.management.domain.AnalysisProject;
|
|||
import org.datagear.management.domain.AnalysisProjectAwareEntity;
|
||||
import org.datagear.management.domain.HtmlTplDashboardWidgetEntity;
|
||||
import org.datagear.management.domain.User;
|
||||
import org.datagear.management.service.AnalysisProjectService;
|
||||
import org.datagear.management.service.AuthorizationService;
|
||||
import org.datagear.management.service.HtmlTplDashboardWidgetEntityService;
|
||||
import org.datagear.management.service.PermissionDeniedException;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.datagear.persistence.PagingData;
|
||||
import org.datagear.persistence.PagingQuery;
|
||||
|
@ -37,6 +39,10 @@ public class HtmlTplDashboardWidgetEntityServiceImpl
|
|||
|
||||
private HtmlTplDashboardWidgetRenderer htmlTplDashboardWidgetRenderer;
|
||||
|
||||
private AnalysisProjectService analysisProjectService;
|
||||
|
||||
private UserService userService;
|
||||
|
||||
public HtmlTplDashboardWidgetEntityServiceImpl()
|
||||
{
|
||||
super();
|
||||
|
@ -44,18 +50,26 @@ public class HtmlTplDashboardWidgetEntityServiceImpl
|
|||
|
||||
public HtmlTplDashboardWidgetEntityServiceImpl(SqlSessionFactory sqlSessionFactory, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
HtmlTplDashboardWidgetRenderer htmlTplDashboardWidgetRenderer)
|
||||
HtmlTplDashboardWidgetRenderer htmlTplDashboardWidgetRenderer,
|
||||
AnalysisProjectService analysisProjectService,
|
||||
UserService userService)
|
||||
{
|
||||
super(sqlSessionFactory, dialect, authorizationService);
|
||||
this.htmlTplDashboardWidgetRenderer = htmlTplDashboardWidgetRenderer;
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public HtmlTplDashboardWidgetEntityServiceImpl(SqlSessionTemplate sqlSessionTemplate, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
HtmlTplDashboardWidgetRenderer htmlTplDashboardWidgetRenderer)
|
||||
HtmlTplDashboardWidgetRenderer htmlTplDashboardWidgetRenderer,
|
||||
AnalysisProjectService analysisProjectService,
|
||||
UserService userService)
|
||||
{
|
||||
super(sqlSessionTemplate, dialect, authorizationService);
|
||||
this.htmlTplDashboardWidgetRenderer = htmlTplDashboardWidgetRenderer;
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -69,6 +83,26 @@ public class HtmlTplDashboardWidgetEntityServiceImpl
|
|||
this.htmlTplDashboardWidgetRenderer = htmlTplDashboardWidgetRenderer;
|
||||
}
|
||||
|
||||
public AnalysisProjectService getAnalysisProjectService()
|
||||
{
|
||||
return analysisProjectService;
|
||||
}
|
||||
|
||||
public void setAnalysisProjectService(AnalysisProjectService analysisProjectService)
|
||||
{
|
||||
this.analysisProjectService = analysisProjectService;
|
||||
}
|
||||
|
||||
public UserService getUserService()
|
||||
{
|
||||
return userService;
|
||||
}
|
||||
|
||||
public void setUserService(UserService userService)
|
||||
{
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HtmlTplDashboardWidgetEntity getHtmlTplDashboardWidget(User user, String id)
|
||||
{
|
||||
|
@ -105,6 +139,15 @@ public class HtmlTplDashboardWidgetEntityServiceImpl
|
|||
return pagingQueryForAnalysisProjectId(user, pagingQuery, dataFilter, analysisProjectId, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected HtmlTplDashboardWidgetEntity postProcessGet(HtmlTplDashboardWidgetEntity obj)
|
||||
{
|
||||
inflateAnalysisProjectAwareEntity(obj, this.analysisProjectService);
|
||||
inflateCreateUserEntity(obj, this.userService);
|
||||
|
||||
return super.postProcessGet(obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean deleteById(String id, Map<String, Object> params)
|
||||
{
|
||||
|
|
|
@ -10,14 +10,15 @@ package org.datagear.management.service.impl;
|
|||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.datagear.connection.DriverEntity;
|
||||
import org.datagear.connection.DriverEntityManager;
|
||||
import org.datagear.management.domain.Schema;
|
||||
import org.datagear.management.domain.User;
|
||||
import org.datagear.management.service.AuthorizationService;
|
||||
import org.datagear.management.service.PermissionDeniedException;
|
||||
import org.datagear.management.service.SchemaService;
|
||||
import org.datagear.management.service.UserService;
|
||||
import org.datagear.management.util.dialect.MbSqlDialect;
|
||||
import org.datagear.util.StringUtil;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
|
||||
/**
|
||||
|
@ -33,6 +34,8 @@ public class SchemaServiceImpl extends AbstractMybatisDataPermissionEntityServic
|
|||
|
||||
private DriverEntityManager driverEntityManager;
|
||||
|
||||
private UserService userService;
|
||||
|
||||
public SchemaServiceImpl()
|
||||
{
|
||||
super();
|
||||
|
@ -40,18 +43,20 @@ public class SchemaServiceImpl extends AbstractMybatisDataPermissionEntityServic
|
|||
|
||||
public SchemaServiceImpl(SqlSessionFactory sqlSessionFactory, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
DriverEntityManager driverEntityManager)
|
||||
DriverEntityManager driverEntityManager, UserService userService)
|
||||
{
|
||||
super(sqlSessionFactory, dialect, authorizationService);
|
||||
this.driverEntityManager = driverEntityManager;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public SchemaServiceImpl(SqlSessionTemplate sqlSessionTemplate, MbSqlDialect dialect,
|
||||
AuthorizationService authorizationService,
|
||||
DriverEntityManager driverEntityManager)
|
||||
DriverEntityManager driverEntityManager, UserService userService)
|
||||
{
|
||||
super(sqlSessionTemplate, dialect, authorizationService);
|
||||
this.driverEntityManager = driverEntityManager;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
public DriverEntityManager getDriverEntityManager()
|
||||
|
@ -64,6 +69,16 @@ public class SchemaServiceImpl extends AbstractMybatisDataPermissionEntityServic
|
|||
this.driverEntityManager = driverEntityManager;
|
||||
}
|
||||
|
||||
public UserService getUserService()
|
||||
{
|
||||
return userService;
|
||||
}
|
||||
|
||||
public void setUserService(UserService userService)
|
||||
{
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getResourceType()
|
||||
{
|
||||
|
@ -114,13 +129,17 @@ public class SchemaServiceImpl extends AbstractMybatisDataPermissionEntityServic
|
|||
@Override
|
||||
protected Schema postProcessGet(Schema schema)
|
||||
{
|
||||
inflateCreateUserEntity(schema, this.userService);
|
||||
|
||||
if (schema.hasDriverEntity())
|
||||
{
|
||||
DriverEntity driverEntity = this.driverEntityManager.get(schema.getDriverEntity().getId());
|
||||
schema.setDriverEntity(driverEntity);
|
||||
String did = schema.getDriverEntity().getId();
|
||||
|
||||
if (!StringUtil.isEmpty(did))
|
||||
schema.setDriverEntity(this.driverEntityManager.get(did));
|
||||
}
|
||||
|
||||
return schema;
|
||||
return super.postProcessGet(schema);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -145,6 +145,15 @@ public class UserServiceImpl extends AbstractMybatisEntityService<String, User>
|
|||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getByIdNoPassword(String id)
|
||||
{
|
||||
User user = super.getById(id);
|
||||
user.clearPassword();
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updatePasswordById(String id, String newPassword, boolean encrypt)
|
||||
{
|
||||
|
|
|
@ -480,7 +480,7 @@ public class CoreConfig implements ApplicationListener<ContextRefreshedEvent>
|
|||
public SchemaService schemaService()
|
||||
{
|
||||
SchemaServiceImpl bean = new SchemaServiceImpl(this.sqlSessionFactory(), this.mbSqlDialect(),
|
||||
this.authorizationService(), this.driverEntityManager());
|
||||
this.authorizationService(), this.driverEntityManager(), this.userService());
|
||||
|
||||
return bean;
|
||||
}
|
||||
|
@ -513,7 +513,9 @@ public class CoreConfig implements ApplicationListener<ContextRefreshedEvent>
|
|||
public DataSetEntityService dataSetEntityService()
|
||||
{
|
||||
DataSetEntityServiceImpl bean = new DataSetEntityServiceImpl(this.sqlSessionFactory(), this.mbSqlDialect(),
|
||||
this.authorizationService(), this.connectionSource(), this.schemaService(), this.dataSetRootDirectory(),
|
||||
this.authorizationService(), this.connectionSource(), this.schemaService(),
|
||||
this.analysisProjectService(), this.userService(), this.dataSetResDirectoryService(),
|
||||
this.dataSetRootDirectory(),
|
||||
this.httpClient());
|
||||
|
||||
return bean;
|
||||
|
@ -555,7 +557,7 @@ public class CoreConfig implements ApplicationListener<ContextRefreshedEvent>
|
|||
{
|
||||
HtmlChartWidgetEntityServiceImpl bean = new HtmlChartWidgetEntityServiceImpl(this.sqlSessionFactory(),
|
||||
this.mbSqlDialect(), this.authorizationService(), this.directoryHtmlChartPluginManager(),
|
||||
this.dataSetEntityService());
|
||||
this.dataSetEntityService(), this.analysisProjectService(), this.userService());
|
||||
|
||||
return bean;
|
||||
}
|
||||
|
@ -663,7 +665,7 @@ public class CoreConfig implements ApplicationListener<ContextRefreshedEvent>
|
|||
{
|
||||
HtmlTplDashboardWidgetEntityServiceImpl bean = new HtmlTplDashboardWidgetEntityServiceImpl(
|
||||
this.sqlSessionFactory(), this.mbSqlDialect(), this.authorizationService(),
|
||||
this.htmlTplDashboardWidgetRenderer());
|
||||
this.htmlTplDashboardWidgetRenderer(), this.analysisProjectService(), this.userService());
|
||||
|
||||
return bean;
|
||||
}
|
||||
|
@ -672,7 +674,7 @@ public class CoreConfig implements ApplicationListener<ContextRefreshedEvent>
|
|||
public AnalysisProjectService analysisProjectService()
|
||||
{
|
||||
AnalysisProjectService bean = new AnalysisProjectServiceImpl(this.sqlSessionFactory(), this.mbSqlDialect(),
|
||||
this.authorizationService());
|
||||
this.authorizationService(), this.userService());
|
||||
return bean;
|
||||
}
|
||||
|
||||
|
@ -680,7 +682,7 @@ public class CoreConfig implements ApplicationListener<ContextRefreshedEvent>
|
|||
public DataSetResDirectoryService dataSetResDirectoryService()
|
||||
{
|
||||
DataSetResDirectoryService bean = new DataSetResDirectoryServiceImpl(this.sqlSessionFactory(),
|
||||
this.mbSqlDialect(), this.authorizationService());
|
||||
this.mbSqlDialect(), this.authorizationService(), this.userService());
|
||||
return bean;
|
||||
}
|
||||
|
||||
|
|
|
@ -275,7 +275,7 @@ public class ChartController extends AbstractChartPluginAwareController implemen
|
|||
if (isEmpty(entity.getId()))
|
||||
{
|
||||
entity.setId(IDUtil.randomIdOnTime20());
|
||||
entity.setCreateUser(user.cloneWithoutPassword());
|
||||
entity.setCreateUser(user.cloneNoPassword());
|
||||
inflateHtmlChartWidgetEntity(entity, request);
|
||||
|
||||
checkSaveEntity(entity);
|
||||
|
|
|
@ -178,7 +178,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveSqlDataSetEntity(request, dataSet);
|
||||
|
||||
|
@ -214,7 +214,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveJsonValueDataSetEntity(request, dataSet);
|
||||
|
||||
|
@ -251,7 +251,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveJsonFileDataSetEntity(request, dataSet);
|
||||
|
||||
|
@ -290,7 +290,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveExcelDataSetEntity(request, dataSet);
|
||||
|
||||
|
@ -329,7 +329,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveCsvValueDataSetEntity(request, dataSet);
|
||||
|
||||
|
@ -367,7 +367,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveCsvFileDataSetEntity(request, dataSet);
|
||||
|
||||
|
@ -406,7 +406,7 @@ public class DataSetController extends AbstractSchemaConnController
|
|||
User user = WebUtils.getUser(request, response);
|
||||
|
||||
dataSet.setId(IDUtil.randomIdOnTime20());
|
||||
dataSet.setCreateUser(user.cloneWithoutPassword());
|
||||
dataSet.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
ResponseEntity<OperationMessage> responseEntity = checkSaveHttpDataSetEntity(request, dataSet);
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ public class MainController extends AbstractController
|
|||
public String main(HttpServletRequest request, HttpServletResponse response, Model model)
|
||||
{
|
||||
request.setAttribute("disableRegister", this.disableRegister);
|
||||
request.setAttribute("currentUser", WebUtils.getUser(request, response).cloneWithoutPassword());
|
||||
request.setAttribute("currentUser", WebUtils.getUser(request, response).cloneNoPassword());
|
||||
request.setAttribute("currentVersion", Global.VERSION);
|
||||
resolveDetectNewVersionScript(request, response);
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ public class SchemaController extends AbstractSchemaConnTableController
|
|||
|
||||
schema.setId(IDUtil.randomIdOnTime20());
|
||||
schema.setCreateTime(new Date());
|
||||
schema.setCreateUser(user.cloneWithoutPassword());
|
||||
schema.setCreateUser(user.cloneNoPassword());
|
||||
|
||||
getSchemaService().add(user, schema);
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ public class UserController extends AbstractController
|
|||
|
||||
this.userService.add(user);
|
||||
|
||||
return buildOperationMessageSaveSuccessResponseEntity(request, user.cloneWithoutPassword());
|
||||
return buildOperationMessageSaveSuccessResponseEntity(request, user.cloneNoPassword());
|
||||
}
|
||||
|
||||
@RequestMapping("/edit")
|
||||
|
@ -157,7 +157,7 @@ public class UserController extends AbstractController
|
|||
|
||||
this.userService.update(user);
|
||||
|
||||
return buildOperationMessageSaveSuccessResponseEntity(request, user.cloneWithoutPassword());
|
||||
return buildOperationMessageSaveSuccessResponseEntity(request, user.cloneNoPassword());
|
||||
}
|
||||
|
||||
@RequestMapping("/view")
|
||||
|
|
Loading…
Reference in New Issue