Skip to content

Commit e328d7a

Browse files
committed
added default method isInstalled
1 parent 020b46c commit e328d7a

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/main/java/org/scm4j/deployer/api/IProduct.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package org.scm4j.deployer.api;
22

3+
import lombok.SneakyThrows;
4+
5+
import java.io.BufferedReader;
6+
import java.io.InputStreamReader;
37
import java.util.Collections;
48
import java.util.List;
59

@@ -8,4 +12,17 @@ public interface IProduct {
812
default List<String> getDependentProducts() {
913
return Collections.emptyList();
1014
}
15+
@SneakyThrows
16+
default boolean isInstalled(String productServiceName) {
17+
Process p = Runtime.getRuntime().exec("sc queryex type=service");
18+
BufferedReader reader = new BufferedReader(new InputStreamReader(
19+
p.getInputStream()));
20+
String line;
21+
while ((line = reader.readLine()) != null) {
22+
if (line.contains(productServiceName)) {
23+
return true;
24+
}
25+
}
26+
return false;
27+
}
1128
}

0 commit comments

Comments
 (0)