Skip to content

Commit a85b5b9

Browse files
author
wubin1
committed
add remove contract
1 parent 93f77c1 commit a85b5b9

File tree

3 files changed

+24
-14
lines changed

3 files changed

+24
-14
lines changed

app/src/main/java/org/tron/eventplugin/app/PluginLauncher.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.pf4j.PluginManager;
2525
import org.tron.common.logsfilter.IPluginEventListener;
2626
import org.tron.common.logsfilter.trigger.BlockLogTrigger;
27+
import org.tron.common.logsfilter.trigger.ContractEventTrigger;
2728
import org.tron.common.logsfilter.trigger.Trigger;
2829

2930
import java.io.File;
@@ -34,7 +35,7 @@ public class PluginLauncher {
3435
private static final Logger logger = LoggerFactory.getLogger(PluginLauncher.class);
3536

3637
public static void main(String[] args) {
37-
String path = "/Users/tron/sourcecode/eventplugin/build/plugins/plugin-mongodb-1.0.0.zip";
38+
String path = "/Users/tron/workplace/java-tronSubmit/java-tronUseSubmit/develop_event_subscribe/eventplugin/build/plugins/plugin-mongodb-1.0.0.zip"; // absolute path of plugin
3839

3940
File dir = new File(path);
4041
// create the plugin manager
@@ -57,7 +58,7 @@ protected CompoundPluginDescriptorFinder createPluginDescriptorFinder() {
5758
if (Objects.isNull(eventListeners)) return;
5859

5960
eventListeners.forEach(listener -> {
60-
listener.setServerAddress("127.0.0.1:27017");
61+
listener.setServerAddress("47.90.245.68:27017");
6162
});
6263

6364
eventListeners.forEach(listener -> {
@@ -77,15 +78,12 @@ protected CompoundPluginDescriptorFinder createPluginDescriptorFinder() {
7778

7879
ObjectMapper objectMapper = new ObjectMapper();
7980
for (int index = 0; index < 1000; ++index){
80-
BlockLogTrigger trigger = new BlockLogTrigger();
81-
trigger.setBlockNumber(index);
82-
trigger.setBlockHash("000000000002f5834df6036318999576bfa23ff1a57e0538fa87d5a90319659e");
83-
trigger.setTimeStamp(System.currentTimeMillis());
84-
trigger.setTransactionSize(100);
85-
81+
ContractEventTrigger trigger = new ContractEventTrigger();
82+
trigger.setRemoved(true);
83+
trigger.setTriggerName();
8684
eventListeners.forEach(listener -> {
8785
try {
88-
listener.handleBlockEvent(objectMapper.writeValueAsString(trigger));
86+
listener.handleContractEventTrigger(objectMapper.writeValueAsString(trigger));
8987
} catch (com.fasterxml.jackson.core.JsonProcessingException e) {
9088
e.printStackTrace();
9189
}

plugins/mongodbplugin/src/main/java/org/tron/eventplugin/MongodbSenderImpl.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
package org.tron.eventplugin;
2+
import com.alibaba.fastjson.JSONObject;
23
import org.pf4j.util.StringUtils;
34

45
import java.io.IOException;
@@ -238,8 +239,6 @@ public void handleTransactionTrigger(Object data) {
238239
return;
239240
}
240241

241-
System.out.println(data);
242-
243242
MongoTemplate template = mongoTemplateMap.get(transactionTopic);
244243
if (Objects.nonNull(template)) {
245244
service.execute(new Runnable() {
@@ -277,7 +276,20 @@ public void handleContractEventTrigger(Object data) {
277276
service.execute(new Runnable() {
278277
@Override
279278
public void run() {
280-
template.addEntity((String)data);
279+
String dataStr = (String)data;
280+
if (dataStr.contains("\"removed\":true")) {
281+
try {
282+
JSONObject jsStr = JSONObject.parseObject(dataStr);
283+
String uniqueId = jsStr.getString("uniqueId");
284+
if (uniqueId != null) {
285+
template.delete("uniqueId", uniqueId);
286+
}
287+
} catch (Exception ex) {
288+
log.error("unknown exception happened in parse object ", ex);
289+
}
290+
} else {
291+
template.addEntity(dataStr);
292+
}
281293
}
282294
});
283295
}

plugins/mongodbplugin/src/main/java/org/tron/mongodb/MongoTemplate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ public UpdateResult updateMany(Bson filter, Bson update) {
7070
return result;
7171
}
7272

73-
public long delete(String whereColumn, Object whereValue) {
73+
public long delete(String whereColumn, String whereValue) {
7474
MongoCollection<Document> collection = getCollection();
75-
DeleteResult result = collection.deleteMany(Filters.eq(whereColumn, whereValue));
75+
DeleteResult result = collection.deleteOne(Filters.eq(whereColumn, whereValue));
7676
return result.getDeletedCount();
7777
}
7878

0 commit comments

Comments
 (0)