You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.5 KiB
43 lines
1.5 KiB
package com.fr.plugin.demo.dataset.transfer; |
|
|
|
import com.fr.data.impl.Connection; |
|
import com.fr.decision.fun.impl.AbstractTransferConnectionManagerProvider; |
|
import com.fr.third.fasterxml.jackson.core.type.TypeReference; |
|
import com.fr.third.fasterxml.jackson.databind.ObjectMapper; |
|
|
|
import java.util.HashMap; |
|
import java.util.Map; |
|
|
|
/** |
|
* @author lidongy |
|
* @version 10.0 |
|
* Created by lidongy on 2021/3/4 |
|
*/ |
|
public class DemoConnectionTransferManager extends AbstractTransferConnectionManagerProvider<DemoConnection> { |
|
|
|
private static final String FIELD_HOST = "host"; |
|
private static final String FIELD_USERNAME = "username"; |
|
|
|
@Override |
|
public Class<? extends Connection> getConnectionClass() { |
|
return DemoConnection.class; |
|
} |
|
|
|
@Override |
|
public String serialize(DemoConnection demoConnection) throws Exception { |
|
Map<String, Object> map = new HashMap<>(); |
|
map.put(FIELD_HOST, demoConnection.getHost()); |
|
map.put(FIELD_USERNAME, demoConnection.getUsername()); |
|
return new ObjectMapper().writeValueAsString(map); |
|
} |
|
|
|
@Override |
|
public DemoConnection deserialize(String str) throws Exception { |
|
Map<String, Object> map = new ObjectMapper().readValue(str, new TypeReference<Map<String, Object>>() { |
|
}); |
|
DemoConnection demoConnection = new DemoConnection(); |
|
demoConnection.setHost((String) map.get(FIELD_HOST)); |
|
demoConnection.setUsername((String) map.get(FIELD_USERNAME)); |
|
return demoConnection; |
|
} |
|
}
|
|
|