• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

devonfw / IDEasy / 10164154193

30 Jul 2024 02:20PM UTC coverage: 62.742% (+1.0%) from 61.738%
10164154193

push

github

web-flow
#437: and #458: Refactor JsonUrlUpdaters (#481)

2079 of 3645 branches covered (57.04%)

Branch coverage included in aggregate %.

5504 of 8441 relevant lines covered (65.21%)

2.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.67
cli/src/main/java/com/devonfw/tools/ide/tool/androidstudio/AndroidStudioUrlUpdater.java
1
package com.devonfw.tools.ide.tool.androidstudio;
2

3
import java.util.Collection;
4

5
import org.slf4j.Logger;
6
import org.slf4j.LoggerFactory;
7

8
import com.devonfw.tools.ide.url.model.folder.UrlVersion;
9
import com.devonfw.tools.ide.url.updater.JsonUrlUpdater;
10

11
/**
12
 * {@link JsonUrlUpdater} for Android Studio.
13
 */
14
public class AndroidStudioUrlUpdater extends JsonUrlUpdater<AndroidJsonObject, AndroidJsonItem> {
3✔
15

16
  /** The base URL for the version json file */
17
  private final static String VERSION_BASE_URL = "https://jb.gg";
18

19
  /** The name of the version json file */
20
  private final static String VERSION_FILENAME = "android-studio-releases-list.json";
21

22
  private static final Logger logger = LoggerFactory.getLogger(AndroidStudioUrlUpdater.class);
4✔
23

24
  /**
25
   * @return String of version base URL
26
   */
27
  protected String getVersionBaseUrl() {
28

29
    return VERSION_BASE_URL;
×
30
  }
31

32
  @Override
33
  protected String getTool() {
34

35
    return "android-studio";
2✔
36
  }
37

38
  @Override
39
  protected void addVersion(UrlVersion urlVersion, AndroidJsonItem jsonVersionItem) {
40

41
    for (AndroidJsonDownload download : jsonVersionItem.download()) {
11✔
42

43
      if (download.link().contains("windows.zip")) {
5✔
44
        doAddVersion(urlVersion, download.link(), WINDOWS, X64, download.checksum());
11✔
45
      } else if (download.link().contains("linux.tar.gz")) {
5✔
46
        doAddVersion(urlVersion, download.link(), LINUX, X64, download.checksum());
11✔
47
      } else if (download.link().contains("mac.zip")) {
5✔
48
        doAddVersion(urlVersion, download.link(), MAC, X64, download.checksum());
11✔
49
      } else if (download.link().contains("mac_arm.zip")) {
5✔
50
        doAddVersion(urlVersion, download.link(), MAC, ARM64, download.checksum());
11✔
51
      } else {
52
        logger.info("Unknown architecture for tool {} version {} and download {}.", getToolWithEdition(),
13✔
53
            jsonVersionItem.version(), download.link());
7✔
54
      }
55
    }
1✔
56
  }
1✔
57

58
  @Override
59
  protected String doGetVersionUrl() {
60

61
    return getVersionBaseUrl() + "/" + VERSION_FILENAME;
4✔
62
  }
63

64
  @Override
65
  protected Class<AndroidJsonObject> getJsonObjectType() {
66

67
    return AndroidJsonObject.class;
2✔
68
  }
69

70
  @Override
71
  protected Collection<AndroidJsonItem> getVersionItems(AndroidJsonObject jsonObject) {
72

73
    return jsonObject.content().item();
4✔
74
  }
75
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc