Skip to content

Commit

Permalink
Merge pull request #253 from Karenlrx/feature/add-redis
Browse files Browse the repository at this point in the history
Use persistence factory to hide the detail name of database driver.
  • Loading branch information
yanggang-JV committed Aug 27, 2020
2 parents 495caab + 1dc1226 commit b22e7cb
Show file tree
Hide file tree
Showing 22 changed files with 795 additions and 163 deletions.
671 changes: 650 additions & 21 deletions docs/zh_CN/docs/weidentity-java-sdk-doc.rst

Large diffs are not rendered by default.

32 changes: 7 additions & 25 deletions src/main/java/com/webank/weid/constant/ErrorCode.java
Original file line number Diff line number Diff line change
Expand Up @@ -618,9 +618,9 @@ public enum ErrorCode {
/**
* the data does not match for batch save.
*/
PRESISTENCE_BATCH_SAVE_DATA_MISMATCH(
PERSISTENCE_BATCH_ADD_DATA_MISMATCH(
100904,
"the data does not match for batch save."
"the data does not match for batch add."
),

/**
Expand Down Expand Up @@ -824,9 +824,9 @@ public enum ErrorCode {
DIRECT_ROUTE_MSG_BASE_ERROR(160010, "amop response messageBody error."),

/**
* sql execute failed.
* persistence execute failed.
*/
SQL_EXECUTE_FAILED(160011, "sql execute failed."),
PERSISTENCE_EXECUTE_FAILED(160011, "persistence execute failed."),

/**
* AMOP server side has no direct route callback.
Expand All @@ -839,7 +839,7 @@ public enum ErrorCode {
/**
* can not get the connection from pool.
*/
SQL_GET_CONNECTION_ERROR(
PERSISTENCE_GET_CONNECTION_ERROR(
160013,
"can not get the connection from pool, please check the error log."
),
Expand All @@ -852,7 +852,7 @@ public enum ErrorCode {
/**
* the data is expire.
*/
SQL_DATA_EXPIRE(160015, "the data is expire."),
PERSISTENCE_DATA_EXPIRE(160015, "the data is expire."),

/**
* no premission.
Expand Down Expand Up @@ -882,7 +882,7 @@ public enum ErrorCode {
/**
* the data does not exist.
*/
SQL_DATA_DOES_NOT_EXIST(160021, "the data does not exist."),
PERSISTENCE_DATA_DOES_NOT_EXIST(160021, "the data does not exist."),

/**
* this is unsupported.
Expand All @@ -894,24 +894,6 @@ public enum ErrorCode {
*/
THIS_IS_REPEATED_CALL(160023, "this is repeated call."),

/**
* can not get the connection from Redis.
*/
REDIS_GET_CONNECTION_ERROR(
160024,
"can not get the connection from Redis, please check the error log."
),

/**
* redis execute failed.
*/
REDIS_EXECUTE_FAILED(160025, "redis execute failed."),

/**
* the data is expire.
*/
REDIS_DATA_EXPIRE(160026, "the data is expire."),

/**
* other uncatched exceptions or error.
*/
Expand Down
14 changes: 12 additions & 2 deletions src/main/java/com/webank/weid/service/impl/AmopServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,12 @@
import com.webank.weid.service.BaseService;
import com.webank.weid.service.fisco.WeServer;
import com.webank.weid.service.impl.base.AmopCommonArgs;
import com.webank.weid.suite.api.persistence.PersistenceFactory;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.util.DataToolUtils;
import com.webank.weid.util.JsonUtil;
import com.webank.weid.util.PropertyUtils;
import com.webank.weid.util.WeIdUtils;


Expand All @@ -82,14 +84,22 @@ public class AmopServiceImpl extends BaseService implements AmopService {
* persistence service.
*/
private static Persistence dataDriver;

private static PersistenceType persistenceType;
/**
* credentialpojo service.
*/
private static CredentialPojoService credentialPojoService = new CredentialPojoServiceImpl();

private static Persistence getDataDriver() {
String type = PropertyUtils.getProperty("persistence_type");
if (type.equals("mysql")) {
persistenceType = PersistenceType.Mysql;
} else if (type.equals("redis")) {
persistenceType = PersistenceType.Redis;
}
if (dataDriver == null) {
dataDriver = new MysqlDriver();
dataDriver = PersistenceFactory.build(persistenceType);
}
return dataDriver;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,18 @@
import com.webank.weid.rpc.CptService;
import com.webank.weid.rpc.CredentialPojoService;
import com.webank.weid.rpc.WeIdService;
import com.webank.weid.suite.api.persistence.PersistenceFactory;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.suite.api.transportation.inf.PdfTransportation;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.transportation.pdf.impl.PdfTransportationImpl;
import com.webank.weid.suite.transportation.pdf.protocol.PdfAttributeInfo;
import com.webank.weid.util.CredentialPojoUtils;
import com.webank.weid.util.CredentialUtils;
import com.webank.weid.util.DataToolUtils;
import com.webank.weid.util.DateUtils;
import com.webank.weid.util.JsonUtil;
import com.webank.weid.util.PropertyUtils;
import com.webank.weid.util.TimestampUtils;
import com.webank.weid.util.WeIdUtils;

Expand All @@ -103,11 +105,18 @@ public class CredentialPojoServiceImpl implements CredentialPojoService {
private static WeIdService weIdService;
private static CptService cptService;
private static Persistence dataDriver;
private static PersistenceType persistenceType;
private static PdfTransportation pdfTransportation;

private static Persistence getDataDriver() {
String type = PropertyUtils.getProperty("persistence_type");
if (type.equals("mysql")) {
persistenceType = PersistenceType.Mysql;
} else if (type.equals("redis")) {
persistenceType = PersistenceType.Redis;
}
if (dataDriver == null) {
dataDriver = new MysqlDriver();
dataDriver = PersistenceFactory.build(persistenceType);
}
return dataDriver;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,19 @@
import com.webank.weid.rpc.WeIdService;
import com.webank.weid.rpc.callback.AmopCallback;
import com.webank.weid.service.impl.WeIdServiceImpl;
import com.webank.weid.suite.api.persistence.PersistenceFactory;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.util.DataToolUtils;
import com.webank.weid.util.PropertyUtils;

public class KeyManagerCallback extends AmopCallback {

private static final Logger logger = LoggerFactory.getLogger(KeyManagerCallback.class);

private Persistence dataDriver;

private PersistenceType persistenceType;

private WeIdService weidService;

Expand All @@ -58,10 +62,16 @@ private WeIdService getWeIdService() {
}
return weidService;
}

private Persistence getDataDriver() {
String type = PropertyUtils.getProperty("persistence_type");
if (type.equals("mysql")) {
persistenceType = PersistenceType.Mysql;
} else if (type.equals("redis")) {
persistenceType = PersistenceType.Redis;
}
if (dataDriver == null) {
dataDriver = new MysqlDriver();
dataDriver = PersistenceFactory.build(persistenceType);
}
return dataDriver;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,13 @@
import com.webank.weid.protocol.response.TransactionInfo;
import com.webank.weid.service.impl.engine.BaseEngine;
import com.webank.weid.service.impl.engine.CptServiceEngine;
import com.webank.weid.suite.api.persistence.PersistenceFactory;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.util.CredentialPojoUtils;
import com.webank.weid.util.DataToolUtils;
import com.webank.weid.util.JsonUtil;
import com.webank.weid.util.PropertyUtils;
import com.webank.weid.util.TransactionUtils;
import com.webank.weid.util.WeIdUtils;

Expand All @@ -100,6 +102,8 @@ public class CptServiceEngineV1 extends BaseEngine implements CptServiceEngine {

private static Persistence dataDriver;

private static PersistenceType persistenceType;

static {
Event event = new Event(
"CredentialTemplate",
Expand Down Expand Up @@ -240,8 +244,14 @@ public static ResponseData<CptBaseInfo> getResultByResolveEvent(
}

private Persistence getDataDriver() {
String type = PropertyUtils.getProperty("persistence_type");
if (type.equals("mysql")) {
persistenceType = PersistenceType.Mysql;
} else if (type.equals("redis")) {
persistenceType = PersistenceType.Redis;
}
if (dataDriver == null) {
dataDriver = new MysqlDriver();
dataDriver = PersistenceFactory.build(persistenceType);
}
return dataDriver;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,13 @@
import com.webank.weid.protocol.response.RsvSignature;
import com.webank.weid.service.impl.engine.BaseEngine;
import com.webank.weid.service.impl.engine.CptServiceEngine;
import com.webank.weid.suite.api.persistence.PersistenceFactory;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.util.CredentialPojoUtils;
import com.webank.weid.util.DataToolUtils;
import com.webank.weid.util.JsonUtil;
import com.webank.weid.util.PropertyUtils;
import com.webank.weid.util.TransactionUtils;
import com.webank.weid.util.WeIdUtils;

Expand All @@ -85,6 +87,7 @@ public class CptServiceEngineV2 extends BaseEngine implements CptServiceEngine {
.encode(CptController.CREDENTIALTEMPLATE_EVENT);
private static CptController cptController;
private static Persistence dataDriver;
private static PersistenceType persistenceType;

/**
* 构造函数.
Expand All @@ -103,8 +106,14 @@ public void reload() {
}

private static Persistence getDataDriver() {
String type = PropertyUtils.getProperty("persistence_type");
if (type.equals("mysql")) {
persistenceType = PersistenceType.Mysql;
} else if (type.equals("redis")) {
persistenceType = PersistenceType.Redis;
}
if (dataDriver == null) {
dataDriver = new MysqlDriver();
dataDriver = PersistenceFactory.build(persistenceType);
}
return dataDriver;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ private ResponseData<String> getCodeData(
// 数据不存在
if (StringUtils.isBlank(responseData.getResult())) {
logger.error("[getCodeData] the data does not exist.");
codeDataRes.setErrorCode(ErrorCode.SQL_DATA_DOES_NOT_EXIST);
codeDataRes.setErrorCode(ErrorCode.PERSISTENCE_DATA_DOES_NOT_EXIST);
return codeDataRes;
}
// 解析数据
Expand Down
18 changes: 14 additions & 4 deletions src/main/java/com/webank/weid/service/impl/inner/InnerService.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

import com.webank.weid.rpc.WeIdService;
import com.webank.weid.service.impl.WeIdServiceImpl;
import com.webank.weid.suite.api.persistence.PersistenceFactory;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.util.PropertyUtils;

public abstract class InnerService {

private Persistence dataDriver;


private PersistenceType persistenceType;

private WeIdService weidService;

protected WeIdService getWeIdService() {
Expand All @@ -17,10 +21,16 @@ protected WeIdService getWeIdService() {
}
return weidService;
}

protected Persistence getDataDriver() {
String type = PropertyUtils.getProperty("persistence_type");
if (type.equals("mysql")) {
persistenceType = PersistenceType.Mysql;
} else if (type.equals("redis")) {
persistenceType = PersistenceType.Redis;
}
if (dataDriver == null) {
dataDriver = new MysqlDriver();
dataDriver = PersistenceFactory.build(persistenceType);
}
return dataDriver;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@

import com.webank.weid.constant.ErrorCode;
import com.webank.weid.exception.WeIdBaseException;
import com.webank.weid.suite.api.persistence.inf.MysqlPersistence;
import com.webank.weid.suite.api.persistence.inf.Persistence;
import com.webank.weid.suite.api.persistence.inf.RedisPersistence;
import com.webank.weid.suite.api.persistence.params.PersistenceType;
import com.webank.weid.suite.persistence.mysql.driver.MysqlDriver;
import com.webank.weid.suite.persistence.redis.driver.RedisDriver;
Expand All @@ -40,11 +38,11 @@ public class PersistenceFactory {

private static final Logger logger = LoggerFactory.getLogger(PersistenceFactory.class);

private static MysqlPersistence newMysqlDriver() {
private static Persistence newMysqlDriver() {
return new MysqlDriver();
}

private static RedisPersistence newRedisDriver() {
private static Persistence newRedisDriver() {
return new RedisDriver();
}

Expand Down

This file was deleted.

0 comments on commit b22e7cb

Please sign in to comment.