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

devonfw / IDEasy / 19640872951

24 Nov 2025 04:05PM UTC coverage: 69.207% (+0.2%) from 69.024%
19640872951

Pull #1593

github

web-flow
Merge 3fd20122a into 0e1be7b6c
Pull Request #1593: #1144: #1145: CVE warnings and suggestions

3620 of 5723 branches covered (63.25%)

Branch coverage included in aggregate %.

9393 of 13080 relevant lines covered (71.81%)

3.15 hits per line

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

10.0
cli/src/main/java/com/devonfw/tools/ide/tool/pgadmin/PgAdmin.java
1
package com.devonfw.tools.ide.tool.pgadmin;
2

3
import java.util.ArrayList;
4
import java.util.Arrays;
5
import java.util.List;
6
import java.util.Set;
7

8
import com.devonfw.tools.ide.common.Tag;
9
import com.devonfw.tools.ide.context.IdeContext;
10
import com.devonfw.tools.ide.tool.GlobalToolCommandlet;
11
import com.devonfw.tools.ide.tool.PackageManager;
12
import com.devonfw.tools.ide.tool.PackageManagerCommand;
13
import com.devonfw.tools.ide.tool.repository.ToolRepository;
14
import com.devonfw.tools.ide.version.VersionIdentifier;
15

16
/**
17
 * {@link GlobalToolCommandlet} for <a href="https://www.pgadmin.org/">pgadmin</a>
18
 */
19
public class PgAdmin extends GlobalToolCommandlet {
20

21
  /**
22
   * The constructor.
23
   *
24
   * @param context the {@link IdeContext}.
25
   */
26
  public PgAdmin(IdeContext context) {
27

28
    super(context, "pgadmin", Set.of(Tag.DB, Tag.ADMIN));
7✔
29
  }
1✔
30

31
  @Override
32
  protected List<PackageManagerCommand> getInstallPackageManagerCommands() {
33

34
    String edition = getConfiguredEdition();
×
35
    ToolRepository toolRepository = getToolRepository();
×
36
    VersionIdentifier configuredVersion = getConfiguredVersion();
×
37
    String resolvedVersion = toolRepository.resolveVersion(this.tool, edition, configuredVersion, this).toString();
×
38

39
    PackageManagerCommand packageManagerCommand = new PackageManagerCommand(PackageManager.APT, List.of(
×
40
        "curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | "
41
            + "sudo gpg --yes --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg",
42
        "sudo sh -c 'echo \"deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] "
43
            + "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main\" "
44
            + "> /etc/apt/sources.list.d/pgadmin4.list && apt update'", String.format(
×
45
            "sudo apt install -y --allow-downgrades pgadmin4=%1$s pgadmin4-server=%1$s pgadmin4-desktop=%1$s pgadmin4-web=%1$s",
46
            resolvedVersion)));
47
    return List.of(packageManagerCommand);
×
48
  }
49

50
  @Override
51
  public void uninstall() {
52

53
    if (this.context.getSystemInfo().isLinux()) {
×
54
      runWithPackageManager(false, getPackageManagerCommandsUninstall());
×
55
    } else {
56
      super.uninstall();
×
57
    }
58
  }
×
59

60
  private List<PackageManagerCommand> getPackageManagerCommandsUninstall() {
61

62
    List<PackageManagerCommand> pmCommands = new ArrayList<>();
×
63

64
    pmCommands.add(new PackageManagerCommand(PackageManager.APT,
×
65
        Arrays.asList("sudo apt -y autoremove pgadmin4 pgadmin4-server pgadmin4-desktop pgadmin4-web")));
×
66

67
    return pmCommands;
×
68
  }
69

70
  @Override
71
  protected String getBinaryName() {
72

73
    return "pgadmin4";
×
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