本文整理汇总了Java中com.fasterxml.jackson.databind.JsonNode.hasNonNull方法的典型用法代码示例。如果您正苦于以下问题:Java JsonNode.hasNonNull方法的具体用法?Java JsonNode.hasNonNull怎么用?Java JsonNode.hasNonNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.fasterxml.jackson.databind.JsonNode
的用法示例。
在下文中一共展示了JsonNode.hasNonNull方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: jsonNodeToGoogleAccount
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
private static GoogleAccount jsonNodeToGoogleAccount(JsonNode person) {
if (person == null) {
return null;
}
if (person.hasNonNull("id") && person.hasNonNull("emails") && person.get("emails").isArray() && person.get("emails").elements().hasNext() && person.hasNonNull("displayName")) {
String id = person.get("id").asText();
JsonNode emailNode = person.get("emails").elements().next();
String email = emailNode.get("value").asText();
String displayName = person.get("displayName").asText();
String imageURL;
if (person.hasNonNull("image") && person.get("image").hasNonNull("url")) {
imageURL = person.get("image").get("url").asText();
} else {
imageURL = "https://ssl.gstatic.com/accounts/ui/avatar_1x.png";
}
return new GoogleAccount(id, email, displayName, imageURL);
}
return null;
}
示例2: processOvsdbMessage
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Processes an JsonNode message received on the channel.
*
* @param jsonNode The OvsdbJsonRpcHandler that received the message
*/
private void processOvsdbMessage(JsonNode jsonNode) {
log.debug("Handle ovsdb message");
if (jsonNode.has("result")) {
log.debug("Handle ovsdb result");
ovsdbProviderService.processResult(jsonNode);
} else if (jsonNode.hasNonNull("method")) {
log.debug("Handle ovsdb request");
if (jsonNode.has("id")
&& !Strings.isNullOrEmpty(jsonNode.get("id").asText())) {
ovsdbProviderService.processRequest(jsonNode);
}
}
return;
}
示例3: handleJsonNodeRequest
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
protected ErrorResolver.JsonError handleJsonNodeRequest(JsonNode node, OutputStream output) throws IOException {
if (node.hasNonNull(JSON_RPC_METHOD_FIELD_NAME)) {
checkMethod(node.at(JSON_RPC_METHOD_FIELD_NAME).asText());
}
return super.handleJsonNodeRequest(node, output);
}
示例4: exploreJsonNode
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Explore the Json document to retrieve valid Key/Value couples.
*
* @param prefix The key prefix to remove
* @param stringBuilder The buffer to put configuration
* @param jsonNode The Json node to explore
* @since 17.08.21
*/
private void exploreJsonNode(final String prefix, final StringBuilder stringBuilder, final JsonNode jsonNode) {
for (final JsonNode entry : jsonNode) {
if (entry.hasNonNull("dir") && entry.get("dir").asBoolean()) {
this.exploreJsonNode(prefix, stringBuilder, entry.get("nodes"));
} else if (entry.hasNonNull("value")) {
if (prefix.isEmpty()) {
stringBuilder.append(
StringUtils.removeFirst(
entry.get("key").asText(),
"/"
).replace("/", ".")
);
} else {
stringBuilder.append(
entry.get("key")
.asText()
.replace("/" + prefix + "/", "")
.replace("/", ".")
);
}
stringBuilder.append(" = ");
stringBuilder.append(
entry.get("value").asText()
);
stringBuilder.append('\n');
}
}
}
示例5: jsonNodeToGateway
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Changes JsonNode Gateway to the Gateway.
*
* @param gateway the gateway JsonNode
* @return gateway
*/
private RouterGateway jsonNodeToGateway(JsonNode gateway) {
checkNotNull(gateway, JSON_NOT_NULL);
if (!gateway.hasNonNull("network_id")) {
throw new IllegalArgumentException("network_id should not be null");
} else if (gateway.get("network_id").asText().isEmpty()) {
throw new IllegalArgumentException("network_id should not be empty");
}
TenantNetworkId networkId = TenantNetworkId
.networkId(gateway.get("network_id").asText());
if (!gateway.hasNonNull("enable_snat")) {
throw new IllegalArgumentException("enable_snat should not be null");
} else if (gateway.get("enable_snat").asText().isEmpty()) {
throw new IllegalArgumentException("enable_snat should not be empty");
}
checkArgument(gateway.get("enable_snat").isBoolean(),
"enable_snat should be boolean");
boolean enableSnat = gateway.get("enable_snat").asBoolean();
if (!gateway.hasNonNull("external_fixed_ips")) {
throw new IllegalArgumentException("external_fixed_ips should not be null");
} else if (gateway.get("external_fixed_ips").isNull()) {
throw new IllegalArgumentException("external_fixed_ips should not be empty");
}
Iterable<FixedIp> fixedIpList = jsonNodeToFixedIp(gateway
.get("external_fixed_ips"));
RouterGateway gatewayObj = RouterGateway
.routerGateway(networkId, enableSnat, Sets.newHashSet(fixedIpList));
return gatewayObj;
}
示例6: jsonNodeToFixedIp
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Changes JsonNode fixedIp to a collection of the fixedIp.
*
* @param fixedIp the allocationPools JsonNode
* @return a collection of fixedIp
*/
private Iterable<FixedIp> jsonNodeToFixedIp(JsonNode fixedIp) {
checkNotNull(fixedIp, JSON_NOT_NULL);
ConcurrentMap<Integer, FixedIp> fixedIpMaps = Maps.newConcurrentMap();
Integer i = 0;
for (JsonNode node : fixedIp) {
if (!node.hasNonNull("subnet_id")) {
throw new IllegalArgumentException("subnet_id should not be null");
} else if (node.get("subnet_id").asText().isEmpty()) {
throw new IllegalArgumentException("subnet_id should not be empty");
}
SubnetId subnetId = SubnetId
.subnetId(node.get("subnet_id").asText());
if (!node.hasNonNull("ip_address")) {
throw new IllegalArgumentException("ip_address should not be null");
} else if (node.get("ip_address").asText().isEmpty()) {
throw new IllegalArgumentException("ip_address should not be empty");
}
IpAddress ipAddress = IpAddress
.valueOf(node.get("ip_address").asText());
FixedIp fixedIpObj = FixedIp.fixedIp(subnetId, ipAddress);
fixedIpMaps.putIfAbsent(i, fixedIpObj);
i++;
}
return Collections.unmodifiableCollection(fixedIpMaps.values());
}
示例7: deserialize
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public SimpleReport deserialize(JsonParser parser, DeserializationContext ctx) throws IOException {
JsonNode node = parser.getCodec().readTree(parser);
SimpleReport report = new SimpleReport();
if (node.hasNonNull(SimpleReport.KEY_CONFIG_APP)) {
final AppConfiguration config =
ctx.readValue(node.get(SimpleReport.KEY_CONFIG_APP).traverse(parser.getCodec()), AppConfiguration.class);
report.put(SimpleReport.KEY_CONFIG_APP, config);
}
if (node.hasNonNull(SimpleReport.KEY_CONFIG_CONTROLLER)) {
final Controller controller =
ctx.readValue(node.get(SimpleReport.KEY_CONFIG_CONTROLLER)
.traverse(parser.getCodec()), Controller.class);
report.put(SimpleReport.KEY_CONFIG_CONTROLLER, controller);
}
if (node.hasNonNull(SimpleReport.KEY_ATTACKS)) {
List<HttpFloodAttack> httpAttacks = new ArrayList<>();
Iterator<JsonNode> iter = node.get(SimpleReport.KEY_ATTACKS).elements();
while (iter.hasNext()) {
JsonNode n = iter.next();
HttpFloodAttack attack = ctx.readValue(n.traverse(parser.getCodec()), HttpFloodAttack.class);
httpAttacks.add(attack);
}
report.put(SimpleReport.KEY_ATTACKS, httpAttacks);
}
node.fields().forEachRemaining(f -> {
if (!f.getKey().equals(SimpleReport.KEY_CONFIG_APP) &&
!f.getKey().equals(SimpleReport.KEY_CONFIG_CONTROLLER) &&
!f.getKey().equals(SimpleReport.KEY_ATTACKS)) {
report.put(f.getKey(), f.getValue().asText());
}
});
return report;
}
示例8: loadConfiguration
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public Config loadConfiguration(final Mode mode, final Config localConfig) throws IOException {
final StringBuilder stringBuilder = new StringBuilder(1024);
final String consulAccessToken = localConfig.getString("remote-configuration.consul.authToken");
String consulEndpoint = localConfig.getString("remote-configuration.consul.endpoint");
String consulPrefix = localConfig.getString("remote-configuration.consul.prefix").trim();
if (consulEndpoint != null && consulEndpoint.startsWith("http")) {
if (!consulEndpoint.endsWith("/")) {
consulEndpoint += "/";
}
if (consulPrefix.endsWith("/")) {
consulPrefix = consulPrefix.substring(0, consulPrefix.length() - 1);
}
if (consulPrefix.startsWith("/")) {
consulPrefix = consulPrefix.substring(1, consulPrefix.length());
}
InputStream is = null;
try {
final URL consulUrl = new URL(
String.format(
"%sv1/kv/%s/?recurse&token=%s",
consulEndpoint,
consulPrefix,
consulAccessToken
)
);
Logger.debug("Provider {}> {}", this.getName(), consulUrl.toString());
final HttpURLConnection conn = (HttpURLConnection) consulUrl.openConnection();
conn.setConnectTimeout(1500);
if (conn.getResponseCode() / 100 == 2) {
is = conn.getInputStream();
final ObjectMapper mapper = new ObjectMapper();
final JsonNode jsonDocument = mapper.readTree(is);
final Base64.Decoder decoder = Base64.getDecoder();
for (final JsonNode entry : jsonDocument) {
if (entry.hasNonNull("Value")) {
stringBuilder.append(
entry.get("Key")
.asText()
.replace(consulPrefix.isEmpty() ? "" : consulPrefix + "/", "")
.replace("/", ".")
);
stringBuilder.append(" = ");
stringBuilder.append(
new String(
decoder.decode(
entry.get("Value").asText()
)
)
);
stringBuilder.append('\n');
}
}
} else {
Logger.warn("Provider {} return non 200 status: {}", this.getName(), conn.getResponseCode());
}
} finally {
if (is != null) {
try {
is.close();
} catch (final IOException ignore) {
}
}
}
} else {
throw new RuntimeException("Bad configuration");
}
return ConfigFactory.parseString(stringBuilder.toString());
}
示例9: changeJsonToSubs
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Returns a collection of subnets from subnetNodes.
*
* @param subnetNodes the subnet json node
* @return subnets a collection of subnets
*/
public Iterable<Subnet> changeJsonToSubs(JsonNode subnetNodes) {
checkNotNull(subnetNodes, JSON_NOT_NULL);
Map<SubnetId, Subnet> subMap = new HashMap<>();
for (JsonNode subnetNode : subnetNodes) {
if (!subnetNode.hasNonNull("id")) {
return null;
}
SubnetId id = SubnetId.subnetId(subnetNode.get("id").asText());
String subnetName = subnetNode.get("name").asText();
TenantId tenantId = TenantId
.tenantId(subnetNode.get("tenant_id").asText());
TenantNetworkId networkId = TenantNetworkId
.networkId(subnetNode.get("network_id").asText());
String version = subnetNode.get("ip_version").asText();
Version ipVersion;
switch (version) {
case "4":
ipVersion = Version.INET;
break;
case "6":
ipVersion = Version.INET;
break;
default:
throw new IllegalArgumentException("ipVersion should be 4 or 6.");
}
IpPrefix cidr = IpPrefix.valueOf(subnetNode.get("cidr").asText());
IpAddress gatewayIp = IpAddress
.valueOf(subnetNode.get("gateway_ip").asText());
Boolean dhcpEnabled = subnetNode.get("enable_dhcp").asBoolean();
Boolean shared = subnetNode.get("shared").asBoolean();
JsonNode hostRoutes = subnetNode.get("host_routes");
Iterable<HostRoute> hostRoutesIt = jsonNodeToHostRoutes(hostRoutes);
JsonNode allocationPools = subnetNode.get("allocation_pools");
Iterable<AllocationPool> allocationPoolsIt = jsonNodeToAllocationPools(allocationPools);
Mode ipV6AddressMode = Mode
.valueOf(subnetNode.get("ipv6_address_mode").asText());
Mode ipV6RaMode = Mode
.valueOf(subnetNode.get("ipv6_ra_mode").asText());
Subnet subnet = new DefaultSubnet(id, subnetName, networkId,
tenantId, ipVersion, cidr,
gatewayIp, dhcpEnabled, shared,
Sets.newHashSet(hostRoutesIt), ipV6AddressMode,
ipV6RaMode, Sets.newHashSet(allocationPoolsIt));
subMap.put(id, subnet);
}
return Collections.unmodifiableCollection(subMap.values());
}
示例10: changeJsonToSub
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Returns a collection of subnets from subnetNodes.
*
* @param subnetNodes the subnet json node
* @return subnets a collection of subnets
*/
public Iterable<Subnet> changeJsonToSub(JsonNode subnetNodes) {
checkNotNull(subnetNodes, JSON_NOT_NULL);
checkArgument(subnetNodes.get("enable_dhcp").isBoolean(), "enable_dhcp should be boolean");
checkArgument(subnetNodes.get("shared").isBoolean(), "shared should be boolean");
Map<SubnetId, Subnet> subMap = new HashMap<>();
if (!subnetNodes.hasNonNull("id")) {
return null;
}
SubnetId id = SubnetId.subnetId(subnetNodes.get("id").asText());
String subnetName = subnetNodes.get("name").asText();
TenantId tenantId = TenantId
.tenantId(subnetNodes.get("tenant_id").asText());
TenantNetworkId networkId = TenantNetworkId
.networkId(subnetNodes.get("network_id").asText());
String version = subnetNodes.get("ip_version").asText();
Version ipVersion;
switch (version) {
case "4":
ipVersion = Version.INET;
break;
case "6":
ipVersion = Version.INET;
break;
default:
throw new IllegalArgumentException("ipVersion should be 4 or 6.");
}
IpPrefix cidr = IpPrefix.valueOf(subnetNodes.get("cidr").asText());
IpAddress gatewayIp = IpAddress
.valueOf(subnetNodes.get("gateway_ip").asText());
Boolean dhcpEnabled = subnetNodes.get("enable_dhcp").asBoolean();
Boolean shared = subnetNodes.get("shared").asBoolean();
JsonNode hostRoutes = subnetNodes.get("host_routes");
Iterable<HostRoute> hostRoutesIt = jsonNodeToHostRoutes(hostRoutes);
JsonNode allocationPools = subnetNodes.get("allocation_pools");
Iterable<AllocationPool> allocationPoolsIt = jsonNodeToAllocationPools(allocationPools);
Mode ipV6AddressMode = getMode(subnetNodes.get("ipv6_address_mode")
.asText());
Mode ipV6RaMode = getMode(subnetNodes.get("ipv6_ra_mode").asText());
Subnet subnet = new DefaultSubnet(id, subnetName, networkId, tenantId,
ipVersion, cidr, gatewayIp,
dhcpEnabled, shared, Sets.newHashSet(hostRoutesIt),
ipV6AddressMode, ipV6RaMode,
Sets.newHashSet(allocationPoolsIt));
subMap.put(id, subnet);
return Collections.unmodifiableCollection(subMap.values());
}
示例11: addRouterInterface
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@PUT
@Path("{routerUUID}/add_router_interface")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response addRouterInterface(@PathParam("routerUUID") String id,
final InputStream input) {
if (!get(RouterService.class).exists(RouterId.valueOf(id))) {
return Response.status(NOT_FOUND).entity(NOT_EXIST).build();
}
try {
ObjectMapper mapper = new ObjectMapper();
JsonNode subnode = mapper.readTree(input);
if (!subnode.hasNonNull("id")) {
throw new IllegalArgumentException("id should not be null");
} else if (subnode.get("id").asText().isEmpty()) {
throw new IllegalArgumentException("id should not be empty");
}
RouterId routerId = RouterId.valueOf(id);
if (!subnode.hasNonNull("subnet_id")) {
throw new IllegalArgumentException("subnet_id should not be null");
} else if (subnode.get("subnet_id").asText().isEmpty()) {
throw new IllegalArgumentException("subnet_id should not be empty");
}
SubnetId subnetId = SubnetId
.subnetId(subnode.get("subnet_id").asText());
if (!subnode.hasNonNull("tenant_id")) {
throw new IllegalArgumentException("tenant_id should not be null");
} else if (subnode.get("tenant_id").asText().isEmpty()) {
throw new IllegalArgumentException("tenant_id should not be empty");
}
TenantId tenentId = TenantId
.tenantId(subnode.get("tenant_id").asText());
if (!subnode.hasNonNull("port_id")) {
throw new IllegalArgumentException("port_id should not be null");
} else if (subnode.get("port_id").asText().isEmpty()) {
throw new IllegalArgumentException("port_id should not be empty");
}
VirtualPortId portId = VirtualPortId
.portId(subnode.get("port_id").asText());
RouterInterface routerInterface = RouterInterface
.routerInterface(subnetId, portId, routerId, tenentId);
get(RouterInterfaceService.class)
.addRouterInterface(routerInterface);
return ok(INTFACR_ADD_SUCCESS).build();
} catch (Exception e) {
return Response.status(BAD_REQUEST).entity(e.getMessage()).build();
}
}
示例12: removeRouterInterface
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@PUT
@Path("{routerUUID}/remove_router_interface")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response removeRouterInterface(@PathParam("routerUUID") String id,
final InputStream input) {
if (!get(RouterService.class).exists(RouterId.valueOf(id))) {
return Response.status(NOT_FOUND).entity(NOT_EXIST).build();
}
try {
ObjectMapper mapper = new ObjectMapper();
JsonNode subnode = mapper.readTree(input);
if (!subnode.hasNonNull("id")) {
throw new IllegalArgumentException("id should not be null");
} else if (subnode.get("id").asText().isEmpty()) {
throw new IllegalArgumentException("id should not be empty");
}
RouterId routerId = RouterId.valueOf(id);
if (!subnode.hasNonNull("subnet_id")) {
throw new IllegalArgumentException("subnet_id should not be null");
} else if (subnode.get("subnet_id").asText().isEmpty()) {
throw new IllegalArgumentException("subnet_id should not be empty");
}
SubnetId subnetId = SubnetId
.subnetId(subnode.get("subnet_id").asText());
if (!subnode.hasNonNull("port_id")) {
throw new IllegalArgumentException("port_id should not be null");
} else if (subnode.get("port_id").asText().isEmpty()) {
throw new IllegalArgumentException("port_id should not be empty");
}
VirtualPortId portId = VirtualPortId
.portId(subnode.get("port_id").asText());
if (!subnode.hasNonNull("tenant_id")) {
throw new IllegalArgumentException("tenant_id should not be null");
} else if (subnode.get("tenant_id").asText().isEmpty()) {
throw new IllegalArgumentException("tenant_id should not be empty");
}
TenantId tenentId = TenantId
.tenantId(subnode.get("tenant_id").asText());
RouterInterface routerInterface = RouterInterface
.routerInterface(subnetId, portId, routerId, tenentId);
get(RouterInterfaceService.class)
.removeRouterInterface(routerInterface);
return ok(INTFACR_DEL_SUCCESS).build();
} catch (Exception e) {
return Response.status(BAD_REQUEST).entity(e.getMessage()).build();
}
}
示例13: changeJsonToSub
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Returns a collection of floatingIps from floatingIpNodes.
*
* @param routerNode the router json node
* @return routers a collection of router
* @throws Exception when any argument is illegal
*/
public Collection<Router> changeJsonToSub(JsonNode routerNode)
throws Exception {
checkNotNull(routerNode, JSON_NOT_NULL);
Map<RouterId, Router> subMap = new HashMap<RouterId, Router>();
if (!routerNode.hasNonNull("id")) {
new IllegalArgumentException("id should not be null");
} else if (routerNode.get("id").asText().isEmpty()) {
throw new IllegalArgumentException("id should not be empty");
}
RouterId id = RouterId.valueOf(routerNode.get("id").asText());
if (!routerNode.hasNonNull("tenant_id")) {
throw new IllegalArgumentException("tenant_id should not be null");
} else if (routerNode.get("tenant_id").asText().isEmpty()) {
throw new IllegalArgumentException("tenant_id should not be empty");
}
TenantId tenantId = TenantId
.tenantId(routerNode.get("tenant_id").asText());
VirtualPortId gwPortId = null;
if (routerNode.hasNonNull("gw_port_id")) {
gwPortId = VirtualPortId
.portId(routerNode.get("gw_port_id").asText());
}
if (!routerNode.hasNonNull("status")) {
throw new IllegalArgumentException("status should not be null");
} else if (routerNode.get("status").asText().isEmpty()) {
throw new IllegalArgumentException("status should not be empty");
}
Status status = Status.valueOf(routerNode.get("status").asText());
String routerName = null;
if (routerNode.hasNonNull("name")) {
routerName = routerNode.get("name").asText();
}
boolean adminStateUp = true;
checkArgument(routerNode.get("admin_state_up").isBoolean(),
"admin_state_up should be boolean");
if (routerNode.hasNonNull("admin_state_up")) {
adminStateUp = routerNode.get("admin_state_up").asBoolean();
}
boolean distributed = false;
if (routerNode.hasNonNull("distributed")) {
distributed = routerNode.get("distributed").asBoolean();
}
RouterGateway gateway = null;
if (routerNode.hasNonNull("external_gateway_info")) {
gateway = jsonNodeToGateway(routerNode
.get("external_gateway_info"));
}
List<String> routes = new ArrayList<String>();
DefaultRouter routerObj = new DefaultRouter(id, routerName,
adminStateUp, status,
distributed, gateway,
gwPortId, tenantId, routes);
subMap.put(id, routerObj);
return Collections.unmodifiableCollection(subMap.values());
}
示例14: changeUpdateJsonToSub
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
/**
* Returns a collection of floatingIps from floatingIpNodes.
*
* @param subnode the router json node
* @param routerId the router identify
* @return routers a collection of router
* @throws Exception when any argument is illegal
*/
public Collection<Router> changeUpdateJsonToSub(JsonNode subnode,
String routerId)
throws Exception {
checkNotNull(subnode, JSON_NOT_NULL);
checkNotNull(routerId, "routerId should not be null");
Map<RouterId, Router> subMap = new HashMap<RouterId, Router>();
JsonNode routerNode = subnode.get("router");
RouterId id = RouterId.valueOf(routerId);
Router sub = nullIsNotFound(get(RouterService.class).getRouter(id),
NOT_EXIST);
TenantId tenantId = sub.tenantId();
VirtualPortId gwPortId = null;
if (routerNode.hasNonNull("gw_port_id")) {
gwPortId = VirtualPortId
.portId(routerNode.get("gw_port_id").asText());
}
Status status = sub.status();
String routerName = routerNode.get("name").asText();
checkArgument(routerNode.get("admin_state_up").isBoolean(),
"admin_state_up should be boolean");
boolean adminStateUp = routerNode.get("admin_state_up").asBoolean();
boolean distributed = sub.distributed();
if (routerNode.hasNonNull("distributed")) {
distributed = routerNode.get("distributed").asBoolean();
}
RouterGateway gateway = sub.externalGatewayInfo();
if (routerNode.hasNonNull("external_gateway_info")) {
gateway = jsonNodeToGateway(routerNode
.get("external_gateway_info"));
}
List<String> routes = new ArrayList<String>();
DefaultRouter routerObj = new DefaultRouter(id, routerName,
adminStateUp, status,
distributed, gateway,
gwPortId, tenantId, routes);
subMap.put(id, routerObj);
return Collections.unmodifiableCollection(subMap.values());
}
示例15: deserialize
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类
@Override
public AppConfiguration deserialize(JsonParser parser, DeserializationContext ctx) throws IOException {
AppConfiguration config = new AppConfiguration();
JsonNode node = parser.getCodec().readTree(parser);
if (node.hasNonNull("cnfInfo")) {
final boolean cnfInfo = node.get("cnfInfo").asBoolean();
config.setCnfInfo(cnfInfo);
}
if (node.hasNonNull("tgtInfo")) {
final boolean tgtInfo = node.get("tgtInfo").asBoolean();
config.setTgtInfo(tgtInfo);
}
if (node.hasNonNull("sysInfo")) {
final boolean sysInfo = node.get("sysInfo").asBoolean();
config.setSysInfo(sysInfo);
}
if (node.hasNonNull("netInfo")) {
final boolean netInfo = node.get("netInfo").asBoolean();
config.setNetInfo(netInfo);
}
if (node.hasNonNull("polling")) {
final Interval polling = Interval.valueOf(node.get("polling").asText());
config.setPolling(polling);
}
if (node.hasNonNull("reconnections")) {
final Long reconnections = (node.get("reconnections").asLong() >= 0) ?
node.get("reconnections").asLong()
:
Long.MAX_VALUE;
config.setReconnections(reconnections);
}
if (node.hasNonNull("reconnectionWait")) {
final Interval reconnectionWait = Interval.valueOf(node.get("reconnectionWait").asText());
config.setReconnectionWait(reconnectionWait);
}
if (node.hasNonNull("proxy")) {
final HttpProxy proxy = HttpProxy.valueOf(node.get("proxy").asText());
config.setProxy(proxy);
}
if (node.hasNonNull("sleep")) {
final String sleep = node.get("sleep").asText();
config.setSleep(sleep);
}
if (node.hasNonNull("authentication")) {
Map<String,String> authentication = new HashMap<>();
node.get("authentication").fields().forEachRemaining(f -> authentication.put(f.getKey(), f.getValue().asText()));
config.setAuthentication(authentication);
}
if (node.hasNonNull("controllers")) {
List<Controller> controllers = new ArrayList<>();
Iterator<JsonNode> iter = node.get("controllers").elements();
while (iter.hasNext()) {
JsonNode n = iter.next();
Controller controller = ctx.readValue(n.traverse(parser.getCodec()), Controller.class);
controllers.add(controller);
}
config.setControllers(controllers);
}
return config;
}