import org.json.simple.JsonObject; //导入方法依赖的package包/类

public DockerContainerDetail getDetail(DockerContainer container) throws DockerException {

JSONObject value = (JSONObject) doGetRequest("/containers/" + container.getId() + "/json",

Collections.singleton(HttpURLConnection.HTTP_OK));

String name = (String) value.get("Name");

DockerContainer.Status status = DockerContainer.Status.STOPPED;

JSONObject state = (JSONObject) value.get("State");

if (state != null) {

boolean paused = (Boolean) getOrDefault(state, "Paused", false);

if (paused) {

status = DockerContainer.Status.PAUSED;

} else {

boolean running = (Boolean) getOrDefault(state, "Running", false);

if (running) {

status = DockerContainer.Status.RUNNING;

}

}

}

boolean tty = false;

boolean stdin = false;

JSONObject config = (JSONObject) value.get("Config");

if (config != null) {

tty = (boolean) getOrDefault(config, "Tty", false);

stdin = (boolean) getOrDefault(config, "OpenStdin", false);

}

JSONObject ports = (JSONObject) ((JSONObject) value.get("NetworkSettings")).get("Ports");

if (ports == null || ports.isEmpty()) {

return new DockerContainerDetail(name, status, stdin, tty);

} else {

List portMapping = new ArrayList<>();

for (String containerPortData : (Set) ports.keySet()) {

JSONArray hostPortsArray = (JSONArray) ports.get(containerPortData);

if (hostPortsArray != null && !hostPortsArray.isEmpty()) {

Matcher m = PORT_PATTERN.matcher(containerPortData);

if (m.matches()) {

int containerPort = Integer.parseInt(m.group(1));

String type = m.group(2).toUpperCase(Locale.ENGLISH);

int hostPort = Integer.parseInt((String) ((JSONObject) hostPortsArray.get(0)).get("HostPort"));

String hostIp = (String) ((JSONObject) hostPortsArray.get(0)).get("HostIp");

portMapping.add(new PortMapping(ExposedPort.Type.valueOf(type), containerPort, hostPort, hostIp));

} else {

LOGGER.log(Level.FINE, "Unparsable port: {0}", containerPortData);

}

}

}

return new DockerContainerDetail(name, status, stdin, tty, portMapping);

}

}

java object isempty,Java JsonObject.isEmpty方法代码示例相关推荐

  1. java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例

    本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...

  2. jsonobject中getkey_Java JsonObject.get方法代码示例

    本文整理汇总了Java中org.json.simple.JsonObject.get方法的典型用法代码示例.如果您正苦于以下问题:Java JsonObject.get方法的具体用法?Java Jso ...

  3. java putall实现,Java JsonObject.putAll方法代码示例

    import org.json.simple.JsonObject; //导入方法依赖的package包/类 static JSONObject unconfirmedTransaction(Tran ...

  4. java json keyset_Java JsonObject.keySet方法代码示例

    import javax.json.JsonObject; //导入方法依赖的package包/类 private JsonObject getRatings(Cookie user, String ...

  5. java实现bloom filter_Java BloomFilter.add方法代码示例

    import org.apache.hadoop.util.bloom.BloomFilter; //导入方法依赖的package包/类 @Override public int run(String ...

  6. java polygon 用法_Java Polygon.getBounds方法代码示例

    import java.awt.Polygon; //导入方法依赖的package包/类 private SelectionShape translatePointsToRealSize(Select ...

  7. java currency 默认_Java Currency.equals方法代码示例

    import nl.strohalm.cyclos.entities.accounts.Currency; //导入方法依赖的package包/类 @Override public Validatio ...

  8. java namevaluepair包_Java NameValuePair.setName方法代码示例

    import org.apache.commons.httpclient.NameValuePair; //导入方法依赖的package包/类 /** * 获取新浪登录认证token和用户id * * ...

  9. java settext用法_Java JFormattedTextField.setText方法代码示例

    import javax.swing.JFormattedTextField; //导入方法依赖的package包/类 /** * Creates a {@link JFormattedTextFie ...

  10. java makedir用法_Java Files.makeDir方法代码示例

    import org.nutz.lang.Files; //导入方法依赖的package包/类 protected void download(String openid, String media_ ...

最新文章

  1. OpenGL超级宝典笔记——累积缓冲区与其他颜色操作
  2. 批量修改历史commit的用户名user.name邮箱user.email
  3. 制作放两个小图片的按钮 - 回复 xhui 的问题
  4. cx_oracle写日志信息_看日志痛苦——可能是你方法不对
  5. 全国首个人工智能专业,怎么学?
  6. 边城高级中学2021届高考成绩查询,边城高级中学举行2021届高三学生成人礼暨高考誓师大会...
  7. linux 添加接口永久,在Linux中,配置虚拟网络接口
  8. 由系统调用想起的。。。
  9. 点石成金-3-超市大亨
  10. 大数据之-Hadoop完全分布式_SCP案例_同时在1000台服务器上安装JDK_配置环境变量---大数据之hadoop工作笔记0031
  11. php算法求出一个数可以被分解成多少个_最全的小学干货:34个数学重难点公式(三)...
  12. html怎么限制密码字母个数字,怎样限制密码长度,并且只能为字母数字及下划线组成?...
  13. 【Hive】性能调优 - EXPLAIN
  14. 玩转树莓派——支持XBOX手柄
  15. Algorithm:数学建模大赛(CUMCM/NPMCM)之CUMCM之2006B之2006之B题《艾滋病疗法的评价及疗效的预测》
  16. python如何写简历_python简历—你可以这么写!
  17. html二级网页命名规范,(网页)设计命名规范
  18. lyle的第一篇博客
  19. EChat(简易聊天项目)五、存储聊天记录中的图片
  20. netfilter_queue

热门文章

  1. 一家医院的营销策划规划
  2. 计算机应用基础课程有必要学吗,计算机应用基础课程教学心得.doc
  3. RFID技术助力卫浴模具管理
  4. 二叉搜索树(BinarySearchTree)
  5. mysql的union和union all
  6. 计算机毕业设计ssm礼服定制租赁管理系统6crhq系统+程序+源码+lw+远程部署
  7. KaliLinux钓鱼Wifi搭建
  8. 干货 | 携程机票 Android Jetpack 与 Kotlin Coroutines 实践
  9. java分布式项目,看这一篇就够了!
  10. 管理者如何给员工沟通绩效