mirror of
https://gitee.com/BDWare/agent-backend
synced 2025-04-27 14:42:16 +00:00
add temporyaction
This commit is contained in:
parent
e925d0e9e7
commit
07e5070316
@ -169,7 +169,10 @@ public class TemporyTestAction {
|
|||||||
Contract c = new Contract();
|
Contract c = new Contract();
|
||||||
c.setScript(args.get("script").getAsString());
|
c.setScript(args.get("script").getAsString());
|
||||||
c.setOwner(args.get("owner").getAsString());
|
c.setOwner(args.get("owner").getAsString());
|
||||||
c.setDoipPort(args.get("doipStartPort").getAsInt());
|
if (args.has("doipStartPort")) {
|
||||||
|
c.setDoipPort(args.get("doipStartPort").getAsInt());
|
||||||
|
} else
|
||||||
|
c.setDoipPort(1716);
|
||||||
ContractManager.instance.allocateKeyIfNotExists(c);
|
ContractManager.instance.allocateKeyIfNotExists(c);
|
||||||
JsonObject jo = JsonUtil.parseObjectAsJsonObject(c);
|
JsonObject jo = JsonUtil.parseObjectAsJsonObject(c);
|
||||||
jo.addProperty("action", "onAllocateKeyPair");
|
jo.addProperty("action", "onAllocateKeyPair");
|
||||||
|
@ -89,6 +89,8 @@ public class ContractRepositoryHandler extends RepositoryHandlerBase implements
|
|||||||
e.printStackTrace(new PrintStream(bo));
|
e.printStackTrace(new PrintStream(bo));
|
||||||
return replyStringWithStatus(doipMessage, "exception:" + new String(bo.toByteArray()), DoipResponseCode.Invalid);
|
return replyStringWithStatus(doipMessage, "exception:" + new String(bo.toByteArray()), DoipResponseCode.Invalid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
digitalObject.attributes.addProperty("verifiedPubKey", doipMessage.credential.getSigner());
|
digitalObject.attributes.addProperty("verifiedPubKey", doipMessage.credential.getSigner());
|
||||||
String path = null;
|
String path = null;
|
||||||
LOGGER.info("create BDO, bCoId:" + digitalObject.attributes.get("bCoId").getAsString());
|
LOGGER.info("create BDO, bCoId:" + digitalObject.attributes.get("bCoId").getAsString());
|
||||||
@ -110,20 +112,31 @@ public class ContractRepositoryHandler extends RepositoryHandlerBase implements
|
|||||||
c.setOwner(doipMessage.credential.getSigner());
|
c.setOwner(doipMessage.credential.getSigner());
|
||||||
if (digitalObject.attributes.has("createParam")) {
|
if (digitalObject.attributes.has("createParam")) {
|
||||||
c.setCreateParam(digitalObject.attributes.get("createParam"));
|
c.setCreateParam(digitalObject.attributes.get("createParam"));
|
||||||
|
|
||||||
}
|
}
|
||||||
SM2KeyPair sm2Key;
|
SM2KeyPair sm2Key;
|
||||||
if (digitalObject.attributes.has("sm2KeyPair"))
|
if (digitalObject.attributes.has("sm2KeyPair"))
|
||||||
sm2Key = SM2KeyPair.fromJson(digitalObject.attributes.get("sm2KeyPair").getAsJsonObject().toString());
|
sm2Key = SM2KeyPair.fromJson(digitalObject.attributes.get("sm2KeyPair").getAsJsonObject().toString());
|
||||||
else sm2Key = SM2Util.generateSM2KeyPair();
|
else sm2Key = SM2Util.generateSM2KeyPair();
|
||||||
String contractID = String.valueOf(sm2Key.getPublicKeyStr().hashCode());
|
String contractID = String.valueOf(sm2Key.getPublicKeyStr().hashCode());
|
||||||
|
|
||||||
c.setID(contractID); // contractID是根据hash算出来的
|
c.setID(contractID); // contractID是根据hash算出来的
|
||||||
c.setKey(sm2Key.getPrivateKeyStr());
|
c.setKey(sm2Key.getPrivateKeyStr());
|
||||||
c.setPublicKey(sm2Key.getPublicKeyStr());
|
c.setPublicKey(sm2Key.getPublicKeyStr());
|
||||||
|
if (c.getCreateParam() != null && c.getCreateParam().isJsonObject()) {
|
||||||
|
c.getCreateParam().getAsJsonObject().addProperty("repoId", GlobalConf.instance.doaConf.repoDoid + "/" + c.getID());
|
||||||
|
}
|
||||||
|
registerBDOID(contractID);
|
||||||
|
|
||||||
String result = CMActions.manager.startContract(c);
|
String result = CMActions.manager.startContract(c);
|
||||||
//Please note startContractByYPK is invoked in sync mode method.
|
//Please note startContractByYPK is invoked in sync mode method.
|
||||||
return replyStringWithStatus(doipMessage, result, DoipResponseCode.Success);
|
return replyStringWithStatus(doipMessage, result, DoipResponseCode.Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void registerBDOID(String contractID) {
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DoipMessage handleUpdate(DoipMessage doipMessage) {
|
public DoipMessage handleUpdate(DoipMessage doipMessage) {
|
||||||
return replyStringWithStatus(doipMessage, "not supported yet", DoipResponseCode.Declined);
|
return replyStringWithStatus(doipMessage, "not supported yet", DoipResponseCode.Declined);
|
||||||
@ -131,7 +144,9 @@ public class ContractRepositoryHandler extends RepositoryHandlerBase implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DoipMessage handleDelete(DoipMessage doipMessage) {
|
public DoipMessage handleDelete(DoipMessage doipMessage) {
|
||||||
String id = doipMessage.header.parameters.id;
|
String id = doipMessage.header.parameters.attributes.get("elementId").getAsString();
|
||||||
|
id = id.replaceAll(".*/", "");
|
||||||
|
LOGGER.info("handleDelete:" + id);
|
||||||
//TODO judge whethere the do exists
|
//TODO judge whethere the do exists
|
||||||
ContractMeta meta = CMActions.manager.statusRecorder.getContractMeta(id);
|
ContractMeta meta = CMActions.manager.statusRecorder.getContractMeta(id);
|
||||||
if (meta == null) {
|
if (meta == null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user